]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGUD/UPC/AliAnalysisTaskUpcPsi2s.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGUD / UPC / AliAnalysisTaskUpcPsi2s.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 /* $Id$ */
4
5 #ifndef ALIANALYSISTASKUPCPSI2S_H
6 #define ALIANALYSISTASKUPCPSI2S_H
7
8 class TClonesArray;
9 class TTree;
10 class TH1;
11 class TH2;
12 class TList;
13 class AliPIDResponse;
14 class AliAODEvent;
15 class AliESDEvent;
16
17 #define ntrg 17
18 #include "AliAnalysisTaskSE.h"
19
20 class AliAnalysisTaskUpcPsi2s : public AliAnalysisTaskSE {
21  public:
22   AliAnalysisTaskUpcPsi2s();
23   AliAnalysisTaskUpcPsi2s(const char *name);
24   virtual ~AliAnalysisTaskUpcPsi2s();
25
26   virtual void Init();
27   virtual void UserCreateOutputObjects();
28   virtual void UserExec(Option_t *option);
29   virtual void RunAODtrig();
30   virtual void RunAODhist();
31   virtual void RunAODtree();
32   virtual void RunAODMC(AliAODEvent *aod);
33   virtual void RunAODsystematics(AliAODEvent *aod);
34   virtual void RunESDtrig();
35   virtual void RunESDhist();
36   virtual void RunESDtree();
37   virtual void RunESDMC(AliESDEvent *esd);
38   virtual void Terminate(Option_t *);
39   void SetRunTree(Bool_t runTree){fRunTree = runTree;}
40   void SetRunHist(Bool_t runHist){fRunHist = runHist;}
41   void SetRunSyst(Bool_t runSyst){fRunSystematics = runSyst;}
42   void SetIsMC(Bool_t MC){isMC = MC;}
43   void InitSystematics();
44   Double_t GetMedian(Double_t *daArray);
45
46  private:
47   Int_t fType; // 0 - ESD, 1 - AOD
48   Bool_t isMC;
49   Bool_t fRunTree; 
50   Bool_t fRunHist;
51   Bool_t fRunSystematics;
52   
53   AliPIDResponse *fPIDResponse;
54   
55   //event tree
56   TTree *fJPsiTree;
57   TTree *fPsi2sTree;
58   //tree variables
59   Int_t fRunNum;
60   UInt_t fPerNum, fOrbNum;
61   //trigger
62   Bool_t fTrigger[ntrg];
63   Bool_t fTriggerInputsMC[4];
64   UInt_t fL0inputs, fL1inputs;
65   Bool_t fTOFtrig1, fTOFtrig2;
66   Double_t fTOFphi[4];
67   
68   Double_t fPIDTPCMuon[4];
69   Double_t fPIDTPCElectron[4];
70   Double_t fPIDTPCPion[4];
71   Double_t fPIDTPCKaon[4];
72   Double_t fPIDTPCProton[4];
73   
74   Double_t fPIDTOFMuon[4];
75   Double_t fPIDTOFElectron[4];
76   Double_t fPIDTOFPion[4];
77   Double_t fPIDTOFKaon[4];
78   Double_t fPIDTOFProton[4];
79   
80   Int_t fVtxContrib;
81   Double_t fVtxPos[3];
82   Double_t fVtxErr[3];
83   Double_t fVtxChi2,fVtxNDF;
84   Double_t fKfVtxPos[3];
85   Int_t fSpdVtxContrib;
86   Double_t fSpdVtxPos[3];
87   
88   Bool_t fIsVtxContributor[4];
89   
90   UShort_t fBCrossNum, fNtracklets, fNLooseTracks;
91   //vzero, zdc
92   Double_t fZDCAenergy, fZDCCenergy;
93   Double_t fZDCAtime, fZDCCtime;
94   Int_t fV0Adecision, fV0Cdecision;
95   //input data
96   TObjString *fDataFilnam;
97   Short_t fRecoPass;
98   Long64_t fEvtNum;
99   //tracks
100   TClonesArray *fJPsiAODTracks;
101   TClonesArray *fJPsiESDTracks; 
102   TClonesArray *fPsi2sAODTracks;
103   TClonesArray *fPsi2sESDTracks;
104     //mc
105   TClonesArray *fGenPart;
106   
107   TList *fListTrig;
108   TH1D *fHistCcup4TriggersPerRun;
109   TH1D *fHistCcup7TriggersPerRun;
110   TH1D *fHistCcup2TriggersPerRun;
111   TH1D *fHistCint1TriggersPerRun;
112   TH1D *fHistC0tvxAndCint1TriggersPerRun;
113   TH1D *fHistZedTriggersPerRun;
114   TH1D *fHistCvlnTriggersPerRun;
115   TH1D *fHistMBTriggersPerRun;
116   TH1D *fHistCentralTriggersPerRun;
117   TH1D *fHistSemiCentralTriggersPerRun;
118   
119   TList *fListHist;
120   TH1D *fHistNeventsJPsi; 
121   TH2D *fHistTPCsignalJPsi;
122   TH2D *fHistDiLeptonPtJPsi;
123   TH1D *fHistDiElectronMass;
124   TH1D *fHistDiMuonMass;
125   TH1D *fHistDiLeptonMass;
126   
127   TH1D *fHistNeventsPsi2s;
128   TH2D *fHistPsi2sMassVsPt;
129   TH1D *fHistPsi2sMassCoherent;
130   
131   TList *fListSystematics;
132   TList *fListJPsiLoose;
133   TList *fListJPsiTight;
134   TList *fListPsi2sLoose;
135   TList *fListPsi2sTight;
136   
137   AliAnalysisTaskUpcPsi2s(const AliAnalysisTaskUpcPsi2s&); //not implemented
138   AliAnalysisTaskUpcPsi2s& operator =(const AliAnalysisTaskUpcPsi2s&); //not implemented
139   
140   ClassDef(AliAnalysisTaskUpcPsi2s, 1); 
141 };
142
143 #endif
144
145
146
147
148
149
150
151
152