]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGUD/UPC/AliAnalysisTaskUpcPsi2s.h
Adding MC part and PID
[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 RunESDtrig();
34   virtual void RunESDhist();
35   virtual void RunESDtree();
36   virtual void RunESDMC(AliESDEvent *esd);
37   virtual void Terminate(Option_t *);
38   void SetRunTree(Bool_t runTree){fRunTree = runTree;}
39   void SetRunHist(Bool_t runHist){fRunHist = runHist;}
40   void SetIsMC(Bool_t MC){isMC = MC;}
41
42  private:
43   Int_t fType; // 0 - ESD, 1 - AOD
44   Bool_t isMC;
45   Bool_t fRunTree; 
46   Bool_t fRunHist;
47   
48   AliPIDResponse *fPIDResponse;
49   
50   //event tree
51   TTree *fJPsiTree;
52   TTree *fPsi2sTree;
53   //tree variables
54   Int_t fRunNum;
55   UInt_t fPerNum, fOrbNum;
56   //trigger
57   Bool_t fTrigger[ntrg];
58   Bool_t fTriggerInputsMC[4];
59   UInt_t fL0inputs, fL1inputs;
60   Bool_t fTOFtrig1, fTOFtrig2;
61   Double_t fTOFphi[4];
62   Double_t fPIDMuon[4];
63   Double_t fPIDElectron[4];
64   Double_t fPIDPion[4];
65   Int_t fVtxContrib;
66   Double_t fVtxPos[3];
67   Double_t fVtxErr[3];
68   Double_t fVtxChi2,fVtxNDF;
69   Double_t fKfVtxPos[3];
70   UShort_t fBCrossNum, fNtracklets, fNLooseTracks;
71   //vzero, zdc
72   Double_t fZDCAenergy, fZDCCenergy;
73   Int_t fV0Adecision, fV0Cdecision;
74   //input data
75   TObjString *fDataFilnam;
76   Short_t fRecoPass;
77   Long64_t fEvtNum;
78   //tracks
79   TClonesArray *fJPsiAODTracks;
80   TClonesArray *fJPsiESDTracks; 
81   TClonesArray *fPsi2sAODTracks;
82   TClonesArray *fPsi2sESDTracks;
83     //mc
84   TClonesArray *fGenPart;
85   
86   TList *fListTrig;
87   TH1D *fHistCcup4TriggersPerRun;
88   TH1D *fHistCcup7TriggersPerRun;
89   TH1D *fHistCcup2TriggersPerRun;
90   TH1D *fHistZedTriggersPerRun;
91   TH1D *fHistCvlnTriggersPerRun;
92   TH1D *fHistMBTriggersPerRun;
93   TH1D *fHistCentralTriggersPerRun;
94   TH1D *fHistSemiCentralTriggersPerRun;
95   
96   TList *fListHist;
97   TH1D *fHistNeventsJPsi; 
98   TH2D *fHistTPCsignalJPsi;
99   TH2D *fHistDiLeptonPtJPsi;
100   TH1D *fHistDiElectronMass;
101   TH1D *fHistDiMuonMass;
102   
103   TH1D *fHistNeventsPsi2s;
104   TH2D *fHistPsi2sMassVsPt;
105   TH1D *fHistPsi2sMassCoherent;
106   
107   AliAnalysisTaskUpcPsi2s(const AliAnalysisTaskUpcPsi2s&); //not implemented
108   AliAnalysisTaskUpcPsi2s& operator =(const AliAnalysisTaskUpcPsi2s&); //not implemented
109   
110   ClassDef(AliAnalysisTaskUpcPsi2s, 1); 
111 };
112
113 #endif
114
115
116
117
118
119
120
121
122