]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnaConvIsolation.h
Updates for bunch crossing pileup, event selection, histogramming.
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnaConvIsolation.h
CommitLineData
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 18class TH2F;\r
19class TH1F;\r
2eedd4ed 20class AliAODConversionPhoton;\r
296f4e9c 21class AliAODConversionParticle;\r
fc7e3b59 22class TClonesArray;\r
23class TList;\r
24\r
296f4e9c 25using namespace std;\r
26\r
fc7e3b59 27class AliAnaConvIsolation : public TObject {\r
28\r
29public:\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