AliPhysics  32e057f (32e057f)
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
79  void SetRMatching(Float_t f) { fRMatching = f ;}
80  void SetJetRadius(Float_t f) { fJetRadius = f ;}
83  void SetPtTriggerSelections(Float_t minpT, Float_t maxpT) { fminpTTrig = minpT; fmaxpTTrig = maxpT; }
90  void SetMinCentrality(Float_t t) { fCentMin = t ; }
91  void SetMaxCentrality(Float_t t) { fCentMax = t ; }
93  void SetHolePos(Float_t poshole) { fHolePos = poshole; }
94  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
96 
97 
98 
99  protected:
100 
102  Bool_t Run();
104 
105  Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb=0);
106  Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb=0);
107  Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb=0);
108  Float_t PTD(AliEmcalJet *jet, Int_t jetContNb=0);
109  Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb=0);
110  Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb=0);
111  Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb=0);
112  Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb=0);
113  Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb=0);
115  Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb=0);
116  Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb=0);
117  void NTValues(AliEmcalJet *jet, Int_t jetContNb, Float_t* nTFractions);
118  void SoftDrop(AliEmcalJet *fJet,AliJetContainer *fJetCont, Double_t zcut, Double_t beta, Int_t ReclusterAlgo);
119  void RecursiveParents(AliEmcalJet *fJet,AliJetContainer *fJetCont, Int_t ReclusterAlgo);
120  AliEmcalJetFinder* Recluster(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, Double_t SubJetRadius, Double_t SubJetMinPt, Int_t Algorithm, const char* Name);
121 
122  //Double_t NSubJettiness(AliEmcalJet *Jet, Int_t JetContNb, AliEmcalJetFinder *Reclusterer, Int_t N, Int_t A, Int_t B);
124 
125  Double_t GetSubjetFraction(AliEmcalJet *Jet, Int_t JetContNb, Double_t JetRadius, AliEmcalJetFinder *Reclusterer);
126 
127  Float_t CoreFrac(AliEmcalJet *jet, Int_t jetContNb=0);
128  Float_t GetJetCoreFrac(AliEmcalJet *jet, Int_t jetContNb=0);
129 
130 
131  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);
132 
133 
134  Int_t SelectTrigger(Float_t minpT, Float_t maxpT);
136 
137  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
138  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
139  JetShapeType fJetShapeType; // jet type to be used
140  JetShapeSub fJetShapeSub; // jet subtraction to be used
141  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
142  Float_t fShapesVar[54]; // jet shapes used for the tagging
147  Int_t fSelectedShapes; //chose set of shapes
153  Int_t fAdditionalTracks; //number of extra tracks to stress the grooming
154  Float_t fminpTTrig; //min - max pT for trigger particle in case of recoil jet
156  Float_t fangWindowRecoil; //angular window for btb recoil analysis
157  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
158  Float_t fHolePos; //position in radians of the bad TPC sector
159  Float_t fHoleWidth; //width of the hole in radians
160  TRandom3 *fRandom;
161  Float_t fqhat; //qhat
162  Float_t fxlength; //medium length
163  Bool_t fCentSelectOn; // switch on/off centrality selection
164  Float_t fCentMin; // min centrality value
165  Float_t fCentMax; // max centrality value
166  Bool_t fOneConstSelectOn; // switch on/off one constituent selection
168 
169 
175  TH1F *fPtJet;//
177  TH1F *fhPt;//
178  TH1F *fhPhi;//
179  THnSparse *fHLundIterative;//
180  THnSparse *fHLundIterativeInject;//
182 
184  TF1 *fTf1Omega;
185  TF1 *fTf1Kt;
186  private:
189 
190  ClassDef(AliAnalysisTaskEmcalJetShapesMC, 2);
191 };
192 #endif
193 
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
void RecursiveParents(AliEmcalJet *fJet, AliJetContainer *fJetCont, Int_t ReclusterAlgo)
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)
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