Changes from Salvatore: Easier settings for tender and lego train.
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 3 Jan 2013 09:33:35 +0000 (09:33 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 3 Jan 2013 09:33:35 +0000 (09:33 +0000)
PWG/EMCAL/AliAnalysisTaskEmcal.cxx
PWG/EMCAL/AliEmcalTenderTask.cxx
PWG/EMCAL/AliEmcalTenderTask.h
PWG/EMCAL/macros/AddTaskEMCALTender.C
PWG/EMCAL/macros/ConfigEmcalTenderSupply.C

index 82f7b5d..5aba8ea 100644 (file)
@@ -66,7 +66,9 @@ AliAnalysisTaskEmcal::AliAnalysisTaskEmcal() :
   fEPV0C(-1.0),
   fNVertCont(0),
   fBeamType(kNA),
-  fOutput(0)
+  fOutput(0),
+  fHistCentrality(0),
+  fHistZVertex(0)
 {
   // Default constructor.
 
@@ -114,7 +116,9 @@ AliAnalysisTaskEmcal::AliAnalysisTaskEmcal(const char *name, Bool_t histo) :
   fEPV0C(-1.0),
   fNVertCont(0),
   fBeamType(kNA),
-  fOutput(0)
+  fOutput(0),
+  fHistCentrality(0),
+  fHistZVertex(0)
 {
   // Standard constructor.
 
index dc11368..7599cde 100644 (file)
@@ -49,6 +49,14 @@ void AliEmcalTenderTask::SetEMCALTenderSupply(AliEMCALTenderSupply *supply)
   fEMCALTender = supply;
   supply->SetTask(this);
 }
+
+//______________________________________________________________________________
+AliEMCALTenderSupply* AliEmcalTenderTask::GetEMCALTenderSupply() const
+{
+  // Get tender supply.
+
+  return fEMCALTender;
+}
    
 //______________________________________________________________________________
 void AliEmcalTenderTask::ConnectInputData(Option_t *option)
index 90f2949..3abeb15 100644 (file)
@@ -23,12 +23,13 @@ public:
   AliEmcalTenderTask(const char *name);
   virtual ~AliEmcalTenderTask();
 
-  void                      SetEMCALTenderSupply(AliEMCALTenderSupply *supply);
+  void                      SetEMCALTenderSupply(AliEMCALTenderSupply *supply)       ;
+  AliEMCALTenderSupply*     GetEMCALTenderSupply()                              const;
 
   virtual void              ConnectInputData(Option_t *option);
   virtual void              UserCreateOutputObjects();
   virtual void              UserExec(Option_t*);
     
-  ClassDef(AliEmcalTenderTask,1) // Wrapper class to hold tender supply for AOD usage
+  ClassDef(AliEmcalTenderTask,2) // Wrapper class to hold tender supply for AOD usage
 };
 #endif
index 2f1ddaa..6879bfb 100644 (file)
@@ -1,6 +1,19 @@
 // $Id$
 
-AliAnalysisTaskSE *AddTaskEMCALTender(const char *p = "lhc11h")
+AliAnalysisTaskSE *AddTaskEMCALTender(
+  const char*  p       = "lhc11h",
+  Bool_t timeCut       = kFALSE,
+  Bool_t distBC        = kTRUE, 
+  Bool_t recalibClus   = kTRUE, 
+  Bool_t recalibClusPos = kTRUE, 
+  Bool_t nonLinearCorr = kTRUE, 
+  Bool_t remExotic     = kTRUE,
+  Bool_t fidRegion     = kFALSE,
+  Bool_t calibEnergy   = kTRUE,
+  Bool_t calibTime     = kTRUE,
+  Bool_t remBC         = kTRUE,
+  Bool_t reclusterize  = kFALSE,
+  UInt_t clusterizer   = AliEMCALRecParam::kClusterizerNxN)
 {
   // Get the pointer to the existing analysis manager via the static access method.
   //==============================================================================
@@ -16,7 +29,6 @@ AliAnalysisTaskSE *AddTaskEMCALTender(const char *p = "lhc11h")
   //===========================================================================
 
   AliAnalysisTaskSE *ana = 0;
-  AliEMCALTenderSupply *EMCALSupply = 0;
   AliAnalysisDataContainer *coutput1 = 0;
 
   UInt_t nonLinFunct = AliEMCALRecoUtils::kBeamTestCorrected;
@@ -30,9 +42,10 @@ AliAnalysisTaskSE *AddTaskEMCALTender(const char *p = "lhc11h")
 
   gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/ConfigEmcalTenderSupply.C");
 
-  if (evhand->InheritsFrom("AliESDInputHandler")) {
-    EMCALSupply = ConfigEmcalTenderSupply(kTRUE, kTRUE, kTRUE, kTRUE, kTRUE, kTRUE, kFALSE, kTRUE, kTRUE, kTRUE, nonLinFunct);
+  AliEMCALTenderSupply *EMCALSupply = ConfigEmcalTenderSupply(timeCut, distBC, recalibClus, recalibClusPos, nonLinearCorr, remExotic, 
+                                                             fidRegion, calibEnergy, calibTime, remBC, nonLinFunct, reclusterize, clusterizer);
 
+  if (evhand->InheritsFrom("AliESDInputHandler")) {
     AliTender* alitender = new  AliTender("AliTender");
     alitender->AddSupply(EMCALSupply);
     alitender->SetDefaultCDBStorage("raw://"); 
@@ -44,8 +57,6 @@ AliAnalysisTaskSE *AddTaskEMCALTender(const char *p = "lhc11h")
                                    "default_tender");
   }
   else if (evhand->InheritsFrom("AliAODInputHandler")) {
-    EMCALSupply = ConfigEmcalTenderSupply(kFALSE, kTRUE, kTRUE, kTRUE, kTRUE, kTRUE, kFALSE, kTRUE, kTRUE, kTRUE, nonLinFunct);
-
     AliEmcalTenderTask* emcaltender = new  AliEmcalTenderTask("AliEmcalTenderTask");
     emcaltender->SetEMCALTenderSupply(EMCALSupply);
     ana = emcaltender;
index 65b22df..4fbb416 100644 (file)
@@ -1,7 +1,7 @@
 // $Id$
 
 AliEMCALTenderSupply* ConfigEmcalTenderSupply(
-  Bool_t timeCut       = kTRUE,
+  Bool_t timeCut       = kFALSE,
   Bool_t distBC        = kTRUE, 
   Bool_t recalibClus   = kTRUE, 
   Bool_t recalcClusPos = kTRUE, 
@@ -11,22 +11,37 @@ AliEMCALTenderSupply* ConfigEmcalTenderSupply(
   Bool_t calibEnergy   = kTRUE,
   Bool_t calibTime     = kTRUE,
   Bool_t remBC         = kTRUE,
-  UInt_t nonLinFunct   = AliEMCALRecoUtils::kBeamTestCorrected)
+  UInt_t nonLinFunct   = AliEMCALRecoUtils::kBeamTestCorrected,
+  Bool_t reclusterize  = kFALSE,
+  UInt_t clusterizer   = AliEMCALRecParam::kClusterizerNxN)
 {
   AliEMCALTenderSupply *EMCALSupply = new AliEMCALTenderSupply("EMCALtender");  
   EMCALSupply->SetDebugLevel(2);
 
   AliEMCALRecParam *params = new AliEMCALRecParam();
   params->SetClusteringThreshold(0.1); // 100 MeV
-  params->SetMinECut(0.05);            //50 MeV  
+  params->SetMinECut(0.05);            // 50 MeV  
   params->SetW0(4.5);
-  if (timeCut) {
-    params->SetTimeCut(1e6); //Open this cut for AODs
-    params->SetTimeMin(-1);  //Open this cut for AODs
-    params->SetTimeMax(1e6); //Open this cut for AODs
+  if (reclusterize) {
+    params->SetClusterizerFlag(clusterizer);
+    if (clusterizer == AliEMCALRecParam::kClusterizerNxN)
+      params->SetNxM(3,3);
   }
+  //if (timeCut) {
+  // No time cut
+  params->SetTimeCut(1e6);
+  params->SetTimeMin(-1);
+  params->SetTimeMax(1e6);
+  //}
   EMCALSupply->SetRecParam(params);
 
+  if (reclusterize) {
+    EMCALSupply->SwitchOnReclustering();
+  }
+  else {
+    EMCALSupply->SwitchOffReclustering();
+  }
+
   if (remBC) {
     EMCALSupply->SwitchOnClusterBadChannelCheck();
     EMCALSupply->SwitchOnBadCellRemove();