AliPhysics  e59a9ba (e59a9ba)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalMissingEnergy.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALMISSINGENERGY_H
2 #define ALIANALYSISTASKEMCALMISSINGENERGY_H
3 
4 class TH1;
5 class TH2;
6 class TH3;
7 class TH3F;
8 class TTree;
9 class THnSparse;
10 class TClonesArray;
11 class TArrayI;
12 class AliAnalysisManager;
13 class AliJetContainer;
14 
16 #include "AliEmcalJetFinder.h"
17 #include <vector>
18 
20  public:
21 
22  enum JetShapeType {
23  kTrue = 0, // generated jets only
24  kTrueDet =1, // detector and generated jets
25  kData = 2, // raw data
26  kDetEmb = 3, //detector embedded jets
29  };
30  enum JetShapeSub {
31  kNoSub = 0,
32  kConstSub = 1,
33  kDerivSub = 2
34  };
37  kRecoil = 1
38  };
39 
41  AliAnalysisTaskEmcalMissingEnergy(const char *name);
43 
45  void Terminate(Option_t *option);
46 
47  //Setters
48  void SetJetContainer(Int_t c) { fContainer = c ; }
49  void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
53  void SetJetPtThreshold(Float_t f) { fPtThreshold = f ; }
54  void SetJetPtMin(Float_t f) { fJetPtMin = f ; }
55  void SetTrackPtMin(Float_t f) { fTrackPtMin = f ; }
56  void SetRMatching(Float_t f) { fRMatching = f ;}
57  void SetJetRadius(Float_t f) { fJetRadius = f;}
58  void SetSubJetRadius(Float_t f) { fSubJetRadius = f;}
59  void SetPtTriggerSelections(Float_t minpT, Float_t maxpT) { fminpTTrig = minpT; fmaxpTTrig = maxpT; }
63  void SetCentralitySelectionOn(Bool_t t) { fCentSelectOn = t;}
64  void SetHTon(Bool_t t) { fHTon = t;}
65  void SetMinCentrality(Float_t t) { fCentMin = t ; }
66  void SetMaxCentrality(Float_t t) { fCentMax = t ; }
67  void SetSemigoodCorrect(Int_t yesno) {fSemigoodCorrect=yesno;}
68  void SetHolePos(Float_t poshole) { fHolePos = poshole; }
69  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
70  protected:
71  Bool_t RetrieveEventObjects();
72  Bool_t Run();
73  Bool_t FillHistograms();
74 
75  Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb);
76  Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb);
77  Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb);
78  Float_t PTD(AliEmcalJet *jet, Int_t jetContNb);
79  Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb);
80  Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb);
81  Float_t TauDen(AliEmcalJet *mainJet, Int_t jetContNb);
82  Float_t Tau1Num(AliEmcalJet *jet, AliEmcalJet *subJet1hardest, Int_t jetContNb);
83  Float_t Tau1Num_full(AliEmcalJet *mainJet, AliEmcalJetFinder *finder, Int_t jetContNb);
84  Float_t Tau2Num(AliEmcalJet *jet, AliEmcalJet *subJet1hardest, AliEmcalJet *subJet2hardest, Int_t jetContNb);
85  Float_t Tau3Num(AliEmcalJet *jet, AliEmcalJet *subJet1hardest, AliEmcalJet *subJet2hardest, AliEmcalJet *subJet3hardest, Int_t jetContNb);
86  Int_t * JetHard(AliEmcalJetFinder *finder);
87  Float_t* N_subjettiness(AliEmcalJet *mainJet, Int_t jetContNb);
88  Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb);
89  Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb);
90  Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb);
91  Float_t GetJetNumberOfConstituents(AliEmcalJet *jet,Int_t jetContNb);
92  Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb);
93  Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb);
94 
95  Int_t SelectTrigger(Float_t minpT, Float_t maxpT);
96  Double_t RelativePhi(Double_t mphi, Double_t vphi);
97  Double_t RelativePhiFancy(Double_t mphi, Double_t vphi);
98 
99  Double_t Minimum(Double_t x, Double_t y);
100  Double_t Minimum(Double_t x, Double_t y, Double_t z);
101  Double_t R_distance(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2);
102  Double_t R_distance(AliEmcalJet *jet1, AliEmcalJet *jet2);
103  Double_t R_distance(AliEmcalJet *jet, AliPicoTrack *part);
104 
105  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
106  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
107  JetShapeType fJetShapeType; // jet type to be used
108  JetShapeSub fJetShapeSub; // jet subtraction to be used
109  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
110 
111  Float_t *fSubstructureVar; // my observables for the substructure tree
112  Float_t *fHadronTriggerVar; // my observables for the substructure tree
113 
114  Float_t fPtThreshold;
115  Float_t fJetPtMin; // Jet Pt min under consideration
116  Float_t fTrackPtMin; // track pt minimum as input to reclustering
117  Float_t fRMatching;
118 
119  Float_t fJetRadius; // radius of the main jet finding
120  Float_t fSubJetRadius; // radius of the sub jet finding
121 
122 
123  Float_t fminpTTrig; //min - max pT for trigger particle in case of recoil jet
124  Float_t fmaxpTTrig;
125  Float_t fangWindowRecoil; //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  Bool_t fHTon; // switch on/off Hadron Trigger analysis
131  Float_t fCentMin; // min centrality value
132  Float_t fCentMax; // max centrality value
133 
140  TH2F *fPtJetCorr;
141  TH1F *fPtJet;
142  TH2F *fhpTjetpT; //control plot fo the recoil analysis
143  TH1F *fhPt;
145  TH1F *fhPhi;
146  TH1F *fhJetPt;
147  TH1F *fhJetPhi;
148  TH1F *fhTrackPt;
150  TH1F *fhTriggerPt;
157  TH1F *fhTau1;
158  TH1F *fhTau2;
159  TH1F *fhTau3;
168 
169 
172 
173  private:
176 
178  };
179 #endif
180 
Float_t * N_subjettiness(AliEmcalJet *mainJet, Int_t jetContNb)
Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetMass(AliEmcalJet *jet, Int_t jetContNb)
Double_t RelativePhiFancy(Double_t mphi, Double_t vphi)
Float_t Tau2Num(AliEmcalJet *jet, AliEmcalJet *subJet1hardest, AliEmcalJet *subJet2hardest, Int_t jetContNb)
void SetPtTriggerSelections(Float_t minpT, Float_t maxpT)
Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb)
Float_t Tau1Num(AliEmcalJet *jet, AliEmcalJet *subJet1hardest, Int_t jetContNb)
Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb)
AliAnalysisTaskEmcalMissingEnergy & operator=(const AliAnalysisTaskEmcalMissingEnergy &)
Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t Tau3Num(AliEmcalJet *jet, AliEmcalJet *subJet1hardest, AliEmcalJet *subJet2hardest, AliEmcalJet *subJet3hardest, Int_t jetContNb)
Double_t R_distance(Double_t phi1, Double_t eta1, Double_t phi2, Double_t eta2)
Float_t TauDen(AliEmcalJet *mainJet, Int_t jetContNb)
Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb)
Double_t RelativePhi(Double_t mphi, Double_t vphi)
Float_t GetJetNumberOfConstituents(AliEmcalJet *jet, Int_t jetContNb)
Int_t SelectTrigger(Float_t minpT, Float_t maxpT)
Float_t Tau1Num_full(AliEmcalJet *mainJet, AliEmcalJetFinder *finder, Int_t jetContNb)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb)
Float_t PTD(AliEmcalJet *jet, Int_t jetContNb)
Container for jet within the EMCAL jet framework.