possibility to pass plugin run mode as argument + libraries loaded in the same way...
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisTaskHadEt.h
CommitLineData
641e1e0c 1//Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili\r
2//University of Tennessee at Knoxville\r
3#ifndef AliAnalysisTaskHadEt_cxx\r
4#define AliAnalysisTaskHadEt_cxx\r
5\r
6class AliAnalysisHadEt;\r
7class TTree;\r
8class AliVParticle;\r
9class TH1F;\r
10class TH2F;\r
11class TNtuple;\r
12class TObjArray;\r
13class AliESDEvent;\r
14class AliMCParticle;\r
15class TDatabasePDG;\r
16\r
17#include "AliAnalysisTaskSE.h"\r
18#include "TObject.h"\r
19#include "AliAnalysisHadEtReconstructed.h"\r
20#include "AliAnalysisHadEtMonteCarlo.h"\r
21\r
22/* class ParticleVars : public TObject // Inherit from TObject to put in TClonesArray */\r
23/* { */\r
24/* public: */\r
25 \r
26/* ParticleVars() : TObject(){} */\r
27/* Int_t fPdgCode; // from MC */\r
28/* Int_t fPid; //from ESDs */\r
29/* Int_t fMass; */\r
30/* Int_t fCharge; */\r
31/* Double_t fEt; */\r
32/* Double_t fPhi; */\r
33/* Double_t fEta; */\r
34\r
35/* ClassDef(ParticleVars, 1); */\r
36 \r
37/* }; */\r
38\r
39class AliAnalysisTaskHadEt : public AliAnalysisTaskSE {\r
40public:\r
41 AliAnalysisTaskHadEt(const char *name = "AliAnalysisTaskHadEt");\r
42 virtual ~AliAnalysisTaskHadEt() {}\r
43\r
44 // virtual void ConnectInputData(Option_t *);\r
45 virtual void UserCreateOutputObjects();\r
46 virtual void UserExec(Option_t *option);\r
47 virtual void Terminate(Option_t *);\r
48\r
49 virtual void SetTriggerSelection(Bool_t v) {\r
50 fTriggerSelection = v;\r
51 }\r
52\r
53 AliESDtrackCuts* GetTPCITSTrackCuts(){return (AliESDtrackCuts*) fOutputList->FindObject("fEsdTrackCuts");}\r
54 AliESDtrackCuts* GetTPCOnlyTrackCuts(){return (AliESDtrackCuts*) fOutputList->FindObject("fEsdTrackCutsTPCOnly");}\r
55 AliESDtrackCuts* GetITSTrackCuts(){return (AliESDtrackCuts*) fOutputList->FindObject("fEsdTrackCutsITS");}\r
56\r
57private:\r
58\r
59 //Declare it private to avoid compilation warning\r
60 AliAnalysisTaskHadEt & operator = (const AliAnalysisTaskHadEt & g) ;//cpy assignment\r
61 AliAnalysisTaskHadEt(const AliAnalysisTaskHadEt & g) ; // cpy ctor\r
62\r
63 bool CheckGoodVertex(AliVParticle *track);\r
64 bool TrackHits(AliVParticle *track, Double_t magField);\r
65\r
66\r
67 AliESDEvent *fESD; //ESD object\r
68\r
69 TList *fOutputList;\r
70\r
71 AliAnalysisHadEtReconstructed *fRecAnalysis;\r
72 AliAnalysisHadEtMonteCarlo *fMCAnalysis;\r
73\r
74 TH2F *fHistEtRecvsEtMC;\r
75 \r
76 Bool_t fTriggerSelection;\r
77\r
78 Int_t fCount;\r
79\r
80 const int fkPhotonPdg;\r
81\r
82 const Float_t fkProtonMass;\r
83\r
84 TDatabasePDG *fPdgDB;\r
85\r
86 class EventVars\r
87 {\r
88 public:\r
89 Double_t fTotEt;\r
90 Double_t fTotEtAcc;\r
91 Double_t fTotEnergy;\r
92\r
93 Double_t fTotNeutralEt;\r
94 Double_t fTotNeutralEtAcc;\r
95\r
96 Double_t fTotChargedEt;\r
97 Double_t fTotChargedEtAcc;\r
98\r
99 Int_t fChargedMultiplicity;\r
100 Int_t fNeutralMultiplicity;\r
101\r
102 };\r
103 \r
104 EventVars *fRecEventVars;\r
105 EventVars *fSimEventVars;\r
106 AliESDtrackCuts* esdtrackCutsITSTPC;\r
107 AliESDtrackCuts* esdtrackCutsTPC;\r
108 AliESDtrackCuts* esdtrackCutsITS;\r
109 \r
110 ClassDef(AliAnalysisTaskHadEt, 1); // example of analysis\r
111};\r
112\r
113#endif\r