AliPhysics  6eb37c2 (6eb37c2)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalHfeTagging.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskEmcalHfeTagging_H
2 #define AliAnalysisTaskEmcalHfeTagging_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 AliAODEvent;
13 class AliJetContainer;
15 class AliPIDResponse;
16 class AliHFEcontainer;
17 class AliHFEcuts;
18 class AliHFEpid;
19 class AliHFEpidQAmanager;
20 class AliCFManager;
21 class AliEventCuts;
22 class AliMultiEventInputHandler;
23 class AliAODMCHeader;
24 
26 
27 
28 
30 public:
31 
32  enum JetShapeType {
33  kMCTrue = 0, // generated jets only
34  kTrueDet =1, // detector and generated jets
35  kData = 2, // raw data
36  kDetEmb = 3, //detector embedded jets
41  };
42  enum JetShapeSub {
43  kNoSub = 0,
44  kConstSub = 1,
46  };
49  kRecoil = 1
50  };
51 
55  };
56 
57  enum JetShapeTree {
58  kAll = 0,
59  kInclElec = 1,
60  kPhotElec = 2,
61  kNoElec = 3
62  };
63 
65  AliAnalysisTaskEmcalHfeTagging(const char *name);
67 
69  void Terminate(Option_t *option);
70 
71  //Setters
78  void SetRMatching(Float_t f) { fRMatching = f ;}
80  void SetPtTriggerSelections(Float_t minpT, Float_t maxpT) { fminpTTrig = minpT; fmaxpTTrig = maxpT; }
86  void SetMinCentrality(Float_t t) { fCentMin = t ; }
87  void SetMaxCentrality(Float_t t) { fCentMax = t ; }
89  void SetHolePos(Float_t poshole) { fHolePos = poshole; }
90  void SetHoleWidth(Float_t holewidth) { fHoleWidth = holewidth; }
93 
94 protected:
96  Bool_t Run();
98 
99  void GetNumberOfElectrons(AliEmcalJet *jet,Int_t jetContNb, Int_t nMother, Double_t listMother[], Int_t &nIncElec, Int_t &nPhotElec);
100  void GetNumberOfTrueElectrons(AliEmcalJet *jet,Int_t jetContNb, Int_t nMother, Double_t listMother[], Int_t &nTrueElec, Int_t &nTrueHFElec);
101  Int_t GetNumberOfPairs(AliAODTrack *track,const AliVVertex *pVtx, Int_t nMother, Double_t listMother[]);
102  Bool_t IsFromHFdecay(AliAODMCParticle *particle);
103  Bool_t IsFromLMdecay(AliAODMCParticle *particle);
104  Bool_t IsPrimary(AliAODMCParticle *particle);
105  Bool_t InclElecTrackCuts(const AliVVertex *pVtx,AliAODTrack *ietrack, Int_t nMother, Double_t listMother[]);
106  Bool_t PhotElecTrackCuts(const AliVVertex *pVtx,AliAODTrack *aetrack, Int_t nMother, Double_t listMother[]);
107  Float_t GetJetMass(AliEmcalJet *jet,Int_t jetContNb);
108  Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb);
109  Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb);
110  Float_t Coronna(AliEmcalJet *jet, Int_t jetContNb);
111  Float_t GetJetCoronna(AliEmcalJet *jet, Int_t jetContNb);
112  Float_t PTD(AliEmcalJet *jet, Int_t jetContNb);
113  Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb);
114  Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb);
115  Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb);
116  Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb);
117  Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb);
119  Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb);
120  Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb);
121 
122  Int_t SelectTrigger(Float_t minpT, Float_t maxpT);
124 
126  AliVEvent *fVevent;
127  AliPIDResponse *fpidResponse;
128  TClonesArray *fTracksTender; //Tender for tracks
129  const AliVVertex *pVtx; // z vertex
130  const AliVVertex *spdVtx; //spd z vertez
131 
132  AliMCEvent *fMC;
133  AliStack *fStack;
134  AliAODMCParticle *fMCparticle;
135  TClonesArray *fMCarray;
136  AliAODMCHeader *fMCheader;
137 
138 
139  Int_t fContainer; // jets to be analyzed 0 for Base, 1 for subtracted.
140  Float_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
141  JetShapeType fJetShapeType; // jet type to be used
142  JetShapeSub fJetShapeSub; // jet subtraction to be used
143  JetSelectionType fJetSelection; // Jet selection: inclusive/recoil jet
144  Float_t fShapesVar[19]; // jet shapes used for the tagging
147  Int_t fSelectedShapes; //chose set of shapes
148  Float_t fminpTTrig; //min - max pT for trigger particle in case of recoil jet
150  Float_t fangWindowRecoil; //angular window for btb recoil analysis
151  Int_t fSemigoodCorrect; //if==1 we run over semigood runs
152  Float_t fHolePos; //position in radians of the bad TPC sector
153  Float_t fHoleWidth; //width of the hole in radians
154  Bool_t fCentSelectOn; // switch on/off centrality selection
155  Float_t fCentMin; // min centrality value
156  Float_t fCentMax; // max centrality value
157  Bool_t fOneConstSelectOn; // switch on/off one constituent selection
159  Int_t fJetShapeTree; // selection of the tree
160 
161  Double_t fAssPtCut; // pt cut for associated electron
162  Int_t fITSncut; // ITC number of clusters for tagged electrons
163  Int_t fAssTPCnCut; // TPC number of clusters for associated electron
164  Int_t fTPCnCut; // TPC number of clusters for tagged electron
165  Bool_t fAssITSrefitCut; // ITS refit for associated electron
166  Bool_t fUseTender; // Use tender
167  Double_t fSigmaTOFcut; // sigma TOF cut |sigma_TOF|< cut
168  Double_t fSigmaTPCcut; // sigma TPC cut - cut < sigma_TPC < 3
169  Double_t fDcaXYcut; //DCA_xy cut
170  Double_t fDcaZcut; //DCA_xy cut
171  Double_t fIMcut; //invariant mass cut
172 
180  TH1F *fPtJet;
181  TH2F *fhpTjetpT; //control p[lot fo the recoil analysis
182  TH1F *fhPt;
183  TH1F *fhPhi;
201 
202  TTree *fTreeObservableTagging; // Tree with tagging variables subtracted MC or true MC or raw
203 
204 private:
207 
208  ClassDef(AliAnalysisTaskEmcalHfeTagging, 6)
209 };
210 #endif
211 
Float_t Angularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetLeSub(AliEmcalJet *jet, Int_t jetContNb)
Bool_t IsFromHFdecay(AliAODMCParticle *particle)
double Double_t
Definition: External.C:58
Definition: External.C:260
Definition: External.C:236
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.
Bool_t FillHistograms()
Function filling histograms.
Definition: External.C:244
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
TCanvas * c
Definition: TestFitELoss.C:172
Int_t GetNumberOfPairs(AliAODTrack *track, const AliVVertex *pVtx, Int_t nMother, Double_t listMother[])
Bool_t PhotElecTrackCuts(const AliVVertex *pVtx, AliAODTrack *aetrack, Int_t nMother, Double_t listMother[])
Float_t Circularity(AliEmcalJet *jet, Int_t jetContNb)
void GetNumberOfElectrons(AliEmcalJet *jet, Int_t jetContNb, Int_t nMother, Double_t listMother[], Int_t &nIncElec, Int_t &nPhotElec)
Float_t GetJetCircularity(AliEmcalJet *jet, Int_t jetContNb)
Container for particles within the EMCAL framework.
Float_t Sigma2(AliEmcalJet *jet, Int_t jetContNb)
Float_t PTD(AliEmcalJet *jet, Int_t jetContNb)
TClonesArray * fTracksTender
PID response.
int Int_t
Definition: External.C:63
Definition: External.C:204
float Float_t
Definition: External.C:68
Bool_t IsPrimary(AliAODMCParticle *particle)
Float_t GetJetMass(AliEmcalJet *jet, Int_t jetContNb)
Bool_t InclElecTrackCuts(const AliVVertex *pVtx, AliAODTrack *ietrack, Int_t nMother, Double_t listMother[])
Double_t RelativePhi(Double_t mphi, Double_t vphi)
AliAnalysisTaskEmcalHfeTagging & operator=(const AliAnalysisTaskEmcalHfeTagging &)
Float_t LeSub(AliEmcalJet *jet, Int_t jetContNb)
Definition: External.C:220
Float_t GetJetCoronna(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetJetAngularity(AliEmcalJet *jet, Int_t jetContNb)
Float_t GetSigma2(AliEmcalJet *jet, Int_t jetContNb)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
void GetNumberOfTrueElectrons(AliEmcalJet *jet, Int_t jetContNb, Int_t nMother, Double_t listMother[], Int_t &nTrueElec, Int_t &nTrueHFElec)
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
Bool_t IsFromLMdecay(AliAODMCParticle *particle)
Int_t SelectTrigger(Float_t minpT, Float_t maxpT)
void SetPtTriggerSelections(Float_t minpT, Float_t maxpT)
Float_t GetJetpTD(AliEmcalJet *jet, Int_t jetContNb)
Float_t Coronna(AliEmcalJet *jet, Int_t jetContNb)
Container for jet within the EMCAL jet framework.
Definition: External.C:196
Float_t GetJetNumberOfConstituents(AliEmcalJet *jet, Int_t jetContNb)