AliPhysics  d497547 (d497547)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 const Int_t nBranch = 18;
24  public:
25 
26  enum JetShapeType {
27  kTrue = 0, // generated jets only
28  kTrueDet =1, // detector and generated jets
29  kData = 2, // raw data
30  kDetEmbPart = 3, //detector embedded jets
31  kSim = 4,
32  kGenOnTheFly=5 //fast truth level MC
33  };
34  enum JetShapeSub {
35  kNoSub = 0,
36  kConstSub = 1,
38  };
41  kRecoil = 1
42  };
46  };
47 
49  AliAnalysisTaskRecoilJetYield(const char *name);
51 
53  void Terminate(Option_t *option);
54 
55  //Setters
62  void SetJetRadius(Double_t JetRadius) {fJetRadius=JetRadius;}
63  void SetRMatching(Float_t f) { fRMatching = f ;}
72  void SetHolePos(Float_t poshole) { fHolePos = poshole;}
73  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth;}
74  void SetSubJetAlgorithm(Int_t SubJetAlgorithm) {fSubJetAlgorithm=SubJetAlgorithm;}
75  void SetSubJetRadius(Float_t SubJetRadius) {fSubJetRadius=SubJetRadius;}
76  void SetSubJetMinPt(Float_t SubJetMinPt) {fSubJetMinPt=SubJetMinPt;}
77  void SetRMatched(Double_t RMatched) {fRMatched=RMatched;}
78  void SetSharedFractionPtMin(Double_t SharedFractionPtMin) {fSharedFractionPtMin=SharedFractionPtMin;}
80  void SetFullTree(Bool_t FullTree) {fFullTree = FullTree;}
81  void SetBetaSD(Double_t BetaSD) {fBeta_SD = BetaSD;}
82  void SetZCut(Double_t ZCut) {fZCut = ZCut;}
84 
85  void SetNsubUnNormMeasure( Bool_t NsubMeasure) {fNsubMeasure= NsubMeasure;}
86  void SetRhoName(const char *r) {fRhoName = r;}
87  void SetSoftDropRecluster(Int_t n) {fReclusterAlgo = n;} //0 = CA, 1 = anti-kt, 2 = kt
89 
90 
91  protected:
93  Bool_t Run();
95 
98 
99  Double_t Angularity(AliEmcalJet *Jet, Int_t JetContNb);
100  Double_t PTD(AliEmcalJet *Jet, Int_t JetContNb);
101  void SoftDrop(AliEmcalJet *fJet,AliJetContainer *fJetCont, double zcut, double beta, Bool_t fTruthJet);
104  static Bool_t SameParticle(const AliVParticle* part1, const AliVParticle* part2, Double_t dist = 1.e-4);
105 
106 
107 
108 
109  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
110  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
111  JetShapeType fJetShapeType; // jet type to be used
112  JetShapeSub fJetShapeSub; // jet subtraction to be used
113  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
114  Double_t fJetInfoVar[nBranch]; // jet shapes used for the tagging
117 
118  Float_t fPtMinTriggerHadron; //min - max pT for trigger particle in case of recoil jet
120  Float_t fRecoilAngularWindow; //angular window for btb recoil analysis
121  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
122  Float_t fHolePos; //position in radians of the bad TPC sector
123  Float_t fHoleWidth; //width of the hole in radians
124  Bool_t fCentSelectOn; // switch on/off centrality selection
125  Float_t fCentMin; // min centrality value
126  Float_t fCentMax; // max centrality value
144 
147 
148  TH1F *fhJetPt;
149  TH1F *fhJetPhi;
150  TH1F *fhJetEta;
151  TH1F *fhJetMass;
152  TH1F *fhJetRadius;
155  TH1F *fhJetArea;
161  TH1F *fhTrackPt;
166  TTree *fTreeJetInfo; //Tree with tagging variables subtracted MC or true MC or raw
167 
168  TH1F *fhJetPt_Det;
183 
184 
185 
186  private:
189 
190  ClassDef(AliAnalysisTaskRecoilJetYield, 6)
191 };
192 #endif
193 
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:44
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)
Container for jet within the EMCAL jet framework.
Definition: External.C:196
void SetPtTriggerSelections(Float_t PtMin, Float_t PtMax)