#ifndef ALIANALYSISTASKNORM_H
#define ALIANALYSISTASKNORM_H
#ifndef ALIANALYSISTASKSE_H
# include "AliAnalysisTaskSE.h"
#endif
class AliCounterCollection;
class AliMuonEventCuts;
class AliVEvent;
class AliAnalysisTaskNorm : public AliAnalysisTaskSE
{
public:
AliAnalysisTaskNorm(const char *name = "<default name>");
virtual ~AliAnalysisTaskNorm();
virtual void Print(Option_t *opt="") const;
void Print(TObjArray *obj) const;
virtual void Terminate(Option_t *);
virtual void UserCreateOutputObjects();
virtual void UserExec(Option_t* opt);
static Bool_t IsAODEvent( const AliVEvent *event);
static TString GetFiredTriggerClasses( const AliVEvent *event);
TList *BuildListOfNormFactor(const TObjArray*);
TList *BuildListOfTrigger(const TObjArray*);
TList *BuildListOfCentrality(AliCentrality *centrality);
TList *BuildListOfPileUp( const AliVEvent *event);
TList *BuildListOfTracklets( const AliVEvent *event);
TList *BuildListOfV0AMult( const AliVEvent *event);
void FillHistoPileUpVertices( const AliVEvent *event, const TObjArray*);
void FillHistoMult( const AliVEvent *event, const TObjArray*);
Bool_t CheckPattern(TString, TObjArray*, TObjArray*);
TObjArray *BuildArrayOfTrigger(const TObjArray*, TString keepPattern="", TString rejectPattern="OTHER,TRUE,PHI,ANY,EMC,-ACE-,-ABCE-,WU,MUP,SPI,SHM");
Bool_t IsPileupFromSPDInMultBins(const AliVEvent *event) const;
TString GetOCDBPath() {return "raw://";};
void FillEventCounters(Int_t, TList*,TList*,TList*,TList*,TList*,TList*,Bool_t,Bool_t,TString,Bool_t);
AliMuonEventCuts* GetMuonEventCuts() { return fMuonEventCuts;}
void SetIsMC(Bool_t isMC) { fIsMC = isMC;};
void SetIsESD(Bool_t isESD) { fIsESD = isESD;};
void SetBeamConf(TString sBeamConf) { fBeamConf = sBeamConf;};
private:
enum eListV0A {
kV0AMB = 0,
kV0AMUL = 1,
kV0AMultvsCentMB = 2,
kV0ACentvsV0CCentMUL = 3,
kV0ACentvsCL1CentMUL = 4,
kV0ACentvsV0CCentMB = 5,
kV0ACentvsCL1CentMB = 6,
kV0CCentvsCL1CentMB = 7,
kV0ACentMB = 8,
kV0ACentMUL = 9
};
enum eListZN {
kZNMB = 0,
kZNMUL = 1,
kZNCentMB = 2,
kZNCentMUL = 3,
kZNMultvsCentMB = 4
};
enum eListVertex {
kVZMB = 0,
kVnCMB = 1,
kPileupVZMB = 2,
kPileupnCMB = 3,
kVZMUL = 4,
kVnCMUL = 5,
kPileupVZMUL = 6,
kPileupnCMUL = 7,
kDeltaZMB = 8,
kDeltaZMUL = 9,
kNPileupMB = 10,
kNPileupMUL = 11
};
AliCounterCollection *fRunCounters;
AliCounterCollection *fEventCounters;
TObjArray *fListVertex;
TObjArray *fListV0A;
TObjArray *fListZN;
Bool_t fIsESD;
Bool_t fIsMC;
TString fBeamConf;
AliMuonEventCuts *fMuonEventCuts;
TObjArray *fSCentEst;
TArrayI fCentBin;
TObjArray *fSCentBin;
TArrayI fTrackletsBin;
TObjArray *fSTrackletsBin;
TArrayI fV0AMultBin;
TObjArray *fSV0AMultBin;
AliAnalysisTaskNorm(const AliAnalysisTaskNorm&);
AliAnalysisTaskNorm& operator=(const AliAnalysisTaskNorm&);
ClassDef(AliAnalysisTaskNorm,4);
};
#endif
AliAnalysisTaskNorm.h:100 AliAnalysisTaskNorm.h:101 AliAnalysisTaskNorm.h:102 AliAnalysisTaskNorm.h:103 AliAnalysisTaskNorm.h:104 AliAnalysisTaskNorm.h:105 AliAnalysisTaskNorm.h:106 AliAnalysisTaskNorm.h:107 AliAnalysisTaskNorm.h:108 AliAnalysisTaskNorm.h:109 AliAnalysisTaskNorm.h:110 AliAnalysisTaskNorm.h:111 AliAnalysisTaskNorm.h:112 AliAnalysisTaskNorm.h:113 AliAnalysisTaskNorm.h:114 AliAnalysisTaskNorm.h:115 AliAnalysisTaskNorm.h:116 AliAnalysisTaskNorm.h:117 AliAnalysisTaskNorm.h:118 AliAnalysisTaskNorm.h:119 AliAnalysisTaskNorm.h:120 AliAnalysisTaskNorm.h:121 AliAnalysisTaskNorm.h:122 AliAnalysisTaskNorm.h:123 AliAnalysisTaskNorm.h:124 AliAnalysisTaskNorm.h:125 AliAnalysisTaskNorm.h:126 AliAnalysisTaskNorm.h:127 AliAnalysisTaskNorm.h:128