]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/EMCAL/AliAnalysisTaskEmcal.h
Add rejection reason histograms
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliAnalysisTaskEmcal.h
index 6eb893c39bf36f362f7b54cf0848fca2d112dd5c..d3de1b4c25ccfb6f11a553873ed1563a0fe9cdbb 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef ALIANALYSISTASKEMCAL_H
 #define ALIANALYSISTASKEMCAL_H
 
-// $Id: AliAnalysisTaskEmcalDev.h 64518 2013-10-14 12:44:52Z loizides $
+// $Id: AliAnalysisTaskEmcal.h 64518 2013-10-14 12:44:52Z loizides $
 
 class TClonesArray;
 class TString;
@@ -39,7 +39,10 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   enum TriggerType {
     kND       = -1,  //not defined
     kJ1       = 0,
-    kJ2       = 1
+    kJ2       = 1,
+    kG1                  = 2,
+    kG2          = 3,
+    kNType    = 4
   };
 
   AliAnalysisTaskEmcal();
@@ -84,6 +87,9 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   void                        SetVzRange(Double_t min, Double_t max)                { fMinVz             = min  ; fMaxVz   = max          ; }
 
  protected:
+  void                        SetRejectionReasonLabels(TAxis* axis);
+  Double_t*                   GenerateFixedBinArray(Int_t n, Double_t min, Double_t max) const;
+  void                        GenerateFixedBinArray(Int_t n, Double_t min, Double_t max, Double_t* array) const;
   void                        SetMakeGeneralHistograms(Bool_t g)                    { fGeneralHistograms = g                              ; }
   Bool_t                      AcceptCluster(AliVCluster *clus, Int_t c = 0)      const;
   Bool_t                      AcceptTrack(AliVParticle *track, Int_t c = 0)      const;
@@ -97,7 +103,8 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   Int_t                       GetNParticles(Int_t i=0)                           const;
   Int_t                       GetNClusters(Int_t i=0)                            const;
   AliEmcalTriggerPatchInfo   *GetMainTriggerPatch();
-  TriggerType                 GetTriggerType();
+  Bool_t                                         HasTriggerType(TriggerType);
+  ULong_t                                        GetTriggerList();
   Bool_t                      PythiaInfoFromFile(const char* currFile, Float_t &fXsec, Float_t &fTrials, Int_t &pthard);
   void                        UserCreateOutputObjects();
   void                        UserExec(Option_t *option);
@@ -144,6 +151,7 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   Int_t                       fMCLabelShift;               // if MC label > fMCLabelShift, MC label -= fMCLabelShift
   Int_t                       fNcentBins;                  // how many centrality bins
   Bool_t                      fNeedEmcalGeom;              // whether or not the task need the emcal geometry
+  Bool_t                      fIsEsd;                      //!whether it's an ESD analysis
   AliEMCALGeometry           *fGeom;                       //!emcal geometry
   TClonesArray               *fTracks;                     //!tracks
   TClonesArray               *fCaloClusters;               //!clusters
@@ -166,7 +174,7 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   TObjArray                   fParticleCollArray;          // particle/track collection array
   TObjArray                   fClusterCollArray;           // cluster collection array
   AliEmcalTriggerPatchInfo   *fMainTriggerPatch;           // main trigger patch, will be cached after calling GetMainTriggerPatch() first time
-  TriggerType                 fTriggerType;                // trigger type J1 or J2
+  ULong_t                        fTriggers;                // list of fired triggers
 
   TList                      *fOutput;                     //!output list
   TH1                        *fHistTrialsAfterSel;         //!total number of trials per pt hard bin after selection
@@ -185,6 +193,6 @@ class AliAnalysisTaskEmcal : public AliAnalysisTaskSE {
   AliAnalysisTaskEmcal(const AliAnalysisTaskEmcal&);            // not implemented
   AliAnalysisTaskEmcal &operator=(const AliAnalysisTaskEmcal&); // not implemented
 
-  ClassDef(AliAnalysisTaskEmcal, 8) // EMCAL base analysis task
+  ClassDef(AliAnalysisTaskEmcal, 10) // EMCAL base analysis task
 };
 #endif