]>
Commit | Line | Data |
---|---|---|
fc7e3b59 | 1 | /* This file is property of and copyright *\r |
2 | * ALICE Experiment at CERN, All rights reserved. *\r | |
3 | * See cxx source for full Copyright notice */\r | |
4 | \r | |
5 | /// @file AliAnalysisTaskGammaJet.h\r | |
6 | /// @author Svein Lindal\r | |
7 | /// @brief Class used to run isolation studies of conversion gamma/pions\r | |
8 | \r | |
9 | \r | |
92efd725 | 10 | #ifndef ALIANACONVISOLATION_CXX\r |
11 | #define ALIANACONVISOLATION_CXX\r | |
fc7e3b59 | 12 | \r |
296f4e9c | 13 | #include <iostream>\r |
fc7e3b59 | 14 | #include "TObject.h"\r |
15 | #include "Rtypes.h"\r | |
92efd725 | 16 | #include "TF1.h"\r |
296f4e9c | 17 | #include <TMath.h>\r |
fc7e3b59 | 18 | class TH2F;\r |
19 | class TH1F;\r | |
2eedd4ed | 20 | class AliAODConversionPhoton;\r |
296f4e9c | 21 | class AliAODConversionParticle;\r |
fc7e3b59 | 22 | class TClonesArray;\r |
23 | class TList;\r | |
24 | \r | |
296f4e9c | 25 | using namespace std;\r |
26 | \r | |
fc7e3b59 | 27 | class AliAnaConvIsolation : public TObject {\r |
28 | \r | |
29 | public:\r | |
30 | \r | |
31 | AliAnaConvIsolation(); \r | |
32 | AliAnaConvIsolation(Float_t coneSize, Float_t maxPtThreshold, Float_t sumPtThreshold, Float_t maxPtFraction, Float_t sumPtFraction);\r | |
33 | virtual ~AliAnaConvIsolation();\r | |
34 | \r | |
35 | \r | |
838d7335 | 36 | //void CreateHistograms();\r |
fc7e3b59 | 37 | \r |
38 | \r | |
39 | ///Set And get cone size\r | |
296f4e9c | 40 | void SetConeSize(Float_t cs) {fConeSize = cs*cs;}\r |
41 | Float_t GetConeSize() const {return TMath::Sqrt(fConeSize);}\r | |
fc7e3b59 | 42 | \r |
43 | \r | |
44 | //Set and get max pt threshold\r | |
45 | void SetMaxPtThreshold(Float_t cs) {fMaxPtThreshold = cs;}\r | |
46 | Float_t GetPtThreshold() const {return fMaxPtThreshold;}\r | |
47 | \r | |
48 | \r | |
49 | //Set and get sum pt threshold\r | |
50 | void SetSumPtThreshold(Float_t cs) {fSumPtThreshold = cs;}\r | |
51 | Float_t GetPtSumThreshold() const {return fSumPtThreshold;}\r | |
52 | \r | |
53 | //Set and get max Pt fraction threshold\r | |
54 | void SetMaxPtFraction(Float_t cs) {fMaxPtFraction = cs;}\r | |
55 | Float_t GetPtFraction() const {return fMaxPtFraction;}\r | |
56 | \r | |
57 | //Set and get sum pt fraction threshold\r | |
58 | void SetSumPtFraction(Float_t cs) {fSumPtFraction = cs;}\r | |
59 | Float_t GetPtSumFraction() const {return fSumPtFraction;}\r | |
60 | \r | |
61 | //Set min pt for a particle to be counted in bg\r | |
62 | void SetMinPt( Float_t minpt) {fMinPt = minpt; }\r | |
63 | \r | |
64 | //Get isolation curve\r | |
65 | TF1 * GetIsolationCurve() const { return fIsoCurve; }\r | |
66 | \r | |
67 | //Set function of isolation curve\r | |
68 | void SetIsolationCurve(TString curve) { \r | |
69 | fCurveFunction = curve;\r | |
70 | }\r | |
71 | \r | |
296f4e9c | 72 | Bool_t IsLeading(AliAODConversionParticle * particle, const TObjArray * tracks, const TObjArray * aodParticles);\r |
73 | \r | |
74 | \r | |
fc7e3b59 | 75 | //Fill histograms\r |
838d7335 | 76 | //void FillHistograms(Float_t pt, Float_t ptMax, Float_t ptSum, Bool_t isolated, Int_t nTracks);\r |
fc7e3b59 | 77 | \r |
78 | //Get list of histograms\r | |
838d7335 | 79 | //TList * GetHistograms() const { return fHistograms;}\r |
fc7e3b59 | 80 | \r |
81 | //Is particle isolated\r | |
2eedd4ed | 82 | Bool_t IsIsolated( const AliAODConversionPhoton * const particle, const TClonesArray * const tracks, Bool_t &leading);\r |
83 | Bool_t IsIsolated( AliAODConversionPhoton * const particle, const TClonesArray * const tracks, const Int_t nSpawn, const Int_t * const spawn, Bool_t &leading );\r | |
3bff49c3 | 84 | Int_t IsLeading(const AliAODConversionParticle * particle, const TObjArray * tracks, const Int_t * tIDs) const;\r |
fc7e3b59 | 85 | \r |
fc7e3b59 | 86 | //Is eta - phi distance smaller than conesize ?\r |
296f4e9c | 87 | Bool_t IsInCone(Float_t dEta, Float_t dPhi, const Float_t coneSize) const {\r |
88 | dPhi = (TMath::Abs(dPhi) < TMath::Pi()) ? dPhi : TMath::TwoPi() - TMath::Abs(dPhi); \r | |
89 | return ( (dEta*dEta + dPhi*dPhi) < coneSize);\r | |
fc7e3b59 | 90 | }\r |
91 | \r | |
296f4e9c | 92 | private:\r |
93 | \r | |
fc7e3b59 | 94 | ///Evaluate whether particle is isolated according to criterie\r |
95 | Bool_t EvaluateIsolationCriteria(Float_t ptSum, Float_t pt) const;\r | |
96 | \r | |
97 | TF1 * fIsoCurve; ///Curve defining if particle is isolated or not \r | |
98 | TString fCurveFunction; ///Funtion defining curve\r | |
99 | \r | |
100 | Float_t fConeSize; //Size of isolation cone\r | |
101 | Float_t fMinPt; //min pt for bg particles\r | |
102 | Float_t fMaxPtThreshold; //max pt threshold\r | |
103 | Float_t fSumPtThreshold; //sum pt threhold\r | |
104 | Float_t fMaxPtFraction; //max pt fraction threshold\r | |
105 | Float_t fSumPtFraction; //sum pt fraction threshold\r | |
106 | \r | |
838d7335 | 107 | // TList * fHistograms; //list of histograms\r |
fc7e3b59 | 108 | \r |
838d7335 | 109 | // TH2F * fhMaxPtInCone[2]; //histogram of max pt in cone\r |
110 | // TH2F * fhSumPtInCone[2]; //histogram of sum pt in cone\r | |
111 | // TH2F * fhSumPtVsMaxPt[2];//sum pt vs max pt\r | |
fc7e3b59 | 112 | \r |
838d7335 | 113 | // // TH1F * fHistSumPt[2][2]; \r |
114 | // // TH1F * fHistMaxPt[2][2];\r | |
fc7e3b59 | 115 | \r |
838d7335 | 116 | // TH1F * fhPtCandidates[2]; //pt distribution of isolation candidates\r |
117 | // TH1F * fhTrackMult[2]; //Track multiplicity of events with / wo isolated particles\r | |
fc7e3b59 | 118 | \r |
119 | \r | |
838d7335 | 120 | // Float_t fHistogramMaxPt; //Upper pt limit in histograms\r |
fc7e3b59 | 121 | \r |
122 | \r | |
123 | AliAnaConvIsolation(const AliAnaConvIsolation&); // not implemented\r | |
124 | AliAnaConvIsolation& operator=(const AliAnaConvIsolation&); // not implemented\r | |
125 | ClassDef(AliAnaConvIsolation, 2); // example of analysis\r | |
126 | };\r | |
127 | \r | |
128 | #endif\r |