AliPhysics  5eaf189 (5eaf189)
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 TRandom3;
25 class TF1;
26 class AliAnalysisManager;
27 class AliJetContainer;
28 class AliEmcalJetFinder;
29 class AliFJWrapper;
30 
31 
32 
34 #include "AliFJWrapper.h"
35 #include "AliClusterContainer.h"
36 
37 
39  public:
40 
41  enum JetShapeType {
43  };
44  enum JetShapeSub {
45  kNoSub = 0,
46  kConstSub = 1,
47  kDerivSub = 2
48  };
51  kRecoil = 1
52  };
53 
57  };
58 
60  AliAnalysisTaskEmcalJetShapesMC(const char *name);
62 
64  void Terminate(Option_t *option);
65 
66  //Setters
80  void SetRMatching(Float_t f) { fRMatching = f ;}
81  void SetJetRadius(Float_t f) { fJetRadius = f ;}
84  void SetPtTriggerSelections(Float_t minpT, Float_t maxpT) { fminpTTrig = minpT; fmaxpTTrig = maxpT; }
91  void SetMinCentrality(Float_t t) { fCentMin = t ; }
92  void SetMaxCentrality(Float_t t) { fCentMax = t ; }
94  void SetHolePos(Float_t poshole) { fHolePos = poshole; }
95  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
98 
99 
100 
101  protected:
102 
104  Bool_t Run();
106 
107  Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb=0);
108  Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb=0);
109  Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb=0);
110  Float_t PTD(AliEmcalJet *jet, Int_t jetContNb=0);
111  Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb=0);
112  Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb=0);
113  Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb=0);
114  Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb=0);
115  Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb=0);
117  Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb=0);
118  Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb=0);
119  void NTValues(AliEmcalJet *jet, Int_t jetContNb, Float_t* nTFractions);
120  void SoftDrop(AliEmcalJet *fJet,AliJetContainer *fJetCont, Double_t zcut, Double_t beta, Int_t ReclusterAlgo);
121  void RecursiveParents(AliEmcalJet *fJet,AliJetContainer *fJetCont, Int_t ReclusterAlgo,Float_t PartonFlavor);
122  AliEmcalJetFinder* Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char* Name);
123 
124  //Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B);
126 
127  Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer);
128 
129  Float_t CoreFrac(AliEmcalJet *jet, Int_t jetContNb=0);
130  Float_t GetJetCoreFrac(AliEmcalJet *jet, Int_t jetContNb=0);
131 
132 
133  Double_t FjNSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Int_t N, Int_t Algorithm, Double_t Beta, Int_t Option, Double_t Beta_SD=0.0, Double_t ZCut=0.1, Int_t SoftDropOn=0);
134 
135 
136  Int_t SelectTrigger(Float_t minpT, Float_t maxpT);
138 
139  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
140  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
141  JetShapeType fJetShapeType; // jet type to be used
142  JetShapeSub fJetShapeSub; // jet subtraction to be used
143  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
144  Float_t fShapesVar[10]; // jet shapes used for the tagging
149  Int_t fSelectedShapes; //chose set of shapes
155  Int_t fAdditionalTracks; //number of extra tracks to stress the grooming
156  Float_t fHardCutoff; //hard cutoff in the iterative procedure
157  Float_t fminpTTrig; //min - max pT for trigger particle in case of recoil jet
159  Float_t fangWindowRecoil; //angular window for btb recoil analysis
160  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
161  Float_t fHolePos; //position in radians of the bad TPC sector
162  Float_t fHoleWidth; //width of the hole in radians
163  TRandom3 *fRandom;
164  Float_t fqhat; //qhat
165  Float_t fxlength; //medium length
166  Bool_t fCentSelectOn; // switch on/off centrality selection
167  Float_t fCentMin; // min centrality value
168  Float_t fCentMax; // max centrality value
169  Bool_t fOneConstSelectOn; // switch on/off one constituent selection
173 
179  TH1F *fPtJet;//
181  TH1F *fhPt;//
182  TH1F *fhPhi;//
183  THnSparse *fHLundIterative;//
184  THnSparse *fHLundIterativeInject;//
186 
188  TF1 *fTf1Omega;
189  TF1 *fTf1Kt;
190  private:
193 
194  ClassDef(AliAnalysisTaskEmcalJetShapesMC, 2);
195 };
196 #endif
197 
Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb=0)
Float_t GetJetMass(AliEmcalJet *jet, Int_t jetContNb=0)
double Double_t
Definition: External.C:58
Definition: External.C:260
Definition: External.C:236
Definition: External.C:244
Double_t FjNSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, Int_t N, Int_t Algorithm, Double_t Beta, Int_t Option, Double_t Beta_SD=0.0, Double_t ZCut=0.1, Int_t SoftDropOn=0)
void RecursiveParents(AliEmcalJet *fJet, AliJetContainer *fJetCont, Int_t ReclusterAlgo, Float_t PartonFlavor)
TCanvas * c
Definition: TestFitELoss.C:172
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)
int Int_t
Definition: External.C:63
Float_t GetJetNumberOfConstituents(AliEmcalJet *jet, Int_t jetContNb=0)
float Float_t
Definition: External.C:68
Float_t fqhat
Random number generator.
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)
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer)
Definition: Option.C:68
AliEmcalJetFinder * Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char *Name)
Float_t PTD(AliEmcalJet *jet, Int_t jetContNb=0)
TF1 * fTf1Kt
to generate omega according to BDMPS tail
Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb=0)
Int_t SelectTrigger(Float_t minpT, Float_t maxpT)
Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb=0)
Bool_t FillHistograms()
Function filling histograms.
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
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)
Definition: External.C:220
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:51
Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb=0)
void SoftDrop(AliEmcalJet *fJet, AliJetContainer *fJetCont, Double_t zcut, Double_t beta, Int_t ReclusterAlgo)
const char Option_t
Definition: External.C:48
Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb=0)
bool Bool_t
Definition: External.C:53
Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb=0)
Container for jet within the EMCAL jet framework.
Definition: External.C:196