]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaBtag.h
Allow fill histograms for AODs case, remnat of the ESD/AOD different frame
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaBtag.h
CommitLineData
32301b07 1#ifndef ALIANABTAG_H\r
2#define ALIANABTAG_H\r
3/* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *\r
4 * See cxx source for full Copyright notice */\r
5/* $Id: $ */\r
6\r
7//_________________________________________________________________________\r
8//\r
9// Class for the electron identification and B-tagging.\r
10// Clusters from EMCAL matched to tracks are selected \r
11// and kept in the AOD. Few histograms produced.\r
12//\r
13\r
e928077a 14//-- Author T.R.P-R.Aronsson\r
32301b07 15\r
16// --- ROOT system ---\r
17class TH2F ;\r
18class TString ;\r
19class TNtuple ;\r
20class TH3F;\r
21\r
22// --- ANALYSIS system ---\r
23#include "AliAnaPartCorrBaseClass.h"\r
24\r
25class AliAODMCParticle;\r
26class AliCaloTrackReader;\r
27class AliAODTrack;\r
28class TList ;\r
29\r
30class AliAnaBtag : public AliAnaPartCorrBaseClass {\r
31\r
32public: \r
33 AliAnaBtag() ; // default ctor\r
34 virtual ~AliAnaBtag() ; //virtual dtor\r
35private:\r
36 AliAnaBtag(const AliAnaBtag & g) ; // cpy ctor\r
37 AliAnaBtag & operator = (const AliAnaBtag & g) ;//cpy assignment\r
38 \r
39public:\r
40 \r
41 TList * GetCreateOutputObjects();\r
42\r
43 //Main functions\r
44 void Init();\r
45 void MakeAnalysisFillAOD() ;\r
46 void MakeAnalysisFillHistograms() ; \r
47 \r
48 //B-tagging\r
e928077a 49 Int_t GetDVMBtag(AliAODTrack * tr, Int_t &pairs, Int_t &start, Int_t &stop);//Main tagger\r
32301b07 50\r
ac53c372 51 //Temporary local method to get DCA\r
32301b07 52 Bool_t GetDCA(const AliAODTrack* tr,Double_t imp[2], Double_t cov[3]);\r
53 Bool_t PhotonicV0(Int_t trackId); //check with V0 list\r
54\r
32301b07 55 //used with the jet tracks to tag bjets\r
56 Bool_t CheckIfBjet(const AliAODTrack* track);\r
57 Bool_t IsMcBJet(Double_t x, Double_t y);\r
58 Bool_t IsMcDJet(Double_t x, Double_t y);\r
59\r
e928077a 60\r
32301b07 61\r
62 Double_t GetDrCut() const { return fDrCut; }\r
63 Double_t GetPairDcaCut() const { return fPairDcaCut; }\r
64 Double_t GetDecayLenCut() const { return fDecayLenCut; }\r
65 Double_t GetImpactCut() const { return fImpactCut; }\r
66 Double_t GetAssocPtCut() const { return fAssocPtCut; }\r
67 Double_t GetMassCut() const { return fMassCut; }\r
68 Double_t GetSdcaCut() const { return fSdcaCut; }\r
69 Int_t GetITSCut() const { return fITSCut; }\r
70 Int_t GetNTagTrackCut() const { return fNTagTrkCut; }\r
71 Double_t GetIPSigCut() const { return fIPSigCut; }\r
32301b07 72\r
32301b07 73\r
e928077a 74 void SetWriteNtuple(Int_t w) { fWriteNtuple = w; }\r
32301b07 75 void SetDrCut(Double_t dr) { fDrCut = dr; }\r
76 void SetPairDcaCut(Double_t pdca) { fPairDcaCut = pdca; }\r
77 void SetDecayLenCut(Double_t dlen) { fDecayLenCut = dlen; }\r
78 void SetImpactCut(Double_t imp) { fImpactCut = imp; }\r
79 void SetAssocPtCut(Double_t pt) { fAssocPtCut = pt; }\r
80 void SetMassCut(Double_t mass) { fMassCut = mass; }\r
81 void SetSdcaCut(Double_t sdca) { fSdcaCut = sdca; }\r
82 void SetITSCut(Int_t its) { fITSCut = its; }\r
83 void SetNTagTrackCut(Int_t ntr) { fNTagTrkCut = ntr; }\r
84 void SetIPSigCut(Double_t ips) { fIPSigCut = ips; }\r
e928077a 85\r
32301b07 86\r
87 void InitParameters();\r
88 void Terminate(TList * outputList);\r
89 \r
90 private:\r
91 //For DVM B-tag method\r
e928077a 92 Double_t ComputeSignDca(AliAODTrack *tr, AliAODTrack *tr2 , Double_t &masscut, Double_t &pdcacut, Double_t &massphoton, Double_t &decay);\r
32301b07 93\r
32301b07 94 AliAODMCParticle* GetMCParticle(Int_t part);\r
95\r
96\r
97 private:\r
e928077a 98 //NTuples!\r
99 Int_t fWriteNtuple; //Will always be no, but might be set to yes in config file.\r
100 TNtuple * electrons; //Electrons\r
101 TNtuple * pairs; //Pairs to the electrons\r
102 TNtuple * events;\r
103 Int_t fEventNumber; // For Ntuple to label events (starts at 0)\r
104 Int_t fNElec;\r
105 Int_t fNElecEv;\r
106 Int_t fNPair;\r
32301b07 107\r
108 //DVM B-tagging\r
109 Double_t fDrCut; //max dR\r
110 Double_t fPairDcaCut; //max pair-DCA\r
111 Double_t fDecayLenCut; //max 3d-decaylength\r
112 Double_t fImpactCut; //max track impact param\r
113 Double_t fAssocPtCut; //min associated pt\r
114 Double_t fMassCut; //min Minv cut\r
115 Double_t fSdcaCut; //min signDca\r
116 Int_t fITSCut; //min ITS hits (both)\r
117 //IP Sig B-tagging\r
118 Int_t fNTagTrkCut; //min number of tracks required for IP sig tag\r
119 Double_t fIPSigCut; //min IP significance cut\r
120\r
121 Double_t fJetEtaCut; //max eta for jets\r
122 Double_t fJetPhiMin; //min phi for jets\r
123 Double_t fJetPhiMax; //max phi for jets\r
124\r
32301b07 125 \r
ac53c372 126 \r
127 //Histograms\r
32301b07 128 TH1F * fhEmcalElectrons; //All electrons, as id:ed by EMCAL\r
129 TH1F * fhTRDElectrons; //Electrons from TRD\r
130 TH1F * fhTPCElectrons; //Electrons from TPC\r
e928077a 131 TH1F * fhEmcalMCE; //All electrons, as id:ed by EMCAL MC\r
132 TH1F * fhTRDMCE; //Electrons from TRD MC\r
133 TH1F * fhTPCMCE; //Electrons from TPC MC\r
134 TH1F * fhEmcalMCEFake; //All electrons, as id:ed by EMCAL MC, fake\r
135 TH1F * fhTRDMCEFake; //Electrons from TRD MC, fake\r
136 TH1F * fhTPCMCEFake; //Electrons from TPC MC, fake\r
137 TH1F * fhEmcalMCP; //Pions, as id:ed by EMCAL\r
138 TH1F * fhTRDMCP; //Pions from TRD\r
139 TH1F * fhTPCMCP; //Pions from TPC\r
140 TH1F * fhEmcalMCK; //Kaons from EMCAL\r
141 TH1F * fhTRDMCK; //Kaons from TRD\r
142 TH1F * fhTPCMCK; //Kaons from TPC\r
143 TH1F * fhSpecies; //PDG of id:ed electrons\r
32301b07 144 TH1F * fhDVM1; //initial b-tag dvm1\r
145 TH1F * fhDVM2; //initial b-tag dvm2 \r
e928077a 146 TH1F * fhNVTX; //NVtx of all btags \r
147 TH1F * fhNVTXMC; //NVtx of MC btags \r
32301b07 148 TH2F * fhJets; //All jets 2d\r
149 TH2F * fhJetsAllEtaPhi; //Eta phi for all jets\r
150 TH2F * fhJetsLeadingBElectronEtaPhi; //deta dphi btw leading jet and bele\r
151 TH2F * fhDVM1EtaPhi; //eta phi for b-electrons\r
152 TH2F * fhBJetElectronDetaDphi; //eta phi for jet with b-electrons\r
e928077a 153 TH2F * fhClusterMap; //2D eta-phi of EMCAL clusters\r
32301b07 154 TH1F * fhClusterEnergy; //cluster E of EMCAL\r
ac53c372 155 TH1F * fhTestalle; //Temp histo for EMCAL cluster energy\r
32301b07 156 TH1F * fhResidual; //Residuals from trackmatching\r
e928077a 157 TH1F * fhPairPt; //Pairs\r
158\r
32301b07 159\r
160 //Analysis of electrons\r
161 TH2F * fhElectrons;\r
162 //Analysis for tracks from esd/aod\r
163 TH2F * fhTracks;\r
164\r
165\r
ac53c372 166 ClassDef(AliAnaBtag,2)\r
32301b07 167\r
168} ;\r
169 \r
170\r
171#endif//ALIANABTAG_H\r
172\r
173\r
174\r