#ifndef ALIANALYSISTASKJETSERVICES_H
#define ALIANALYSISTASKJETSERVICES_H
#include "AliAnalysisTaskSE.h"
#include "THnSparse.h" // cannot forward declare ThnSparseF
class AliJetHeader;
class AliESDEvent;
class AliESDVertex;
class AliAODEvent;
class AliAODVertex;
class AliAODVZERO;
class AliAODJet;
class AliGenPythiaEventHeader;
class AliCFManager;
class AliTriggerAnalysis;
class TList;
class TClonesArray;
class TObjArray;
class TChain;
class TH1F;
class TH2F;
class TH3F;
class TProfile;
class TRandom3;
class AliAnalysisTaskJetServices : public AliAnalysisTaskSE
{
public:
AliAnalysisTaskJetServices();
AliAnalysisTaskJetServices(const char* name);
virtual ~AliAnalysisTaskJetServices();
virtual void UserCreateOutputObjects();
virtual void Init();
virtual void LocalInit() { Init(); }
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *option);
virtual void SetZVertexCut(Float_t f){fVtxZCut = f;}
virtual void SetDeltaZVertexCut(Float_t f){fVtxDeltaZCut = f;}
virtual void SetPtMinCosmic(Float_t ptMin) {fPtMinCosmic = ptMin;}
virtual void SetRMinCosmic(Float_t rMin) {fRIsolMinCosmic = rMin;}
virtual void SetMaxCosmicAngle(Float_t angle) {fMaxCosmicAngle = angle;}
virtual Bool_t Notify();
virtual void SetAODInput(Bool_t b){fUseAODInput = b;}
virtual void SetRunRange(Float_t fLo,Float_t fUp){fRunRange[0] = fLo;fRunRange[1] = fUp;}
virtual void SetMCData(Bool_t b){fMC = b;}
virtual void SetCollisionType(Int_t iType){fCollisionType = iType;}
virtual void SetUsePhysicsSelection(Bool_t b){fUsePhysicsSelection = b;}
virtual void SetPhysicsSelectionFlag(Int_t i){fPhysicsSelectionFlag = i;}
virtual void SetFilterAODCollisions(Bool_t b){fFilterAODCollisions = b;}
virtual void SetNonStdFile(char *c){fNonStdFile = c;}
Bool_t IsEventSelected(const AliESDEvent* esd);
Bool_t IsEventSelected(const AliAODEvent* aod) const;
Bool_t IsEventPileUp(const AliESDEvent* esd) const;
Bool_t IsEventCosmic(const AliESDEvent* esd) const;
Bool_t IsVertexValid(const AliESDVertex *vtx);
Bool_t IsVertexValid(const AliAODVertex *vtx) const;
Bool_t IsVertexIn(const AliESDVertex *vtx,const AliESDVertex *vtxSPD);
Bool_t IsVertexIn(const AliAODVertex *vtx,const AliAODVertex *vtxSPD) const;
Int_t GetEventClass(AliESDEvent *esd);
Int_t GetEventClass(AliAODEvent *aod);
virtual void SetFilterMask(UInt_t i){fFilterMask = i;}
virtual void SetMinTrackPt(Float_t f){fMinTrackPt = f;}
virtual void SetTrackEtaWindow(Float_t f){fTrackRecEtaWindow = f;}
virtual void SetRPMethod(Int_t i){fRPMethod = i;}
virtual void SetV0Centroids(TProfile *xa,TProfile *ya,
TProfile *xc,TProfile *yc);
virtual void SetNTrigger(Int_t n);
virtual void SetTrigger(Int_t i,UInt_t it,const char* c = "");
Bool_t CalculateReactionPlaneAngleVZERO(AliAODEvent *aod);
Int_t GetListOfTracks(TList *list);
enum { kAllTriggered = 0,
kTriggeredVertex,
kTriggeredVertexIn,
kSelectedALICE,
kSelectedALICEVertexValid,
kSelectedALICEVertexIn,
kSelected,
kConstraints};
enum { kRPTracks = 0, kRPVZEROA,kRPVZEROC,kRPMethods};
enum { kNoEventCut=1<<0,
kPhysicsSelectionCut=1<<1,
kContributorsCut1=1<<2,
kContributorsCut2=1<<3,
kContributorsCut3=1<<4,
kVertexTPC=1<<5,
kVertexSPD=1<<6,
kVertexGlobal=1<<7,
kSPDDispersionCut=1<<8,
kVertexZCut=1<<9,
kVertexRCut=1<<10,
kVertexDeltaZCut=1<<11,
kTotalEventCuts=(1<<12)-1};
enum {kPbPb = 0,kPP,kPbP};
private:
AliAnalysisTaskJetServices(const AliAnalysisTaskJetServices&);
AliAnalysisTaskJetServices& operator=(const AliAnalysisTaskJetServices&);
Bool_t fUseAODInput;
Bool_t fUsePhysicsSelection;
Bool_t fMC;
Bool_t fFilterAODCollisions;
UInt_t fPhysicsSelectionFlag;
UInt_t fSelectionInfoESD;
UInt_t fEventCutInfoESD;
UInt_t fFilterMask;
Int_t fRPMethod;
Int_t fCollisionType;
Int_t fNTrigger;
Float_t fAvgTrials;
Float_t fVtxXMean;
Float_t fVtxYMean;
Float_t fVtxZMean;
Float_t fVtxRCut;
Float_t fVtxZCut;
Float_t fVtxDeltaZCut;
Float_t fPtMinCosmic;
Float_t fRIsolMinCosmic;
Float_t fMaxCosmicAngle;
Float_t fRunRange[2];
Float_t fCentrality;
Float_t fTrackRecEtaWindow;
Float_t fMinTrackPt;
Float_t fRPAngle;
Float_t fPsiVZEROA;
Float_t fPsiVZEROC;
UInt_t *fTriggerBit ;
TRandom3 *fRandomizer;
TString fNonStdFile;
TString *fTriggerName;
TProfile* fh1Xsec;
TH1F* fh1Trials;
TH1F* fh1AvgTrials;
TH1F* fh1PtHard;
TH1F* fh1PtHardTrials;
TH1F* fh1SelectionInfoESD;
TH1F* fh1EventCutInfoESD;
TH1F* fh1CentralityESD;
TH1F* fh1Centrality;
TH1F* fh1RP;
TH2F* fh2ReducedTrigger;
TH2F* fh2CentralityTriggerESD;
TH2F* fh2CentralityTrigger;
TH2F* fh2TriggerCount;
TH2F* fh2ESDTriggerCount;
TH2F* fh2TriggerVtx;
TH2F* fh2ESDTriggerVtx;
TH2F* fh2ESDTriggerRun;
TH2F* fh2VtxXY;
TH1F* fh1NCosmicsPerEvent;
TProfile* fp1RPXA;
TProfile* fp1RPYA;
TProfile* fp1RPXC;
TProfile* fp1RPYC;
TProfile* fp1CalibRPXA;
TProfile* fp1CalibRPYA;
TProfile* fp1CalibRPXC;
TProfile* fp1CalibRPYC;
TH2F* fh2RPAC;
TH2F* fh2RPAT;
TH2F* fh2RPCT;
TH2F* fh2XYA;
TH2F* fh2XYC;
TH2F* fh2RPCentrality;
TH2F* fh2RPACentrality;
TH2F* fh2RPCCentrality;
AliTriggerAnalysis *fTriggerAnalysis;
TList *fHistList;
static AliAODHeader* fgAODHeader;
static AliAODVZERO* fgAODVZERO;
static TClonesArray* fgAODVertices;
ClassDef(AliAnalysisTaskJetServices,17)
};
#endif
AliAnalysisTaskJetServices.h:1 AliAnalysisTaskJetServices.h:2 AliAnalysisTaskJetServices.h:3 AliAnalysisTaskJetServices.h:4 AliAnalysisTaskJetServices.h:5 AliAnalysisTaskJetServices.h:6 AliAnalysisTaskJetServices.h:7 AliAnalysisTaskJetServices.h:8 AliAnalysisTaskJetServices.h:9 AliAnalysisTaskJetServices.h:10 AliAnalysisTaskJetServices.h:11 AliAnalysisTaskJetServices.h:12 AliAnalysisTaskJetServices.h:13 AliAnalysisTaskJetServices.h:14 AliAnalysisTaskJetServices.h:15 AliAnalysisTaskJetServices.h:16 AliAnalysisTaskJetServices.h:17 AliAnalysisTaskJetServices.h:18 AliAnalysisTaskJetServices.h:19 AliAnalysisTaskJetServices.h:20 AliAnalysisTaskJetServices.h:21 AliAnalysisTaskJetServices.h:22 AliAnalysisTaskJetServices.h:23 AliAnalysisTaskJetServices.h:24 AliAnalysisTaskJetServices.h:25 AliAnalysisTaskJetServices.h:26 AliAnalysisTaskJetServices.h:27 AliAnalysisTaskJetServices.h:28 AliAnalysisTaskJetServices.h:29 AliAnalysisTaskJetServices.h:30 AliAnalysisTaskJetServices.h:31 AliAnalysisTaskJetServices.h:32 AliAnalysisTaskJetServices.h:33 AliAnalysisTaskJetServices.h:34 AliAnalysisTaskJetServices.h:35 AliAnalysisTaskJetServices.h:36 AliAnalysisTaskJetServices.h:37 AliAnalysisTaskJetServices.h:38 AliAnalysisTaskJetServices.h:39 AliAnalysisTaskJetServices.h:40 AliAnalysisTaskJetServices.h:41 AliAnalysisTaskJetServices.h:42 AliAnalysisTaskJetServices.h:43 AliAnalysisTaskJetServices.h:44 AliAnalysisTaskJetServices.h:45 AliAnalysisTaskJetServices.h:46 AliAnalysisTaskJetServices.h:47 AliAnalysisTaskJetServices.h:48 AliAnalysisTaskJetServices.h:49 AliAnalysisTaskJetServices.h:50 AliAnalysisTaskJetServices.h:51 AliAnalysisTaskJetServices.h:52 AliAnalysisTaskJetServices.h:53 AliAnalysisTaskJetServices.h:54 AliAnalysisTaskJetServices.h:55 AliAnalysisTaskJetServices.h:56 AliAnalysisTaskJetServices.h:57 AliAnalysisTaskJetServices.h:58 AliAnalysisTaskJetServices.h:59 AliAnalysisTaskJetServices.h:60 AliAnalysisTaskJetServices.h:61 AliAnalysisTaskJetServices.h:62 AliAnalysisTaskJetServices.h:63 AliAnalysisTaskJetServices.h:64 AliAnalysisTaskJetServices.h:65 AliAnalysisTaskJetServices.h:66 AliAnalysisTaskJetServices.h:67 AliAnalysisTaskJetServices.h:68 AliAnalysisTaskJetServices.h:69 AliAnalysisTaskJetServices.h:70 AliAnalysisTaskJetServices.h:71 AliAnalysisTaskJetServices.h:72 AliAnalysisTaskJetServices.h:73 AliAnalysisTaskJetServices.h:74 AliAnalysisTaskJetServices.h:75 AliAnalysisTaskJetServices.h:76 AliAnalysisTaskJetServices.h:77 AliAnalysisTaskJetServices.h:78 AliAnalysisTaskJetServices.h:79 AliAnalysisTaskJetServices.h:80 AliAnalysisTaskJetServices.h:81 AliAnalysisTaskJetServices.h:82 AliAnalysisTaskJetServices.h:83 AliAnalysisTaskJetServices.h:84 AliAnalysisTaskJetServices.h:85 AliAnalysisTaskJetServices.h:86 AliAnalysisTaskJetServices.h:87 AliAnalysisTaskJetServices.h:88 AliAnalysisTaskJetServices.h:89 AliAnalysisTaskJetServices.h:90 AliAnalysisTaskJetServices.h:91 AliAnalysisTaskJetServices.h:92 AliAnalysisTaskJetServices.h:93 AliAnalysisTaskJetServices.h:94 AliAnalysisTaskJetServices.h:95 AliAnalysisTaskJetServices.h:96 AliAnalysisTaskJetServices.h:97 AliAnalysisTaskJetServices.h:98 AliAnalysisTaskJetServices.h:99 AliAnalysisTaskJetServices.h:100 AliAnalysisTaskJetServices.h:101 AliAnalysisTaskJetServices.h:102 AliAnalysisTaskJetServices.h:103 AliAnalysisTaskJetServices.h:104 AliAnalysisTaskJetServices.h:105 AliAnalysisTaskJetServices.h:106 AliAnalysisTaskJetServices.h:107 AliAnalysisTaskJetServices.h:108 AliAnalysisTaskJetServices.h:109 AliAnalysisTaskJetServices.h:110 AliAnalysisTaskJetServices.h:111 AliAnalysisTaskJetServices.h:112 AliAnalysisTaskJetServices.h:113 AliAnalysisTaskJetServices.h:114 AliAnalysisTaskJetServices.h:115 AliAnalysisTaskJetServices.h:116 AliAnalysisTaskJetServices.h:117 AliAnalysisTaskJetServices.h:118 AliAnalysisTaskJetServices.h:119 AliAnalysisTaskJetServices.h:120 AliAnalysisTaskJetServices.h:121 AliAnalysisTaskJetServices.h:122 AliAnalysisTaskJetServices.h:123 AliAnalysisTaskJetServices.h:124 AliAnalysisTaskJetServices.h:125 AliAnalysisTaskJetServices.h:126 AliAnalysisTaskJetServices.h:127 AliAnalysisTaskJetServices.h:128 AliAnalysisTaskJetServices.h:129 AliAnalysisTaskJetServices.h:130 AliAnalysisTaskJetServices.h:131 AliAnalysisTaskJetServices.h:132 AliAnalysisTaskJetServices.h:133 AliAnalysisTaskJetServices.h:134 AliAnalysisTaskJetServices.h:135 AliAnalysisTaskJetServices.h:136 AliAnalysisTaskJetServices.h:137 AliAnalysisTaskJetServices.h:138 AliAnalysisTaskJetServices.h:139 AliAnalysisTaskJetServices.h:140 AliAnalysisTaskJetServices.h:141 AliAnalysisTaskJetServices.h:142 AliAnalysisTaskJetServices.h:143 AliAnalysisTaskJetServices.h:144 AliAnalysisTaskJetServices.h:145 AliAnalysisTaskJetServices.h:146 AliAnalysisTaskJetServices.h:147 AliAnalysisTaskJetServices.h:148 AliAnalysisTaskJetServices.h:149 AliAnalysisTaskJetServices.h:150 AliAnalysisTaskJetServices.h:151 AliAnalysisTaskJetServices.h:152 AliAnalysisTaskJetServices.h:153 AliAnalysisTaskJetServices.h:154 AliAnalysisTaskJetServices.h:155 AliAnalysisTaskJetServices.h:156 AliAnalysisTaskJetServices.h:157 AliAnalysisTaskJetServices.h:158 AliAnalysisTaskJetServices.h:159 AliAnalysisTaskJetServices.h:160 AliAnalysisTaskJetServices.h:161 AliAnalysisTaskJetServices.h:162 AliAnalysisTaskJetServices.h:163 AliAnalysisTaskJetServices.h:164 AliAnalysisTaskJetServices.h:165 AliAnalysisTaskJetServices.h:166 AliAnalysisTaskJetServices.h:167 AliAnalysisTaskJetServices.h:168 AliAnalysisTaskJetServices.h:169 AliAnalysisTaskJetServices.h:170 AliAnalysisTaskJetServices.h:171 AliAnalysisTaskJetServices.h:172 AliAnalysisTaskJetServices.h:173 AliAnalysisTaskJetServices.h:174 AliAnalysisTaskJetServices.h:175 AliAnalysisTaskJetServices.h:176 AliAnalysisTaskJetServices.h:177 AliAnalysisTaskJetServices.h:178 AliAnalysisTaskJetServices.h:179 AliAnalysisTaskJetServices.h:180 AliAnalysisTaskJetServices.h:181 AliAnalysisTaskJetServices.h:182 AliAnalysisTaskJetServices.h:183 AliAnalysisTaskJetServices.h:184 AliAnalysisTaskJetServices.h:185 AliAnalysisTaskJetServices.h:186 AliAnalysisTaskJetServices.h:187 AliAnalysisTaskJetServices.h:188 AliAnalysisTaskJetServices.h:189 AliAnalysisTaskJetServices.h:190 AliAnalysisTaskJetServices.h:191 AliAnalysisTaskJetServices.h:192 AliAnalysisTaskJetServices.h:193 AliAnalysisTaskJetServices.h:194 AliAnalysisTaskJetServices.h:195 AliAnalysisTaskJetServices.h:196 AliAnalysisTaskJetServices.h:197 AliAnalysisTaskJetServices.h:198 AliAnalysisTaskJetServices.h:199 AliAnalysisTaskJetServices.h:200 AliAnalysisTaskJetServices.h:201 AliAnalysisTaskJetServices.h:202 AliAnalysisTaskJetServices.h:203 AliAnalysisTaskJetServices.h:204 AliAnalysisTaskJetServices.h:205 AliAnalysisTaskJetServices.h:206 AliAnalysisTaskJetServices.h:207 AliAnalysisTaskJetServices.h:208 AliAnalysisTaskJetServices.h:209