]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
option to recalib only
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 10 Mar 2011 15:02:47 +0000 (15:02 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 10 Mar 2011 15:02:47 +0000 (15:02 +0000)
PWG4/CaloCalib/AliAnalysisTaskEMCALClusterizeFast.cxx
PWG4/CaloCalib/AliAnalysisTaskEMCALClusterizeFast.h

index e428cd2f4c6ededee58792bd820c936b628fd0ae..d30cd8193450f3d60e9f079b517ff54a709f07be 100644 (file)
@@ -64,7 +64,8 @@ AliAnalysisTaskEMCALClusterizeFast::AliAnalysisTaskEMCALClusterizeFast()
     fRecoUtils(0),
     fLoadCalib(0),
     fLoadPed(0),
-    fAttachClusters(0)
+    fAttachClusters(0),
+    fRecalibOnly(0)
 { 
   // Constructor
 }
@@ -90,7 +91,8 @@ AliAnalysisTaskEMCALClusterizeFast::AliAnalysisTaskEMCALClusterizeFast(const cha
     fRecoUtils(0),
     fLoadCalib(0),
     fLoadPed(0),
-    fAttachClusters(0)
+    fAttachClusters(0),
+    fRecalibOnly(0)
 { 
   // Constructor
 
@@ -151,18 +153,22 @@ void AliAnalysisTaskEMCALClusterizeFast::UserExec(Option_t *)
       FillDigitsArray(esdevent);
     else 
       FillDigitsArray(aodevent);
-    fClusterizer->Digits2Clusters("");
-    if (esdevent && fRecoUtils)
-      fRecoUtils->FindMatches(esdevent,fClusterArr);
+    if (fRecalibOnly==0) {
+      fClusterizer->Digits2Clusters("");
+      if (esdevent && fRecoUtils)
+        fRecoUtils->FindMatches(esdevent,fClusterArr);
+    }
     if (fOutputAODBranch) {
       RecPoints2AODClusters(fOutputAODBranch);
     }
     if (esdevent) {
       UpdateCells(esdevent);
-      UpdateClusters(esdevent);
+      if (fRecalibOnly==0)
+        UpdateClusters(esdevent);
     } else {
       UpdateCells(aodevent);
-      UpdateClusters(aodevent);
+      if (fRecalibOnly==0)
+        UpdateClusters(aodevent);
     }
   }
 }
@@ -285,6 +291,10 @@ void AliAnalysisTaskEMCALClusterizeFast::FillDigitsArray(AliAODEvent *event)
     digit->SetTimeR(cellTime);
     digit->SetIndexInList(idigit);
     digit->SetType(AliEMCALDigit::kHG);
+    if (fRecalibOnly) {
+      Double_t energy = fClusterizer->Calibrate(cellAmplitude,cellTime,cellNumber);
+      digit->SetCalibAmp(energy);
+    }
     idigit++;
   }
 }
@@ -311,6 +321,10 @@ void AliAnalysisTaskEMCALClusterizeFast::FillDigitsArray(AliESDEvent *event)
     digit->SetTimeR(cellTime);
     digit->SetIndexInList(idigit);
     digit->SetType(AliEMCALDigit::kHG);
+    if (fRecalibOnly) {
+      Double_t energy = fClusterizer->Calibrate(cellAmplitude,cellTime,cellNumber);
+      digit->SetCalibAmp(energy);
+    }
     idigit++;
   }
 }
index 1ed529efa7a92245bc28c9952ffd0f68abf5cd92..79faf49856b0473f7ee7fba5c3708e42344cbe29 100644 (file)
@@ -27,6 +27,7 @@ class AliAnalysisTaskEMCALClusterizeFast : public AliAnalysisTaskSE {
   virtual void           UserExec(Option_t *option);
 
   Bool_t                 GetAttachClusters()                  const  { return fAttachClusters       ; }
+  Bool_t                 GetRecalibrateOnly()                 const  { return fRecalibOnly          ; }
   const TObjArray       *GetClusters()                        const  { return fClusterArr           ; }
   const TString         &GeometryName()                       const  { return fGeomName             ; }  
   AliEMCALRecParam      *GetRecParam()                        const  { return fRecParam             ; }
@@ -45,6 +46,7 @@ class AliAnalysisTaskEMCALClusterizeFast : public AliAnalysisTaskSE {
   void                   SetLoadPed(Bool_t b)                        { fLoadPed             = b     ; }
   void                   SetOCDBPath(const char *path)               { fOCDBpath            = path  ; }
   void                   SetPedestalData(AliCaloCalibPedestal *d)    { fPedestalData        = d     ; }
+  void                   SetRecalibrateCellsOnly(Bool_t b)           { fRecalibOnly         = b     ; }
 
  private:
   AliAnalysisTaskEMCALClusterizeFast(const AliAnalysisTaskEMCALClusterizeFast&);            // not implemented
@@ -80,7 +82,8 @@ class AliAnalysisTaskEMCALClusterizeFast : public AliAnalysisTaskSE {
   Bool_t                 fLoadCalib;        // access calib object from OCDB (def=off)
   Bool_t                 fLoadPed;          // access ped object from OCDB (def=off)
   Bool_t                 fAttachClusters;   // attach clusters to input event (AOD or ESD)
+  Bool_t                 fRecalibOnly;      // only recalibrate cells if true (def=off)
 
-  ClassDef(AliAnalysisTaskEMCALClusterizeFast, 3);
+  ClassDef(AliAnalysisTaskEMCALClusterizeFast, 4);
 };
 #endif //ALIANALYSISTASKEMCALCLUSTERIZEFAST_H