-#ifndef AliPHOSHijingEfficiency_cxx\r
-#define AliPHOSHijingEfficiency_cxx\r
-\r
-// example of an analysis task creating a p_t spectrum\r
-// Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing\r
-\r
-class TObjArray;\r
-class THashList ;\r
-class TH1F;\r
-class TH1D ;\r
-class TH2I;\r
-class TH2F;\r
-class TH3F;\r
-class TF1 ;\r
-class TParticle;\r
-class AliStack ;\r
-class AliESDtrackCuts;\r
-class AliPHOSGeometry;\r
-class AliESDEvent ;\r
-class AliPHOSCalibData;\r
-class AliESDtrack ;\r
-class AliESDCaloCluster ;\r
-class AliCaloPhoton ;\r
-\r
-#include "AliAnalysisTaskSE.h"\r
-\r
-class AliPHOSHijingEfficiency : public AliAnalysisTaskSE {\r
-public:\r
- AliPHOSHijingEfficiency(const char *name = "AliPHOSHijingEfficiency");\r
- virtual ~AliPHOSHijingEfficiency() {}\r
- \r
- virtual void UserCreateOutputObjects();\r
- virtual void UserExec(Option_t *option);\r
- virtual void Terminate(Option_t *);\r
- void SetPHOSBadMap(Int_t mod,TH2I * h)\r
- {\r
- if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;\r
- fPHOSBadMap[mod]=new TH2I(*h) ;\r
- printf("Set %s \n",fPHOSBadMap[mod]->GetName());\r
- }\r
- \r
-private:\r
- AliPHOSHijingEfficiency(const AliPHOSHijingEfficiency&); // not implemented\r
- AliPHOSHijingEfficiency& operator=(const AliPHOSHijingEfficiency&); // not implemented\r
- Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS\r
-\r
- void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key\r
- void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key\r
- void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key\r
- void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z, Double_t w) const ; //Fill 3D histogram witn name key\r
- void FillAllHistograms(const char * key,AliCaloPhoton * ph)const ; //Fill all possible PID combinations for a given photon\r
-\r
- Bool_t TestLambda(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
- Bool_t TestLambda2(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons\r
- Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge);\r
- Bool_t TestTOF(Double_t t, Double_t e) ;\r
- Int_t ConvertRunNumber(Int_t run) ; \r
- void ProcessMC() ;\r
- Int_t FindPrimary(AliESDCaloCluster* clu, Bool_t& sure) ;\r
-\r
- void EvalLambdas(AliESDCaloCluster * clu, Int_t iR,Double_t &m02, Double_t &m20);\r
- Double_t CoreEnergy(AliESDCaloCluster * clu); \r
- void Reclusterize(AliESDCaloCluster * clu) ;\r
- Bool_t AreNeibors(Int_t id1,Int_t id2) ;\r
- Double_t PrimaryWeight(Int_t primary);\r
- Double_t PrimaryParticleWeight(TParticle * particle);\r
- void FillSecondaries() ;\r
- Int_t FindCommonParent(Int_t iPart, Int_t jPart) ;\r
- Bool_t HaveParent(Int_t iPart, Int_t pdgParent);\r
- Bool_t InPi0mass(Double_t m, Double_t pt);\r
- \r
-private:\r
- AliStack * fStack ; //\r
- THashList * fOutputContainer; //final histogram container\r
- TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons\r
- TClonesArray * fPHOSEvent ; //PHOS photons in current event\r
- AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object\r
- \r
- //Reaction plain for v2\r
- Float_t fRP ; //Reaction plane calculated with full TPC \r
- Float_t fRPV0A ; //Reaction plain calculated with A-side TPC: eta>0.15 \r
- Float_t fRPV0C ; //Reaction plain calculated with C-side TPC: eta<-0.15\r
- Bool_t fHaveTPCRP ; // Is TPC RP defined?\r
- \r
- Int_t fRunNumber ; //Current run number\r
- Float_t fCentrality ; //Centrality of the currecnt event\r
-\r
- Int_t fCenBin ; // Current centrality bin\r
-\r
- TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map\r
-\r
- AliPHOSGeometry *fPHOSGeo; // PHOS geometry\r
- Int_t fEventCounter; // number of analyzed events\r
-\r
- ClassDef(AliPHOSHijingEfficiency, 1); // PHOS analysis task\r
-};\r
-\r
-#endif\r
+#ifndef AliPHOSHijingEfficiency_cxx
+#define AliPHOSHijingEfficiency_cxx
+
+// example of an analysis task creating a p_t spectrum
+// Authors: Panos Cristakoglou, Jan Fiete Grosse-Oetringhaus, Christian Klein-Boesing
+
+class TObjArray;
+class THashList ;
+class TH1F;
+class TH1D ;
+class TH2I;
+class TH2F;
+class TH3F;
+class TF1 ;
+class TParticle;
+class AliStack ;
+class AliESDtrackCuts;
+class AliPHOSGeometry;
+class AliESDEvent ;
+class AliPHOSCalibData;
+class AliESDtrack ;
+class AliESDCaloCluster ;
+class AliCaloPhoton ;
+
+#include "AliAnalysisTaskSE.h"
+
+class AliPHOSHijingEfficiency : public AliAnalysisTaskSE {
+public:
+ AliPHOSHijingEfficiency(const char *name = "AliPHOSHijingEfficiency");
+ virtual ~AliPHOSHijingEfficiency() {}
+
+ virtual void UserCreateOutputObjects();
+ virtual void UserExec(Option_t *option);
+ virtual void Terminate(Option_t *);
+ void SetPHOSBadMap(Int_t mod,TH2I * h)
+ {
+ if(fPHOSBadMap[mod]) delete fPHOSBadMap[mod] ;
+ fPHOSBadMap[mod]=new TH2I(*h) ;
+ printf("Set %s \n",fPHOSBadMap[mod]->GetName());
+ }
+
+private:
+ AliPHOSHijingEfficiency(const AliPHOSHijingEfficiency&); // not implemented
+ AliPHOSHijingEfficiency& operator=(const AliPHOSHijingEfficiency&); // not implemented
+ Bool_t IsGoodChannel(const char * det, Int_t mod,Int_t ix, Int_t iz); //Use addisional bad map for PHOS
+
+ void FillHistogram(const char * key,Double_t x) const ; //Fill 1D histogram witn name key
+ void FillHistogram(const char * key,Double_t x, Double_t y) const ; //Fill 2D histogram witn name key
+ void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z) const ; //Fill 3D histogram witn name key
+ void FillHistogram(const char * key,Double_t x, Double_t y, Double_t z, Double_t w) const ; //Fill 3D histogram witn name key
+ void FillAllHistograms(const char * key,AliCaloPhoton * ph)const ; //Fill all possible PID combinations for a given photon
+
+ Bool_t TestLambda(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons
+ Bool_t TestLambda2(Double_t pt,Double_t l1,Double_t l2) ; //Evaluate Dispersion cuts for photons
+ Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge);
+ Bool_t TestTOF(Double_t t, Double_t e) ;
+ Int_t ConvertRunNumber(Int_t run) ;
+ void ProcessMC() ;
+ Int_t FindPrimary(AliESDCaloCluster* clu, Bool_t& sure) ;
+
+ void EvalLambdas(AliESDCaloCluster * clu, Int_t iR,Double_t &m02, Double_t &m20);
+ Double_t CoreEnergy(AliESDCaloCluster * clu);
+ void Reclusterize(AliESDCaloCluster * clu) ;
+ Bool_t AreNeibors(Int_t id1,Int_t id2) ;
+ Double_t PrimaryWeight(Int_t primary);
+ Double_t PrimaryParticleWeight(TParticle * particle);
+ void FillSecondaries() ;
+ Int_t FindCommonParent(Int_t iPart, Int_t jPart) ;
+ Bool_t HaveParent(Int_t iPart, Int_t pdgParent);
+ Bool_t InPi0mass(Double_t m, Double_t pt);
+
+private:
+ AliStack * fStack ; //
+ THashList * fOutputContainer; //final histogram container
+ TList * fPHOSEvents[1][10][11] ; //Containers for events with PHOS photons
+ TClonesArray * fPHOSEvent ; //PHOS photons in current event
+ AliPHOSCalibData *fPHOSCalibData; // PHOS calibration object
+
+ //Reaction plain for v2
+ Float_t fRP ; //Reaction plane calculated with full TPC
+ Float_t fRPV0A ; //Reaction plain calculated with A-side TPC: eta>0.15
+ Float_t fRPV0C ; //Reaction plain calculated with C-side TPC: eta<-0.15
+ Bool_t fHaveTPCRP ; // Is TPC RP defined?
+
+ Int_t fRunNumber ; //Current run number
+ Float_t fCentrality ; //Centrality of the currecnt event
+
+ Int_t fCenBin ; // Current centrality bin
+
+ TH2I *fPHOSBadMap[6] ; //Container for PHOS bad channels map
+
+ AliPHOSGeometry *fPHOSGeo; // PHOS geometry
+ Int_t fEventCounter; // number of analyzed events
+
+ ClassDef(AliPHOSHijingEfficiency, 1); // PHOS analysis task
+};
+
+#endif