]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/Config_shin_pPb.C
update from pr task : sjena
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / Config_shin_pPb.C
Content-type: text/html ]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/Config_shin_pPb.C


500 - Internal Server Error

Malformed UTF-8 character (fatal) at (eval 5) line 1, <$fd> line 420.
CommitLineData
eddd866d 1void InitHistograms(AliDielectron *die, Int_t cutDefinition);
2void InitCF(AliDielectron* die, Int_t cutDefinition);
3
4void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
5
6AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition);
7AliDielectronPID *SetPIDcuts(Int_t cutDefinition);
8
9
10//start systematics
fae36d1e 11TString names= ("TPCTOFPID+phiv");
eddd866d 12
13
14 Bool_t kRot = 0;
15 Bool_t kMix = 1;
16
17TObjArray *arrNames=names.Tokenize(";");
18const Int_t nDie=arrNames->GetEntriesFast();
19
20AliDielectron* Config_shin_pPb(Int_t cutDefinition=1)
21{
22 //
23 // Setup the instance of AliDielectron
24 //
25
26 // create the actual framework object
27 TString name=Form("%02d",cutDefinition);
28 if (cutDefinition<arrNames->GetEntriesFast()){
29 name=arrNames->At(cutDefinition)->GetName();
30 }
31 AliDielectron *die =
32 new AliDielectron(Form("%s",name.Data()),
33 Form("Track cuts: %s",name.Data()));
34
35
36 if(kRot){
37 AliDielectronTrackRotator *rot = new AliDielectronTrackRotator;
38 rot->SetConeAnglePhi(TMath::Pi());
39 rot->SetIterations(10);
40 die->SetTrackRotator(rot);
41 }//kRot
42
43
44 if(kMix){
45 AliDielectronMixingHandler *mix = new AliDielectronMixingHandler;
46 mix->SetMixType(AliDielectronMixingHandler::kAll);
47 mix->AddVariable(AliDielectronVarManager::kZvPrim,"-10., -7.5, -5., -2.5 , 0., 2.5, 5., 7.5 , 10.");
48 mix->SetDepth(10);
49 die->SetMixingHandler(mix);
50 }//kMix
51
52
53
54 SetupTrackCuts(die,cutDefinition);
55 SetupPairCuts(die,cutDefinition);
56
57 // histogram setup
58 // only if an AliDielectronHistos object is attached to the
59 // dielectron framework histograms will be filled
60 InitHistograms(die,cutDefinition);
61 // InitCF(die,cutDefinition);
62
63
64 return die;
65
66}
67
68//______________________________________________________________________________________
69void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
70{
71 //
72 // Setup the track cuts
73 //
74 //options
75 die->SetPreFilterAllSigns();
76 //pairing with TLorentzVector
77 die->SetUseKF(kFALSE);
78
79 AliDielectronTrackCuts *TrackCuts = new AliDielectronTrackCuts("StandardCuts","StandardCut");
80 //refit
81 TrackCuts->SetRequireTPCRefit(kTRUE);
82 TrackCuts->SetRequireITSRefit(kTRUE);
83 //SPD require
fae36d1e 84 TrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
eddd866d 85 die->GetTrackFilter().AddCuts(TrackCuts);
86
87 AliDielectronVarCuts *varCuts = new AliDielectronVarCuts("varCuts","varCuts");
88 varCuts->AddCut(AliDielectronVarManager::kPt,0.2,100.);
89 varCuts->AddCut(AliDielectronVarManager::kEta,-0.8,0.8);
90 varCuts->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
91 varCuts->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
92 varCuts->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
93
fae36d1e 94 //TPC track
eddd866d 95 varCuts->AddCut(AliDielectronVarManager::kNclsTPC,80.,500.);
96 varCuts->AddCut(AliDielectronVarManager::kNFclsTPCr,100.,500.); // or NFclsTPCr?
97 varCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
98 varCuts->AddCut(AliDielectronVarManager::kNFclsTPCfCross,0.5,500.);
99
fae36d1e 100 //ITS track
101 varCuts->AddCut(AliDielectronVarManager::kNclsITS,3.,7.);
eddd866d 102
103 die->GetTrackFilter().AddCuts(varCuts);
104
fae36d1e 105 // PID
106 // if(cutDefinition > 0){
107 AliDielectronPID *pid = new AliDielectronPID("pid","pid");
108 pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,100.,kFALSE);
109 pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,3.,0.2,100.,kTRUE);
110 pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 5., kFALSE);
111 die->GetTrackFilter().AddCuts(pid);
112 // }
eddd866d 113
114}
115//----------------------------------Pair Cut-------------------------------------------
116void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
117{
eddd866d 118
fae36d1e 119 //V0 cuts
120 AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","conversion tagging");
121 noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
122 die->GetTrackFilter().AddCuts(noconv);
123
124
125 //Pre filter
126 AliDielectronVarCuts *PhiV = new AliDielectronVarCuts("PhiV","PhiV");//mass and Phiv together
127 PhiV->AddCut(AliDielectronVarManager::kM, 0. , 0.1);
128 PhiV->AddCut(AliDielectronVarManager::kPhivPair, 2.5 , 3.2);
129 die->GetPairPreFilter().AddCuts(PhiV);
eddd866d 130
fae36d1e 131
eddd866d 132
133}
fae36d1e 134
eddd866d 135//______________________________________________________________________________________
136void InitHistograms(AliDielectron *die, Int_t cutDefinition)
137{
138 //
139 // Initialise the histograms
140 //
141
142 //Setup histogram classes
143 AliDielectronHistos *histos=
144 new AliDielectronHistos(die->GetName(),
145 die->GetTitle());
146
147
148
149 //Initialise histogram classes
150 histos->SetReservedWords("Track;Pair");
151
152 //Event class
153 histos->AddClass("Event");
154
155
156 //Track classes
157 //to fill also track info from 2nd event loop until 2
158 for (Int_t i=0; i<2; ++i){
159 histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
160 }
161
162 //Pair classes
163 // to fill also mixed event histograms loop until 10
164
165 for (Int_t i=0; i<3; ++i){
166 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
167
168 }
169
170 if(kMix){
fae36d1e 171 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3))); //ME ++
172 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));//ME -+
173 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));//ME +-
174 histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7))); // ME --
eddd866d 175 }
fae36d1e 176
eddd866d 177 if(kRot)histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));//Rot
fae36d1e 178
179
eddd866d 180 //add histograms to event class
181 histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",1,0,1,AliDielectronVarManager::kNevents);
182 histos->UserHistogram("Event","ZVertex","ZVertex;ZVertex/cm",480,-12.,12.,AliDielectronVarManager::kZvPrim);
183 histos->UserHistogram("Event","nESDTracks","ESD tracks;ESD tracks;Number events",100,0,200,AliDielectronVarManager::kTracks);
184 histos->UserHistogram("Event","Nacc","Number of accepted tracks;Number events",100,0,200,AliDielectronVarManager::kNacc);
185 histos->UserHistogram("Event","NVtxContrib","Number of Vertex Contributor;NVtx;Number events",100,0,100,AliDielectronVarManager::kNVtxContrib);
186
fae36d1e 187
eddd866d 188 //add histograms to Track classes
fae36d1e 189 //histos->UserHistogram("Track","P","P;P [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPIn);
eddd866d 190 histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPt);
191 histos->UserHistogram("Track","Eta","Eta; Eta ;#tracks",100,-1.,1.,AliDielectronVarManager::kEta);
192 histos->UserHistogram("Track","Phi","Phi; Phi ;#tracks",640,0.,6.4,AliDielectronVarManager::kPhi);
193
194
195 histos->UserHistogram("Track","Eta_phi","Eta vs Phi;Eta;Phi",500,-1.,1.,320,0.,6.4,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
196 histos->UserHistogram("Track","Eta_pt","Eta vs Pt;Eta;Pt",100,-1.,1.,500,0.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kPt);
197 histos->UserHistogram("Track","Phi_pt","Phi vs Pt;Phi;Pt",640,0,6.4.,500,0.,10.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kPt);
198
199