AliPhysics  a17849b (a17849b)
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 = 20;
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
91 
92 
93  protected:
95  Bool_t Run();
97 
100 
101  Double_t Angularity(AliEmcalJet *Jet, Int_t JetContNb);
102  Double_t PTD(AliEmcalJet *Jet, Int_t JetContNb);
103  void SoftDrop(AliEmcalJet *fJet,AliJetContainer *fJetCont, double zcut, double beta, Bool_t fTruthJet);
106  Double_t LeadingTrackPt(fastjet::PseudoJet jet);
107  static Bool_t SameParticle(const AliVParticle* part1, const AliVParticle* part2, Double_t dist = 1.e-4);
108 
109 
110 
111 
112  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
113  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
114  JetShapeType fJetShapeType; // jet type to be used
115  JetShapeSub fJetShapeSub; // jet subtraction to be used
116  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
117  Double_t fJetInfoVar[nBranch]; // jet shapes used for the tagging
120 
121  Float_t fPtMinTriggerHadron; //min - max pT for trigger particle in case of recoil jet
123  Float_t fRecoilAngularWindow; //angular window for btb recoil analysis
124  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
125  Float_t fHolePos; //position in radians of the bad TPC sector
126  Float_t fHoleWidth; //width of the hole in radians
127  Bool_t fCentSelectOn; // switch on/off centrality selection
128  Float_t fCentMin; // min centrality value
129  Float_t fCentMax; // max centrality value
147 
150 
151  TH1F *fhJetPt;
152  TH1F *fhJetPhi;
153  TH1F *fhJetEta;
154  TH1F *fhJetMass;
155  TH1F *fhJetRadius;
158  TH1F *fhJetArea;
164  TH1F *fhTrackPt;
169  TTree *fTreeJetInfo; //Tree with tagging variables subtracted MC or true MC or raw
170 
171  TH1F *fhJetPt_Det;
186 
187 
188 
189  private:
192 
193  ClassDef(AliAnalysisTaskRecoilJetYield, 6)
194 };
195 #endif
196 
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 &)
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)