AliPhysics  aaf9c62 (aaf9c62)
AliAnalysisTaskRecoilJetYield.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKRECOILJETYIELD_H
2 #define ALIANALYSISTASKRECOILJETYIELD_H
3 
4 #define LOG_NO_WARNING
5 
6 class TH1;
7 class TH2;
8 class TH3;
9 class TH3F;
10 class TTree;
11 class THnSparse;
12 class TClonesArray;
13 class TArrayI;
14 class AliAnalysisManager;
15 class AliJetContainer;
16 class AliEmcalJetFinder;
17 class AliFJWrapper;
18 
20 #include "AliFJWrapper.h"
21 #include "AliClusterContainer.h"
22 #include "FJ_includes.h"
23 
24 const Int_t nBranch = 22;
26  public:
27 
28  enum JetShapeType {
29  kTrue = 0, // generated jets only
30  kTrueDet =1, // detector and generated jets
31  kData = 2, // raw data
32  kDetEmbPart = 3, //detector embedded jets
33  kSim = 4,
34  kGenOnTheFly=5 //fast truth level MC
35  };
36  enum JetShapeSub {
37  kNoSub = 0,
38  kConstSub = 1,
40  };
43  kRecoil = 1
44  };
48  };
49 
51  AliAnalysisTaskRecoilJetYield(const char *name);
53 
55  void Terminate(Option_t *option);
56 
57  //Setters
64  void SetJetRadius(Double_t JetRadius) {fJetRadius=JetRadius;}
65  void SetRMatching(Float_t f) { fRMatching = f ;}
74  void SetHolePos(Float_t poshole) { fHolePos = poshole;}
75  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth;}
76  void SetSubJetAlgorithm(Int_t SubJetAlgorithm) {fSubJetAlgorithm=SubJetAlgorithm;}
77  void SetSubJetRadius(Float_t SubJetRadius) {fSubJetRadius=SubJetRadius;}
78  void SetSubJetMinPt(Float_t SubJetMinPt) {fSubJetMinPt=SubJetMinPt;}
79  void SetRMatched(Double_t RMatched) {fRMatched=RMatched;}
80  void SetSharedFractionPtMin(Double_t SharedFractionPtMin) {fSharedFractionPtMin=SharedFractionPtMin;}
82  void SetFullTree(Bool_t FullTree) {fFullTree = FullTree;}
83  void SetBetaSD(Double_t BetaSD) {fBeta_SD = BetaSD;}
84  void SetZCut(Double_t ZCut) {fZCut = ZCut;}
86 
87  void SetNsubUnNormMeasure( Bool_t NsubMeasure) {fNsubMeasure= NsubMeasure;}
88  void SetRhoName(const char *r) {fRhoName = r;}
89  void SetSoftDropRecluster(Int_t n) {fReclusterAlgo = n;} //0 = CA, 1 = anti-kt, 2 = kt
92 
93 
94  protected:
96  Bool_t Run();
98 
101 
102  Double_t Angularity(AliEmcalJet *Jet, Int_t JetContNb);
103  Double_t PTD(AliEmcalJet *Jet, Int_t JetContNb);
104  void SoftDrop(AliEmcalJet *fJet,AliJetContainer *fJetCont, double zcut, double beta, Bool_t fTruthJet);
107  Double_t LeadingTrackPt(fastjet::PseudoJet jet);
108  static Bool_t SameParticle(const AliVParticle* part1, const AliVParticle* part2, Double_t dist = 1.e-4);
109  void RecursiveParents(AliEmcalJet *fJet,AliJetContainer *fJetCont, Int_t ReclusterAlgo, Bool_t bTrue);
110 
111 
112 
113 
114  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
115  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
116  JetShapeType fJetShapeType; // jet type to be used
117  JetShapeSub fJetShapeSub; // jet subtraction to be used
118  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
119  Double_t fJetInfoVar[nBranch]; // jet shapes used for the tagging
122 
123  Float_t fPtMinTriggerHadron; //min - max pT for trigger particle in case of recoil jet
125  Float_t fRecoilAngularWindow; //angular window for btb recoil analysis
126  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
127  Float_t fHolePos; //position in radians of the bad TPC sector
128  Float_t fHoleWidth; //width of the hole in radians
129  Bool_t fCentSelectOn; // switch on/off centrality selection
130  Float_t fCentMin; // min centrality value
131  Float_t fCentMax; // max centrality value
151 
152 
155 
156  TH1F *fhJetPt;
157  TH1F *fhJetPhi;
158  TH1F *fhJetEta;
159  TH1F *fhJetMass;
160  TH1F *fhJetRadius;
163  TH1F *fhJetArea;
169  TH1F *fhTrackPt;
174  TTree *fTreeJetInfo; //Tree with tagging variables subtracted MC or true MC or raw
175 
176  TH1F *fhJetPt_Det;
191  THnSparse *fhLundIterative;
193 
194 
195 
196  private:
199 
200  ClassDef(AliAnalysisTaskRecoilJetYield, 6)
201 };
202 #endif
203 
void SetSharedFractionPtMin(Double_t SharedFractionPtMin)
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
double Double_t
Definition: External.C:58
Definition: External.C:260
Double_t PTD(AliEmcalJet *Jet, Int_t JetContNb)
Definition: External.C:236
Definition: External.C:244
Bool_t FillHistograms()
Function filling histograms.
TCanvas * c
Definition: TestFitELoss.C:172
void SoftDrop(AliEmcalJet *fJet, AliJetContainer *fJetCont, double zcut, double beta, Bool_t fTruthJet)
Container for particles within the EMCAL framework.
void SetSubJetAlgorithm(Int_t SubJetAlgorithm)
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
Int_t SelectTriggerHadron(Float_t PtMin, Float_t PtMax)
Double_t GetFractionSharedPt_SubMatching(const AliEmcalJet *jet, AliParticleContainer *cont2=0x0) const
const Int_t nBranch
Double_t Angularity(AliEmcalJet *Jet, Int_t JetContNb)
Double_t RelativePhi(Double_t Phi1, Double_t Phi2)
static Bool_t SameParticle(const AliVParticle *part1, const AliVParticle *part2, Double_t dist=1.e-4)
void SetSubJetRadius(Float_t SubJetRadius)
Definition: External.C:220
void SetNsubUnNormMeasure(Bool_t NsubMeasure)
AliAnalysisTaskRecoilJetYield & operator=(const AliAnalysisTaskRecoilJetYield &)
void RecursiveParents(AliEmcalJet *fJet, AliJetContainer *fJetCont, Int_t ReclusterAlgo, Bool_t bTrue)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
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 RelativePhiEventPlane(Double_t EventPlane, Double_t Phi)
Double_t LeadingTrackPt(fastjet::PseudoJet jet)
Container for jet within the EMCAL jet framework.
Definition: External.C:196
void SetPtTriggerSelections(Float_t PtMin, Float_t PtMax)