]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/PHOS_PbPb_MC/AliPHOSHijingEfficiency.h
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb_MC / AliPHOSHijingEfficiency.h
CommitLineData
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
7class TObjArray;
8class THashList ;
9class TH1F;
10class TH1D ;
11class TH2I;
12class TH2F;
13class TH3F;
14class TF1 ;
15class TParticle;
16class AliStack ;
17class AliESDtrackCuts;
18class AliPHOSGeometry;
19class AliESDEvent ;
20class AliPHOSCalibData;
21class AliESDtrack ;
22class AliESDCaloCluster ;
23class AliCaloPhoton ;
24
25#include "AliAnalysisTaskSE.h"
26
27class AliPHOSHijingEfficiency : public AliAnalysisTaskSE {
28public:
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
42private:
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
72private:
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