]>
Commit | Line | Data |
---|---|---|
a65a7e70 | 1 | #ifndef AliPHOSHijingEfficiency_cxx |
2 | #define AliPHOSHijingEfficiency_cxx | |
3 | ||
4 | // example of an analysis task creating a p_t spectrum | |
5 | // Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing | |
6 | ||
7 | class TObjArray; | |
8 | class THashList ; | |
9 | class TH1F; | |
10 | class TH1D ; | |
11 | class TH2I; | |
12 | class TH2F; | |
13 | class TH3F; | |
14 | class TF1 ; | |
15 | class TParticle; | |
16 | class AliStack ; | |
17 | class AliESDtrackCuts; | |
18 | class AliPHOSGeometry; | |
19 | class AliESDEvent ; | |
20 | class AliPHOSCalibData; | |
21 | class AliESDtrack ; | |
22 | class AliESDCaloCluster ; | |
23 | class AliCaloPhoton ; | |
24 | ||
25 | #include "AliAnalysisTaskSE.h" | |
26 | ||
27 | class AliPHOSHijingEfficiency : public AliAnalysisTaskSE { | |
28 | public: | |
29 | AliPHOSHijingEfficiency(const char *name = "AliPHOSHijingEfficiency"); | |
30 | virtual ~AliPHOSHijingEfficiency() {} | |
31 | ||
32 | virtual void UserCreateOutputObjects(); | |
33 | virtual void UserExec(Option_t *option); | |
34 | virtual void Terminate(Option_t *); | |
35 | void SetPHOSBadMap(Int_t mod,TH2I * h) | |
36 | { | |
37 | if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ; | |
38 | fPHOSBadMap[mod]=new TH2I(*h) ; | |
39 | printf("Set %s \n",fPHOSBadMap[mod]->GetName()); | |
40 | } | |
41 | ||
42 | private: | |
43 | AliPHOSHijingEfficiency(const AliPHOSHijingEfficiency&); // not implemented | |
44 | AliPHOSHijingEfficiency& operator=(const AliPHOSHijingEfficiency&); // not implemented | |
45 | Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS | |
46 | ||
47 | void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key | |
48 | void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key | |
49 | void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key | |
50 | void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z, Double_t w) const ; //Fill 3D histogram witn name key | |
51 | void FillAllHistograms(const char * key,AliCaloPhoton * ph)const ; //Fill all possible PID combinations for a given photon | |
52 | ||
53 | Bool_t TestLambda(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons | |
54 | Bool_t TestLambda2(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons | |
55 | Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge); | |
56 | Bool_t TestTOF(Double_t t, Double_t e) ; | |
57 | Int_t ConvertRunNumber(Int_t run) ; | |
58 | void ProcessMC() ; | |
59 | Int_t FindPrimary(AliESDCaloCluster* clu, Bool_t& sure) ; | |
60 | ||
61 | void EvalLambdas(AliESDCaloCluster * clu, Int_t iR,Double_t &m02, Double_t &m20); | |
62 | Double_t CoreEnergy(AliESDCaloCluster * clu); | |
63 | void Reclusterize(AliESDCaloCluster * clu) ; | |
64 | Bool_t AreNeibors(Int_t id1,Int_t id2) ; | |
65 | Double_t PrimaryWeight(Int_t primary); | |
66 | Double_t PrimaryParticleWeight(TParticle * particle); | |
67 | void FillSecondaries() ; | |
68 | Int_t FindCommonParent(Int_t iPart, Int_t jPart) ; | |
69 | Bool_t HaveParent(Int_t iPart, Int_t pdgParent); | |
70 | Bool_t InPi0mass(Double_t m, Double_t pt); | |
71 | ||
72 | private: | |
73 | AliStack * fStack ; // | |
74 | THashList * fOutputContainer; //final histogram container | |
75 | TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons | |
76 | TClonesArray * fPHOSEvent ; //PHOS photons in current event | |
77 | AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object | |
78 | ||
79 | //Reaction plain for v2 | |
80 | Float_t fRP ; //Reaction plane calculated with full TPC | |
81 | Float_t fRPV0A ; //Reaction plain calculated with A-side TPC: eta>0.15 | |
82 | Float_t fRPV0C ; //Reaction plain calculated with C-side TPC: eta<-0.15 | |
83 | Bool_t fHaveTPCRP ; // Is TPC RP defined? | |
84 | ||
85 | Int_t fRunNumber ; //Current run number | |
86 | Float_t fCentrality ; //Centrality of the currecnt event | |
87 | ||
88 | Int_t fCenBin ; // Current centrality bin | |
89 | ||
90 | TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map | |
91 | ||
92 | AliPHOSGeometry *fPHOSGeo; // PHOS geometry | |
93 | Int_t fEventCounter; // number of analyzed events | |
94 | ||
95 | ClassDef(AliPHOSHijingEfficiency, 1); // PHOS analysis task | |
96 | }; | |
97 | ||
98 | #endif |