Correcting coding violations in HadEt classes, adding container class for hadronic...
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisTaskHadEt.h
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
6 class AliAnalysisHadEt;\r
7 class TTree;\r
8 class AliVParticle;\r
9 class TH1F;\r
10 class TH2F;\r
11 class TNtuple;\r
12 class TObjArray;\r
13 class AliESDEvent;\r
14 class AliMCParticle;\r
15 class 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
39 class AliAnalysisTaskHadEt : public AliAnalysisTaskSE {\r
40 public:\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
57 private:\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* ffesdtrackCutsITSTPC;\r
107     AliESDtrackCuts* fesdtrackCutsTPC;\r
108     AliESDtrackCuts* fesdtrackCutsITS;\r
109     \r
110     ClassDef(AliAnalysisTaskHadEt, 1); // example of analysis\r
111 };\r
112 \r
113 #endif\r