-/* This file is property of and copyright *\r
- * ALICE Experiment at CERN, All rights reserved. *\r
- * See cxx source for full Copyright notice */\r
-\r
-/// @file AliAnalysisTaskGammaJet.h\r
-/// @author Svein Lindal\r
-/// @brief Class used to run isolation studies of conversion gamma/pions\r
- \r
-\r
-#ifndef ALIANACONVISOLATION_CXX\r
-#define ALIANACONVISOLATION_CXX\r
-\r
-#include <iostream>\r
-#include "TObject.h"\r
-#include "Rtypes.h"\r
-#include "TF1.h"\r
-#include <TMath.h>\r
-class TH2F;\r
-class TH1F;\r
-class AliAODConversionPhoton;\r
-class AliAODConversionParticle;\r
-class TClonesArray;\r
-class TList;\r
-\r
-using namespace std;\r
-\r
-class AliAnaConvIsolation : public TObject {\r
-\r
-public:\r
- \r
- AliAnaConvIsolation(); \r
- AliAnaConvIsolation(Float_t coneSize, Float_t maxPtThreshold, Float_t sumPtThreshold, Float_t maxPtFraction, Float_t sumPtFraction);\r
- virtual ~AliAnaConvIsolation();\r
- \r
-\r
- //void CreateHistograms();\r
-\r
-\r
- ///Set And get cone size\r
- void SetConeSize(Float_t cs) {fConeSize = cs*cs;}\r
- Float_t GetConeSize() const {return TMath::Sqrt(fConeSize);}\r
-\r
-\r
- //Set and get max pt threshold\r
- void SetMaxPtThreshold(Float_t cs) {fMaxPtThreshold = cs;}\r
- Float_t GetPtThreshold() const {return fMaxPtThreshold;}\r
-\r
-\r
- //Set and get sum pt threshold\r
- void SetSumPtThreshold(Float_t cs) {fSumPtThreshold = cs;}\r
- Float_t GetPtSumThreshold() const {return fSumPtThreshold;}\r
-\r
- //Set and get max Pt fraction threshold\r
- void SetMaxPtFraction(Float_t cs) {fMaxPtFraction = cs;}\r
- Float_t GetPtFraction() const {return fMaxPtFraction;}\r
-\r
- //Set and get sum pt fraction threshold\r
- void SetSumPtFraction(Float_t cs) {fSumPtFraction = cs;}\r
- Float_t GetPtSumFraction() const {return fSumPtFraction;}\r
-\r
- //Set min pt for a particle to be counted in bg\r
- void SetMinPt( Float_t minpt) {fMinPt = minpt; }\r
-\r
- //Get isolation curve\r
- TF1 * GetIsolationCurve() const { return fIsoCurve; }\r
-\r
- //Set function of isolation curve\r
- void SetIsolationCurve(TString curve) { \r
- fCurveFunction = curve;\r
- }\r
-\r
- Bool_t IsLeading(AliAODConversionParticle * particle, const TObjArray * tracks, const TObjArray * aodParticles);\r
-\r
-\r
- //Fill histograms\r
- //void FillHistograms(Float_t pt, Float_t ptMax, Float_t ptSum, Bool_t isolated, Int_t nTracks);\r
-\r
- //Get list of histograms\r
- //TList * GetHistograms() const { return fHistograms;}\r
-\r
- //Is particle isolated\r
- Bool_t IsIsolated( const AliAODConversionPhoton * const particle, const TClonesArray * const tracks, Bool_t &leading);\r
- Bool_t IsIsolated( AliAODConversionPhoton * const particle, const TClonesArray * const tracks, const Int_t nSpawn, const Int_t * const spawn, Bool_t &leading );\r
- Int_t IsLeading(const AliAODConversionParticle * particle, const TObjArray * tracks, const Int_t * tIDs) const;\r
-\r
- //Is eta - phi distance smaller than conesize ?\r
- Bool_t IsInCone(Float_t dEta, Float_t dPhi, const Float_t coneSize) const {\r
- dPhi = (TMath::Abs(dPhi) < TMath::Pi()) ? dPhi : TMath::TwoPi() - TMath::Abs(dPhi); \r
- return ( (dEta*dEta + dPhi*dPhi) < coneSize);\r
- }\r
-\r
- private:\r
-\r
- ///Evaluate whether particle is isolated according to criterie\r
- Bool_t EvaluateIsolationCriteria(Float_t ptSum, Float_t pt) const;\r
-\r
- TF1 * fIsoCurve; ///Curve defining if particle is isolated or not \r
- TString fCurveFunction; ///Funtion defining curve\r
-\r
- Float_t fConeSize; //Size of isolation cone\r
- Float_t fMinPt; //min pt for bg particles\r
- Float_t fMaxPtThreshold; //max pt threshold\r
- Float_t fSumPtThreshold; //sum pt threhold\r
- Float_t fMaxPtFraction; //max pt fraction threshold\r
- Float_t fSumPtFraction; //sum pt fraction threshold\r
-\r
- // TList * fHistograms; //list of histograms\r
-\r
- // TH2F * fhMaxPtInCone[2]; //histogram of max pt in cone\r
- // TH2F * fhSumPtInCone[2]; //histogram of sum pt in cone\r
- // TH2F * fhSumPtVsMaxPt[2];//sum pt vs max pt\r
- \r
- // // TH1F * fHistSumPt[2][2]; \r
- // // TH1F * fHistMaxPt[2][2];\r
- \r
- // TH1F * fhPtCandidates[2]; //pt distribution of isolation candidates\r
- // TH1F * fhTrackMult[2]; //Track multiplicity of events with / wo isolated particles\r
- \r
-\r
- // Float_t fHistogramMaxPt; //Upper pt limit in histograms\r
-\r
-\r
- AliAnaConvIsolation(const AliAnaConvIsolation&); // not implemented\r
- AliAnaConvIsolation& operator=(const AliAnaConvIsolation&); // not implemented\r
- ClassDef(AliAnaConvIsolation, 2); // example of analysis\r
-};\r
-\r
-#endif\r
+/* This file is property of and copyright *
+ * ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/// @file AliAnalysisTaskGammaJet.h
+/// @author Svein Lindal
+/// @brief Class used to run isolation studies of conversion gamma/pions
+
+
+#ifndef ALIANACONVISOLATION_CXX
+#define ALIANACONVISOLATION_CXX
+
+#include <iostream>
+#include "TObject.h"
+#include "Rtypes.h"
+#include "TF1.h"
+#include <TMath.h>
+class TH2F;
+class TH1F;
+class AliAODConversionPhoton;
+class AliAODConversionParticle;
+class TClonesArray;
+class TList;
+
+using namespace std;
+
+class AliAnaConvIsolation : public TObject {
+
+public:
+
+ AliAnaConvIsolation();
+ AliAnaConvIsolation(Float_t coneSize, Float_t maxPtThreshold, Float_t sumPtThreshold, Float_t maxPtFraction, Float_t sumPtFraction);
+ virtual ~AliAnaConvIsolation();
+
+
+ //void CreateHistograms();
+
+
+ ///Set And get cone size
+ void SetConeSize(Float_t cs) {fConeSize = cs*cs;}
+ Float_t GetConeSize() const {return TMath::Sqrt(fConeSize);}
+
+
+ //Set and get max pt threshold
+ void SetMaxPtThreshold(Float_t cs) {fMaxPtThreshold = cs;}
+ Float_t GetPtThreshold() const {return fMaxPtThreshold;}
+
+
+ //Set and get sum pt threshold
+ void SetSumPtThreshold(Float_t cs) {fSumPtThreshold = cs;}
+ Float_t GetPtSumThreshold() const {return fSumPtThreshold;}
+
+ //Set and get max Pt fraction threshold
+ void SetMaxPtFraction(Float_t cs) {fMaxPtFraction = cs;}
+ Float_t GetPtFraction() const {return fMaxPtFraction;}
+
+ //Set and get sum pt fraction threshold
+ void SetSumPtFraction(Float_t cs) {fSumPtFraction = cs;}
+ Float_t GetPtSumFraction() const {return fSumPtFraction;}
+
+ //Set min pt for a particle to be counted in bg
+ void SetMinPt( Float_t minpt) {fMinPt = minpt; }
+
+ //Get isolation curve
+ TF1 * GetIsolationCurve() const { return fIsoCurve; }
+
+ //Set function of isolation curve
+ void SetIsolationCurve(TString curve) {
+ fCurveFunction = curve;
+ }
+
+ Bool_t IsLeading(AliAODConversionParticle * particle, const TObjArray * tracks, const TObjArray * aodParticles);
+
+
+ //Fill histograms
+ //void FillHistograms(Float_t pt, Float_t ptMax, Float_t ptSum, Bool_t isolated, Int_t nTracks);
+
+ //Get list of histograms
+ //TList * GetHistograms() const { return fHistograms;}
+
+ //Is particle isolated
+ Bool_t IsIsolated( const AliAODConversionPhoton * const particle, const TClonesArray * const tracks, Bool_t &leading);
+ Bool_t IsIsolated( AliAODConversionPhoton * const particle, const TClonesArray * const tracks, const Int_t nSpawn, const Int_t * const spawn, Bool_t &leading );
+ Int_t IsLeading(const AliAODConversionParticle * particle, const TObjArray * tracks, const Int_t * tIDs) const;
+
+ //Is eta - phi distance smaller than conesize ?
+ Bool_t IsInCone(Float_t dEta, Float_t dPhi, const Float_t coneSize) const {
+ dPhi = (TMath::Abs(dPhi) < TMath::Pi()) ? dPhi : TMath::TwoPi() - TMath::Abs(dPhi);
+ return ( (dEta*dEta + dPhi*dPhi) < coneSize);
+ }
+
+ private:
+
+ ///Evaluate whether particle is isolated according to criterie
+ Bool_t EvaluateIsolationCriteria(Float_t ptSum, Float_t pt) const;
+
+ TF1 * fIsoCurve; ///Curve defining if particle is isolated or not
+ TString fCurveFunction; ///Funtion defining curve
+
+ Float_t fConeSize; //Size of isolation cone
+ Float_t fMinPt; //min pt for bg particles
+ Float_t fMaxPtThreshold; //max pt threshold
+ Float_t fSumPtThreshold; //sum pt threhold
+ Float_t fMaxPtFraction; //max pt fraction threshold
+ Float_t fSumPtFraction; //sum pt fraction threshold
+
+ // TList * fHistograms; //list of histograms
+
+ // TH2F * fhMaxPtInCone[2]; //histogram of max pt in cone
+ // TH2F * fhSumPtInCone[2]; //histogram of sum pt in cone
+ // TH2F * fhSumPtVsMaxPt[2];//sum pt vs max pt
+
+ // // TH1F * fHistSumPt[2][2];
+ // // TH1F * fHistMaxPt[2][2];
+
+ // TH1F * fhPtCandidates[2]; //pt distribution of isolation candidates
+ // TH1F * fhTrackMult[2]; //Track multiplicity of events with / wo isolated particles
+
+
+ // Float_t fHistogramMaxPt; //Upper pt limit in histograms
+
+
+ AliAnaConvIsolation(const AliAnaConvIsolation&); // not implemented
+ AliAnaConvIsolation& operator=(const AliAnaConvIsolation&); // not implemented
+ ClassDef(AliAnaConvIsolation, 2); // example of analysis
+};
+
+#endif