AliPhysics  a9863a5 (a9863a5)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalJetShapesMC.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALJETSHAPESMC_H
2 #define ALIANALYSISTASKEMCALJETSHAPESMC_H
3 
4 
15 
16 class TH1;
17 class TH2;
18 class TH3;
19 class TH3F;
20 class TTree;
21 class THnSparse;
22 class TClonesArray;
23 class TArrayI;
24 class AliAnalysisManager;
25 class AliJetContainer;
26 
28 
29 
30 
32  public:
33 
34  enum JetShapeType {
36  };
37  enum JetShapeSub {
38  kNoSub = 0,
39  kConstSub = 1,
40  kDerivSub = 2
41  };
44  kRecoil = 1
45  };
46 
50  };
51 
53  AliAnalysisTaskEmcalJetShapesMC(const char *name);
55 
57  void Terminate(Option_t *option);
58 
59  //Setters
60  void SetJetContainer(Int_t c) { fContainer = c ; }
61  void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
65  void SetJetPtThreshold(Float_t f) { fPtThreshold = f ; }
66  void SetRMatching(Float_t f) { fRMatching = f ;}
67  void SetJetRadius(Float_t f) { fJetRadius = f ;}
68  void SetSubjetRadius(Float_t f) { fSubjetRadius = f ;}
69  void SetSelectShapes(Int_t c) { fSelectedShapes = c;}
70  void SetPtTriggerSelections(Float_t minpT, Float_t maxpT) { fminpTTrig = minpT; fmaxpTTrig = maxpT; }
74  void SetCentralitySelectionOn(Bool_t t) { fCentSelectOn = t;}
76  void SetMinCentrality(Float_t t) { fCentMin = t ; }
77  void SetMaxCentrality(Float_t t) { fCentMax = t ; }
78  void SetSemigoodCorrect(Int_t yesno) {fSemigoodCorrect=yesno;}
79  void SetHolePos(Float_t poshole) { fHolePos = poshole; }
80  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
82 
83 
84 
85  protected:
86  Bool_t RetrieveEventObjects();
87  Bool_t Run();
88  Bool_t FillHistograms();
89 
90  Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb=0);
91  Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb=0);
92  Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb=0);
93  Float_t PTD(AliEmcalJet *jet, Int_t jetContNb=0);
94  Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb=0);
95  Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb=0);
96  Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb=0);
97  Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb=0);
98  Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb=0);
99  Float_t GetJetNumberOfConstituents(AliEmcalJet *jet,Int_t jetContNb=0);
100  Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb=0);
101  Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb=0);
102  void NTValues(AliEmcalJet *jet, Int_t jetContNb, Float_t* nTFractions);
103 
104  AliEmcalJetFinder* Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char* Name);
105 
106  Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B);
107  Double_t SubJetOrdering(AliEmcalJet *Jet, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t Type, Bool_t Index);
108 
109  Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer);
110 
111  Float_t CoreFrac(AliEmcalJet *jet, Int_t jetContNb=0);
112  Float_t GetJetCoreFrac(AliEmcalJet *jet, Int_t jetContNb=0);
113 
114 
115  Int_t SelectTrigger(Float_t minpT, Float_t maxpT);
116  Double_t RelativePhi(Double_t mphi, Double_t vphi);
117 
118  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
119  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
120  JetShapeType fJetShapeType; // jet type to be used
121  JetShapeSub fJetShapeSub; // jet subtraction to be used
122  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
123  Float_t *fShapesVar;
124  Float_t fPtThreshold;
125  Float_t fRMatching;
126  Float_t fJetRadius;
127  Float_t fSubjetRadius;
128  Int_t fSelectedShapes; //chose set of shapes
129  Float_t fminpTTrig; //min - max pT for trigger particle in case of recoil jet
130  Float_t fmaxpTTrig;
131  Float_t fangWindowRecoil; //angular window for btb recoil analysis
132  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
133  Float_t fHolePos; //position in radians of the bad TPC sector
134  Float_t fHoleWidth; //width of the hole in radians
135  Bool_t fCentSelectOn; // switch on/off centrality selection
136  Float_t fCentMin; // min centrality value
137  Float_t fCentMax; // max centrality value
138  Bool_t fOneConstSelectOn; // switch on/off one constituent selection
140 
141 
146  TH2F *fPtJetCorr;
147  TH1F *fPtJet;
148  TH2F *fhpTjetpT;
149  TH1F *fhPt;
150  TH1F *fhPhi;
152 
154 
155  private:
158 
160 };
161 #endif
162 
Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t * fShapesVar
! jet shapes used for the tagging
Float_t GetJetMass(AliEmcalJet *jet, Int_t jetContNb=0)
ClassDef(AliAnalysisTaskEmcalJetShapesMC, 1)
Float_t CoreFrac(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t GetJetCoreFrac(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t GetJetNumberOfConstituents(AliEmcalJet *jet, Int_t jetContNb=0)
Task to store and correlate the MC shapes.
TTree * fTreeObservableTagging
! Tree with tagging variables subtracted MC or true MC or raw
Double_t RelativePhi(Double_t mphi, Double_t vphi)
Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer)
Float_t PTD(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb=0)
TH2F * fhpTjetpT
! control plot fo the recoil analysis
Int_t SelectTrigger(Float_t minpT, Float_t maxpT)
Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb=0)
AliAnalysisTaskEmcalJetShapesMC & operator=(const AliAnalysisTaskEmcalJetShapesMC &)
Double_t SubJetOrdering(AliEmcalJet *Jet, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t Type, Bool_t Index)
void SetPtTriggerSelections(Float_t minpT, Float_t maxpT)
void NTValues(AliEmcalJet *jet, Int_t jetContNb, Float_t *nTFractions)
Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb=0)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb=0)
AliEmcalJetFinder * Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char *Name)
Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb=0)
Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B)
Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb=0)
Container for jet within the EMCAL jet framework.