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
5 /// @file AliAnalysisTaskGammaJet.h
\r
6 /// @author Svein Lindal
\r
7 /// @brief Class used to run isolation studies of conversion gamma/pions
\r
10 #ifndef ALIANACONVISOLATION_CXX
\r
11 #define ALIANACONVISOLATION_CXX
\r
13 #include "TObject.h"
\r
18 class AliAODConversionParticle;
\r
22 class AliAnaConvIsolation : public TObject {
\r
26 AliAnaConvIsolation();
\r
27 AliAnaConvIsolation(Float_t coneSize, Float_t maxPtThreshold, Float_t sumPtThreshold, Float_t maxPtFraction, Float_t sumPtFraction);
\r
28 virtual ~AliAnaConvIsolation();
\r
31 void CreateHistograms();
\r
34 ///Set And get cone size
\r
35 void SetConeSize(Float_t cs) {fConeSize = cs;}
\r
36 Float_t GetConeSize() const {return fConeSize;}
\r
39 //Set and get max pt threshold
\r
40 void SetMaxPtThreshold(Float_t cs) {fMaxPtThreshold = cs;}
\r
41 Float_t GetPtThreshold() const {return fMaxPtThreshold;}
\r
44 //Set and get sum pt threshold
\r
45 void SetSumPtThreshold(Float_t cs) {fSumPtThreshold = cs;}
\r
46 Float_t GetPtSumThreshold() const {return fSumPtThreshold;}
\r
48 //Set and get max Pt fraction threshold
\r
49 void SetMaxPtFraction(Float_t cs) {fMaxPtFraction = cs;}
\r
50 Float_t GetPtFraction() const {return fMaxPtFraction;}
\r
52 //Set and get sum pt fraction threshold
\r
53 void SetSumPtFraction(Float_t cs) {fSumPtFraction = cs;}
\r
54 Float_t GetPtSumFraction() const {return fSumPtFraction;}
\r
56 //Set min pt for a particle to be counted in bg
\r
57 void SetMinPt( Float_t minpt) {fMinPt = minpt; }
\r
59 //Get isolation curve
\r
60 TF1 * GetIsolationCurve() const { return fIsoCurve; }
\r
62 //Set function of isolation curve
\r
63 void SetIsolationCurve(TString curve) {
\r
64 fCurveFunction = curve;
\r
68 void FillHistograms(Float_t pt, Float_t ptMax, Float_t ptSum, Bool_t isolated, Int_t nTracks);
\r
70 //Get list of histograms
\r
71 TList * GetHistograms() const { return fHistograms;}
\r
73 //Is particle isolated
\r
74 Bool_t IsIsolated( const AliAODConversionParticle * const particle, const TClonesArray * const tracks, Bool_t &leading);
\r
75 Bool_t IsIsolated( AliAODConversionParticle * const particle, const TClonesArray * const tracks, const Int_t nSpawn, const Int_t * const spawn, Bool_t &leading );
\r
79 //Is eta - phi distance smaller than conesize ?
\r
80 Bool_t IsInCone(Float_t dEta, Float_t dPhi, Float_t coneSize) const {
\r
81 return ( (dEta*dEta + dPhi*dPhi) < coneSize*coneSize);
\r
84 ///Evaluate whether particle is isolated according to criterie
\r
85 Bool_t EvaluateIsolationCriteria(Float_t ptSum, Float_t pt) const;
\r
87 TF1 * fIsoCurve; ///Curve defining if particle is isolated or not
\r
88 TString fCurveFunction; ///Funtion defining curve
\r
90 Float_t fConeSize; //Size of isolation cone
\r
91 Float_t fMinPt; //min pt for bg particles
\r
92 Float_t fMaxPtThreshold; //max pt threshold
\r
93 Float_t fSumPtThreshold; //sum pt threhold
\r
94 Float_t fMaxPtFraction; //max pt fraction threshold
\r
95 Float_t fSumPtFraction; //sum pt fraction threshold
\r
97 TList * fHistograms; //list of histograms
\r
99 TH2F * fhMaxPtInCone[2]; //histogram of max pt in cone
\r
100 TH2F * fhSumPtInCone[2]; //histogram of sum pt in cone
\r
101 TH2F * fhSumPtVsMaxPt[2];//sum pt vs max pt
\r
103 // TH1F * fHistSumPt[2][2];
\r
104 // TH1F * fHistMaxPt[2][2];
\r
106 TH1F * fhPtCandidates[2]; //pt distribution of isolation candidates
\r
107 TH1F * fhTrackMult[2]; //Track multiplicity of events with / wo isolated particles
\r
110 Float_t fHistogramMaxPt; //Upper pt limit in histograms
\r
113 AliAnaConvIsolation(const AliAnaConvIsolation&); // not implemented
\r
114 AliAnaConvIsolation& operator=(const AliAnaConvIsolation&); // not implemented
\r
115 ClassDef(AliAnaConvIsolation, 2); // example of analysis
\r