train back
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSECharmFraction.cxx
CommitLineData
624c07ab 1/**************************************************************************
2 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/////////////////////////////////////////////////////////////
17//
18// Class AliAnalysisTaskSECharmFraction
19// AliAnalysisTaskSE for the extraction of the fraction of prompt charm
20// using the charm hadron impact parameter to the primary vertex
21//
22// Author: Andrea Rossi, andrea.rossi@ts.infn.it
23/////////////////////////////////////////////////////////////
24
ac4c229c 25
624c07ab 26#include <TH1F.h>
27#include <TH2F.h>
624c07ab 28#include <TDatabasePDG.h>
29#include <TMath.h>
30#include <TROOT.h>
624c07ab 31#include "AliAODEvent.h"
624c07ab 32#include "AliAODRecoDecayHF2Prong.h"
33#include "AliAODRecoDecayHF.h"
34#include "AliAODRecoDecay.h"
e047b348 35#include "AliAnalysisDataSlot.h"
36#include "AliAnalysisDataContainer.h"
624c07ab 37#include "AliAODTrack.h"
e047b348 38#include "AliAODHandler.h"
39#include "AliESDtrack.h"
624c07ab 40#include "AliAODVertex.h"
e047b348 41#include "AliESDVertex.h"
42#include "AliVertexerTracks.h"
624c07ab 43#include "AliAODMCParticle.h"
e047b348 44#include "AliAODPid.h"
45#include "AliTPCPIDResponse.h"
624c07ab 46#include "AliAODMCHeader.h"
ac4c229c 47#include "AliAnalysisVertexingHF.h"
624c07ab 48#include "AliAnalysisTaskSECharmFraction.h"
e047b348 49#include "AliRDHFCutsD0toKpi.h"
50#include "AliAODInputHandler.h"
51#include "AliAnalysisManager.h"
ac4c229c 52
53class TCanvas;
54class TTree;
55class TChain;
ac4c229c 56class AliAnalysisTaskSE;
57
58
624c07ab 59ClassImp(AliAnalysisTaskSECharmFraction)
60
61//________________________________________________________________________
62 AliAnalysisTaskSECharmFraction::AliAnalysisTaskSECharmFraction()
63 : AliAnalysisTaskSE(),
e047b348 64 fCutsLoose(0),
65 fCutsTight(0),
bf74e6db 66 fReadMC(kFALSE),
cc3209fb 67 fsplitMassD0D0bar(kTRUE),
e047b348 68 fLikeSign(kFALSE),
69 fusePID(kTRUE),
624c07ab 70 fmD0PDG(),
e047b348 71 fnbins(1),
624c07ab 72 fptbins(0),
e047b348 73 fNtrMaxforVtx(-1),
74 fptAll(),
75 fptAllSq(),
76 fptMax(),
c387e585 77 fAcceptanceCuts(),
624c07ab 78 fsignalInvMassCut(),
79 flargeInvMassCut(),
80 fsidebandInvMassCut(),
81 fsidebandInvMassWindow(),
82 fUseMC(kTRUE),
83 fNentries(0),
84 fSignalType(0),
85 fSignalTypeLsCuts(0),
86 fSignalTypeTghCuts(0),
e047b348 87 flistMCproperties(0),
ac4c229c 88 flistNoCutsSignal(0),
89 flistNoCutsBack(0),
90 flistNoCutsFromB(0),
91 flistNoCutsFromDstar(0),
92 flistNoCutsOther(0),
93 flistLsCutsSignal(0),
94 flistLsCutsBack(0),
95 flistLsCutsFromB(0),
96 flistLsCutsFromDstar(0),
97 flistLsCutsOther(0),
98 flistTghCutsSignal(0),
99 flistTghCutsBack(0),
100 flistTghCutsFromB(0),
101 flistTghCutsFromDstar(0),
102 flistTghCutsOther(0)
624c07ab 103
104{
105 //Default constructor
106}
107//________________________________________________________________________
108 AliAnalysisTaskSECharmFraction::AliAnalysisTaskSECharmFraction(const char *name)
109 : AliAnalysisTaskSE(name),
e047b348 110 fCutsLoose(0x0),
111 fCutsTight(0x0),
bf74e6db 112 fReadMC(kFALSE),
cc3209fb 113 fsplitMassD0D0bar(kTRUE),
e047b348 114 fLikeSign(kFALSE),
115 fusePID(kTRUE),
624c07ab 116 fmD0PDG(),
e047b348 117 fnbins(1),
624c07ab 118 fptbins(0),
e047b348 119 fNtrMaxforVtx(-1),
120 fptAll(),
121 fptAllSq(),
122 fptMax(),
c387e585 123 fAcceptanceCuts(),
e047b348 124 fsignalInvMassCut(-1.),
125 flargeInvMassCut(-1.),
126 fsidebandInvMassCut(-1.),
127 fsidebandInvMassWindow(-1.),
128 fUseMC(kFALSE),
624c07ab 129 fNentries(0),
130 fSignalType(0),
131 fSignalTypeLsCuts(0),
132 fSignalTypeTghCuts(0),
e047b348 133 flistMCproperties(0),
ac4c229c 134 flistNoCutsSignal(0),
135 flistNoCutsBack(0),
136 flistNoCutsFromB(0),
137 flistNoCutsFromDstar(0),
138 flistNoCutsOther(0),
139 flistLsCutsSignal(0),
140 flistLsCutsBack(0),
141 flistLsCutsFromB(0),
142 flistLsCutsFromDstar(0),
143 flistLsCutsOther(0),
144 flistTghCutsSignal(0),
145 flistTghCutsBack(0),
146 flistTghCutsFromB(0),
147 flistTghCutsFromDstar(0),
148 flistTghCutsOther(0)
624c07ab 149
150{
151 // Constructor
152
153 // Define input and output slots here
154 // Input slot #0 works with a TChain
155 // Output slot #0 writes into a TH1 container
156
157 //Standard pt bin
e047b348 158 fnbins=SetStandardCuts(fptbins);// THIS TO SET NBINS AND BINNING
159
624c07ab 160 DefineOutput(1, TH1F::Class());
161 DefineOutput(2, TH1F::Class());
162 DefineOutput(3, TH1F::Class());
163 DefineOutput(4, TH1F::Class());
e047b348 164 for(Int_t j=5;j<21;j++){
624c07ab 165 DefineOutput(j, TList::Class());
166 }
167
e047b348 168 // Output slot for the Cut Objects
169 DefineOutput(21,AliRDHFCutsD0toKpi::Class()); //My private output
170 DefineOutput(22,AliRDHFCutsD0toKpi::Class()); //My private output
624c07ab 171
172}
173
174
e047b348 175AliAnalysisTaskSECharmFraction::AliAnalysisTaskSECharmFraction(const char *name,AliRDHFCutsD0toKpi *cutsA,AliRDHFCutsD0toKpi *cutsB)
624c07ab 176 : AliAnalysisTaskSE(name),
e047b348 177 fCutsLoose(0),
178 fCutsTight(0),
bf74e6db 179 fReadMC(kFALSE),
cc3209fb 180 fsplitMassD0D0bar(kTRUE),
e047b348 181 fLikeSign(kFALSE),
182 fusePID(kTRUE),
624c07ab 183 fmD0PDG(),
e047b348 184 fnbins(1),
624c07ab 185 fptbins(0),
e047b348 186 fNtrMaxforVtx(-1),
187 fptAll(),
188 fptAllSq(),
189 fptMax(),
c387e585 190 fAcceptanceCuts(),
e047b348 191 fsignalInvMassCut(-1.),
192 flargeInvMassCut(-1.),
193 fsidebandInvMassCut(-1.),
194 fsidebandInvMassWindow(-1.),
195 fUseMC(kFALSE),
624c07ab 196 fNentries(0),
197 fSignalType(0),
198 fSignalTypeLsCuts(0),
199 fSignalTypeTghCuts(0),
e047b348 200 flistMCproperties(0),
ac4c229c 201 flistNoCutsSignal(0),
202 flistNoCutsBack(0),
203 flistNoCutsFromB(0),
204 flistNoCutsFromDstar(0),
205 flistNoCutsOther(0),
206 flistLsCutsSignal(0),
207 flistLsCutsBack(0),
208 flistLsCutsFromB(0),
209 flistLsCutsFromDstar(0),
210 flistLsCutsOther(0),
211 flistTghCutsSignal(0),
212 flistTghCutsBack(0),
213 flistTghCutsFromB(0),
214 flistTghCutsFromDstar(0),
215 flistTghCutsOther(0)
624c07ab 216{
217 // Constructor
e047b348 218 if(fCutsTight)delete fCutsTight;fCutsTight=NULL;
219 if(fCutsLoose)delete fCutsLoose;fCutsLoose=NULL;
220
221 //Check consistency between sets of cuts:
222 if(cutsA->GetNPtBins()!=cutsB->GetNPtBins()){
223 printf("Different number of pt bins between the two sets of cuts: SWITCH TO STANDARD CUTS \n");
224 fnbins=SetStandardCuts(fptbins);
225 }
226 else{
227 fCutsTight=new AliRDHFCutsD0toKpi(*cutsA);
228 fCutsLoose=new AliRDHFCutsD0toKpi(*cutsB);
229 for(Int_t j=0;j<cutsA->GetNPtBins();j++){
230 if(TMath::Abs(cutsA->GetPtBinLimits()[j]-cutsB->GetPtBinLimits()[j])>1.e-7){
231 printf("Different pt bin limits in the two set of cuts: use the first as reference \n");
232 fCutsLoose->SetPtBins(cutsA->GetNPtBins(),cutsA->GetPtBinLimits());
233 break;
234 }
235 }
236 SetPtBins(fCutsTight->GetNPtBins(),fCutsTight->GetPtBinLimits());
237 }
624c07ab 238
624c07ab 239 // Output slot #0 writes into a TH1 container
240 DefineOutput(1, TH1F::Class());
241 DefineOutput(2, TH1F::Class());
242 DefineOutput(3, TH1F::Class());
243 DefineOutput(4, TH1F::Class());
e047b348 244 for(Int_t j=5;j<21;j++){
624c07ab 245
246 DefineOutput(j, TList::Class());
247 }
e047b348 248 // Output slot for the Cut Objects
249 DefineOutput(21,AliRDHFCutsD0toKpi::Class()); //My private output
250 DefineOutput(22,AliRDHFCutsD0toKpi::Class()); //My private output
624c07ab 251
252}
253
254//________________________________________________________________________
255AliAnalysisTaskSECharmFraction::~AliAnalysisTaskSECharmFraction()
256{ //Destructor
257
e047b348 258 if (fCutsTight) {
259 delete fCutsTight;
260 fCutsTight = 0;
624c07ab 261 }
e047b348 262 if (fCutsLoose) {
263 delete fCutsLoose;
264 fCutsLoose = 0;
624c07ab 265 }
ac4c229c 266 if(fptbins){
267 delete fptbins;
268 fptbins =0;
269 }
c387e585 270 /* if(fAcceptanceCuts){
ac4c229c 271 delete fAcceptanceCuts;
272 fAcceptanceCuts=0;
c387e585 273 }*/
624c07ab 274 if (fNentries) {
275 delete fNentries;
276 fNentries = 0;
277 }
278 if (fSignalType) {
279 delete fSignalType;
280 fSignalType = 0;
281 }
282 if (fSignalTypeLsCuts) {
283 delete fSignalTypeLsCuts;
284 fSignalTypeLsCuts = 0;
285 }
286 if (fSignalTypeTghCuts) {
287 delete fSignalTypeTghCuts;
288 fSignalTypeTghCuts = 0;
289 }
e047b348 290 if(flistMCproperties){
291 delete flistMCproperties;
292 flistMCproperties=0;
293 }
ac4c229c 294 if(flistNoCutsSignal){
295 delete flistNoCutsSignal;
296 flistNoCutsSignal=0;
624c07ab 297 }
ac4c229c 298 if(flistNoCutsBack){
299 delete flistNoCutsBack;
300 flistNoCutsBack=0;
624c07ab 301 }
ac4c229c 302 if(flistNoCutsFromB){
303 delete flistNoCutsFromB;
304 flistNoCutsFromB=0;
624c07ab 305 }
ac4c229c 306 if(flistNoCutsFromDstar){
307 delete flistNoCutsFromDstar;
308 flistNoCutsFromDstar=0;
624c07ab 309 }
ac4c229c 310 if(flistNoCutsOther){
311 delete flistNoCutsOther;
312 flistNoCutsOther=0;
624c07ab 313 }
314
ac4c229c 315 if(flistLsCutsSignal){
316 delete flistLsCutsSignal;
317 flistLsCutsSignal=0;
624c07ab 318 }
ac4c229c 319 if(flistLsCutsBack){
320 delete flistLsCutsBack;
321 flistLsCutsBack=0;
624c07ab 322 }
ac4c229c 323 if(flistLsCutsFromB){
324 delete flistLsCutsFromB;
325 flistLsCutsFromB=0;
624c07ab 326 }
ac4c229c 327 if(flistLsCutsFromDstar){
328 delete flistLsCutsFromDstar;
329 flistLsCutsFromDstar=0;
624c07ab 330 }
ac4c229c 331 if(flistLsCutsOther){
332 delete flistLsCutsOther;
333 flistLsCutsOther=0;
624c07ab 334 }
335
ac4c229c 336 if(flistTghCutsSignal){
337 delete flistTghCutsSignal;
338 flistTghCutsSignal=0;
624c07ab 339 }
ac4c229c 340 if(flistTghCutsBack){
341 delete flistTghCutsBack;
342 flistTghCutsBack=0;
624c07ab 343 }
ac4c229c 344 if(flistTghCutsFromB){
345 delete flistTghCutsFromB;
346 flistTghCutsFromB=0;
624c07ab 347 }
ac4c229c 348 if(flistTghCutsFromDstar){
349 delete flistTghCutsFromDstar;
350 flistTghCutsFromDstar=0;
624c07ab 351 }
ac4c229c 352 if(flistTghCutsOther){
353 delete flistTghCutsOther;
354 flistTghCutsOther=0;
624c07ab 355 }
356
357
358}
359
360
361//________________________________________________________________________
362void AliAnalysisTaskSECharmFraction::Init()
363{
364 // Initialization
365
366 if(fDebug > 1) printf("AnalysisTaskSED0Mass::Init() \n");
367 fmD0PDG = TDatabasePDG::Instance()->GetParticle(421)->Mass();
368
e047b348 369 // gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/ConfigVertexingHF.C");
370 // gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/D0fromBSetCuts.C");
371 // 2 sets of dedicated cuts: fCutsTight is assumed as the standard cut object
624c07ab 372
e047b348 373 // SetAcceptanceCut();
374 if(fNtrMaxforVtx<0)SetNMaxTrForVtx(3); //DEFAULT : NO SELECTION
375 if(fsignalInvMassCut<0.||flargeInvMassCut<0.||fsidebandInvMassCut<0.||fsidebandInvMassWindow<0.){
376 printf("AliAnalysisTaskSECharmFraction: Not All info for mass selection provided: switch to default values \n");
377 SetStandardMassSelection();
624c07ab 378 }
e047b348 379
380 AliRDHFCutsD0toKpi* copyfCutsTight=new AliRDHFCutsD0toKpi(*fCutsTight);
381 const char* nameoutputTight=GetOutputSlot(21)->GetContainer()->GetName();
382 copyfCutsTight->SetName(nameoutputTight);
383 AliRDHFCutsD0toKpi* copyfCutsLoose=new AliRDHFCutsD0toKpi(*fCutsLoose);
384 const char* nameoutputLoose=GetOutputSlot(22)->GetContainer()->GetName();
385 copyfCutsLoose->SetName(nameoutputLoose);
386 // Post the data
387 PostData(21,copyfCutsTight);
388 PostData(22,copyfCutsLoose);
389
624c07ab 390 return;
391}
392
393//________________________________________________________________________
394void AliAnalysisTaskSECharmFraction::UserCreateOutputObjects()
395{
396 // Create histograms
397 // Called once
c387e585 398
399 // ################ NAMING SCHEME ###################################
400 // LISTS NAMING SCHEME
401 // "list" + cut selection string + MC selection string
402 // cut strings: "NC" =nocuts, "LSC"= loose cuts, "TGHC"= tight cuts
403 // MC sel. strings: "sign"= D0 from c quark
404 // "fromDstar" = D0 from Dstar from c quark
405 // "fromB"= D0from B decay (->from b quark) + D0from Dstar from B
406 // "back"= backgroun, generic except the cas "other"
407 // "other"= background case for candidates made of a pion and a kaon coming from the same D0 (in 4 prong) or from D+
408 //
409 // HISTS NAMING SCHEME
410 //
411 // "h" + specific name + cut selection string + MC selection string + (InvMass region string) + (pt string)
412 //
413 // cut selection strings = those for lists
414 // MC selection strings = those for lists
415 // inv mass region strings : "PM" or "SB" for global properties and pt integrated histos
416 // "_PkMss" or "_SBMss" for impact par. pt dependent histos
417 // pt string : "_pt" + integer number of ptbin
418 //
419 //###################################################################
624c07ab 420
421 TString namehist;
422 TString titlehist;
423 TString strnamept,strtitlept;
e047b348 424 Printf("INSIDE USER CREATE \n");
624c07ab 425 fNentries=new TH1F("nentriesChFr", "Look at the number of entries! = number of AODs", 2,1.,2.);
e047b348 426 fSignalType=new TH1F("hsignaltype", "Histo for type of MC signal", 61,-1.,60.);
427 fSignalTypeLsCuts=new TH1F("hsignaltypeLsCuts", "Histo for type of MC signal with loose cuts", 61,-1.,60.);
428 fSignalTypeTghCuts=new TH1F("hsignaltypeTghCuts", "Histo for type of MC signal with tight cuts", 61,-1.,60.);
624c07ab 429
430 //########## DEFINE THE TLISTS ##################
e047b348 431 flistMCproperties=new TList();
432 flistMCproperties->SetOwner();
433 flistMCproperties->SetName("listMCproperties");
434
ac4c229c 435 flistNoCutsSignal = new TList();
436 flistNoCutsSignal->SetOwner();
437 flistNoCutsSignal->SetName("listNCsign");
624c07ab 438
ac4c229c 439 flistNoCutsBack = new TList();
440 flistNoCutsBack->SetOwner();
441 flistNoCutsBack->SetName("listNCback");
624c07ab 442
ac4c229c 443 flistNoCutsFromB = new TList();
444 flistNoCutsFromB->SetOwner();
445 flistNoCutsFromB->SetName("listNCfromB");
624c07ab 446
ac4c229c 447 flistNoCutsFromDstar = new TList();
448 flistNoCutsFromDstar->SetOwner();
449 flistNoCutsFromDstar->SetName("listNCfromDstar");
624c07ab 450
ac4c229c 451 flistNoCutsOther = new TList();
452 flistNoCutsOther->SetOwner();
453 flistNoCutsOther->SetName("listNCother");
624c07ab 454
455
ac4c229c 456 flistLsCutsSignal = new TList();
457 flistLsCutsSignal->SetOwner();
458 flistLsCutsSignal->SetName("listLSCsign");
624c07ab 459
ac4c229c 460 flistLsCutsBack = new TList();
461 flistLsCutsBack->SetOwner();
462 flistLsCutsBack->SetName("listLSCback");
624c07ab 463
ac4c229c 464 flistLsCutsFromB = new TList();
465 flistLsCutsFromB->SetOwner();
466 flistLsCutsFromB->SetName("listLSCfromB");
624c07ab 467
ac4c229c 468 flistLsCutsFromDstar = new TList();
469 flistLsCutsFromDstar->SetOwner();
470 flistLsCutsFromDstar->SetName("listLSCfromDstar");
624c07ab 471
ac4c229c 472 flistLsCutsOther = new TList();
473 flistLsCutsOther->SetOwner();
474 flistLsCutsOther->SetName("listLSCother");
624c07ab 475
476
ac4c229c 477 flistTghCutsSignal = new TList();
478 flistTghCutsSignal->SetOwner();
479 flistTghCutsSignal->SetName("listTGHCsign");
624c07ab 480
ac4c229c 481 flistTghCutsBack = new TList();
482 flistTghCutsBack->SetOwner();
483 flistTghCutsBack->SetName("listTGHCback");
624c07ab 484
ac4c229c 485 flistTghCutsFromB = new TList();
486 flistTghCutsFromB->SetOwner();
487 flistTghCutsFromB->SetName("listTGHCfromB");
624c07ab 488
ac4c229c 489 flistTghCutsFromDstar = new TList();
490 flistTghCutsFromDstar->SetOwner();
491 flistTghCutsFromDstar->SetName("listTGHCfromDstar");
624c07ab 492
ac4c229c 493 flistTghCutsOther = new TList();
494 flistTghCutsOther->SetOwner();
495 flistTghCutsOther->SetName("listTGHCother");
624c07ab 496
497
498
e047b348 499 Float_t ptbinsD0arr[35]={0.,0.1,0.2,0.3,0.4,0.5,0.6,0.8,1.,1.25,1.5,1.75,2.,2.3,2.6,3.,3.5,4.,4.5,5.,5.5,6.,7.,8.,9.,10.,12.,14.,16.,20.,25.,30.,40.,50.,100.};
500 Float_t dumbinning[201];
501 for(Int_t j=0;j<201;j++){
502 dumbinning[j]=(Float_t)j*0.5;
503 }
504 //################################################################################################
505 // #
506 // HISTO FOR MC PROPERTIES OF D0, c quarks and B mesons #
507 // #
508 //################################################################################################
509 TH1F *hMCcquarkAllPt=new TH1F("hMCcquarkAllPt","c quark Pt (all cquarks produced)",34,ptbinsD0arr);
510 TH1F *hMCcquarkAllEta=new TH1F("hMCcquarkAllEta","c quark Eta (all cquarks produced)",50,-3.,3.);
511 TH1F *hMCcquarkAllEnergy=new TH1F("hMCcquarkAllEnergy","c quark Pt (all cquarks produced)",200,0.,100.);
512 TH1F *hMCcquarkNdaught=new TH1F("hMCcquarkNdaught","N cquark daughters (all cquarks produced)",100,0.,100.);
513 TH1F *hMCD0fromcPt=new TH1F("hMCD0fromcPt","D0 from c Pt",34,ptbinsD0arr);
514 TH1F *hMCD0fromcEta=new TH1F("hMCD0fromcEta","D0 from c Eta",50,-3.,3.);
515 TH1F *hMCD0fromcEnergy=new TH1F("hMCD0fromcEnergy","D0 from c Energy",200,0.,100.);
516
517 TH2F *hMCD0VscquarkPt=new TH2F("hMCD0VscquarkPt","D0 pt Vs cquark pt",34,ptbinsD0arr,34,ptbinsD0arr);
518 TH2F *hMCD0VscquarkEnergy=new TH2F("hMCD0VscquarkEnergy","D0 Energy Vs cquark Energy",200,0.,50.,200,0.,50.);
519 TH1F *hMCD0deltacquarkEnergy=new TH1F("hMCD0deltacquarkEnergy","Fractional D0 Energy w.r.t. cquark Energy",20,0.,1.);
520 TH1F *hMCD0EnergyVsAvcquarkDaughtEn=new TH1F("hMCD0EnergyVsAvcquarkDaughtEn","#Delta(E^{D^0}-E_{avg})/E_{cquark}",40,-1.,1.);
521 TH1F *hMCD0cquarkAngle=new TH1F("hMCD0cquarkAngle","cosine of the angle between D0 and c quark particle",40,-1.,1.);
522 TH2F *hMCD0cquarkAngleEnergy=new TH2F("hMCD0cquarkAngleEnergy","cosine of the angle between D0 and c quark particle as a function of Energy",25,0.,50.,40,-1.,1.);
523
524 TH1I *hMCfromBpdgB=new TH1I("hMCfromBpdgB","hMCfromBpdgB",10000,0.,10000);
525 TH1F *hMCBhadrPt=new TH1F("hMCBhadrPt","B hadr Pt",34,ptbinsD0arr);
526 TH1F *hMCBhadrEta=new TH1F("hMCBhadrEta","B hadr Eta",50,-3.,3.);
527 TH1F *hMCBhadrEnergy=new TH1F("hMCBhadrEnergy","B hadr Pt",200,0.,100.);
528 TH1F *hMCBhadrNdaught=new TH1F("hMCBhadrNdaught","N Bhadr daughters",100,0.,100.);
529 TH1F *hMCD0fromBPt=new TH1F("hMCD0fromBPt","D0 from B Pt",34,ptbinsD0arr);
530 TH1F *hMCD0fromBEta=new TH1F("hMCD0fromBEta","D0 from B Eta",50,-3.,3.);
531 TH1F *hMCD0fromBEnergy=new TH1F("hMCD0fromBEnergy","D0 from B Energy",200,0.,100.);
532
533 TH2F *hMCD0VsBhadrPt=new TH2F("hMCD0VsBhadrPt","D0 pt Vs Bhadr pt",34,ptbinsD0arr,34,ptbinsD0arr);
534 TH2F *hMCD0VsBhadrEnergy=new TH2F("hMCD0VsBhadrEnergy","D0 Energy Vs Bhadr Energy",200,0.,50.,200,0.,50.);
535 TH1F *hMCD0deltaBhadrEnergy=new TH1F("hMCD0deltaBhadrEnergy","Fractional D0 Energy w.r.t. Bhadr Energy",20,0.,1.);
536 TH1F *hMCD0EnergyVsAvBDaughtEn=new TH1F("hMCD0EnergyVsAvBDaughtEn","#Delta(E^{D^0}-E_{avg})/E_{Bahdr}",40,-1.,1.);
537 TH1F *hMCD0BhadrAngle=new TH1F("hMCD0BhadrAngle","cosine of the angle between D0 and Bhadr particle",40,-1.,1.);
538 TH2F *hMCD0BhadrAngleEnergy=new TH2F("hMCD0BhadrAngleEnergy","cosine of the angle between D0 and Bhadr particle as a function of Energy",25,0.,50.,40,-1.,1.);
539
540 TH1I *hMCPartFound=new TH1I("hMCPartFound","1=c,2=D0,3=fromBall,4=fromBmeson,5=fromBbaryon",6,0,6);
541
542
543 flistMCproperties->Add(hMCcquarkAllPt);
544 flistMCproperties->Add(hMCcquarkAllEta);
545 flistMCproperties->Add(hMCcquarkAllEnergy);
546 flistMCproperties->Add(hMCcquarkNdaught);
547 flistMCproperties->Add(hMCD0fromcPt);
548 flistMCproperties->Add(hMCD0fromcEta);
549 flistMCproperties->Add(hMCD0fromcEnergy);
550 flistMCproperties->Add(hMCD0VscquarkPt);
551 flistMCproperties->Add(hMCD0VscquarkEnergy);
552 flistMCproperties->Add(hMCD0deltacquarkEnergy);
553 flistMCproperties->Add(hMCD0EnergyVsAvcquarkDaughtEn);
554 flistMCproperties->Add(hMCD0cquarkAngle);
555 flistMCproperties->Add(hMCD0cquarkAngleEnergy);
556
557 flistMCproperties->Add(hMCfromBpdgB);
558 flistMCproperties->Add(hMCBhadrPt);
559 flistMCproperties->Add(hMCBhadrEta);
560 flistMCproperties->Add(hMCBhadrEnergy);
561 flistMCproperties->Add(hMCBhadrNdaught);
562 flistMCproperties->Add(hMCD0fromBPt);
563 flistMCproperties->Add(hMCD0fromBEta);
564 flistMCproperties->Add(hMCD0fromBEnergy);
565 flistMCproperties->Add(hMCD0VsBhadrPt);
566 flistMCproperties->Add(hMCD0VsBhadrEnergy);
567 flistMCproperties->Add(hMCD0deltaBhadrEnergy);
568 flistMCproperties->Add(hMCD0EnergyVsAvBDaughtEn);
569 flistMCproperties->Add(hMCD0BhadrAngle);
570 flistMCproperties->Add(hMCD0BhadrAngleEnergy);
571 flistMCproperties->Add(hMCPartFound);
624c07ab 572
573 //################################################################################################
574 // #
575 // HISTOS FOR NO CUTS CASE #
576 // #
577 //################################################################################################
e047b348 578 Printf("AFTER MC HISTOS \n");
624c07ab 579
580 //############ NO CUTS SIGNAL HISTOGRAMS ###############
581 //
582 // ####### global properties histo ############
583
e047b348 584 TH2F *hCPtaVSd0d0NCsign=new TH2F("hCPtaVSd0d0NCsign","hCPtaVSd0d0_NoCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 585 TH1F *hSecVtxZNCsign=new TH1F("hSecVtxZNCsign","hSecVtxZ_NoCuts_Signal",1000,-8.,8.);
586 TH1F *hSecVtxXNCsign=new TH1F("hSecVtxXNCsign","hSecVtxX_NoCuts_Signal",1000,-3000.,3000.);
587 TH1F *hSecVtxYNCsign=new TH1F("hSecVtxYNCsign","hSecVtxY_NoCuts_Signal",1000,-3000.,3000.);
588 TH2F *hSecVtxXYNCsign=new TH2F("hSecVtxXYNCsign","hSecVtxXY_NoCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
589 TH1F *hSecVtxPhiNCsign=new TH1F("hSecVtxPhiNCsign","hSecVtxPhi_NoCuts_Signal",180,-180.1,180.1);
e047b348 590 TH1F *hd0singlTrackNCsign=new TH1F("hd0singlTrackNCsign","hd0singlTrackNoCuts_Signal",1000,-5000.,5000.);
591 TH1F *hCPtaNCsign=new TH1F("hCPtaNCsign","hCPta_NoCuts_Signal",100,-1.,1.);
ac4c229c 592 TH1F *hd0xd0NCsign=new TH1F("hd0xd0NCsign","hd0xd0_NoCuts_Signal",1000,-100000.,100000.);
593 TH1F *hMassTrueNCsign=new TH1F("hMassTrueNCsign","D^{0} MC inv. Mass No Cuts Signal(All momenta)",600,1.600,2.200);
594 TH1F *hMassNCsign=new TH1F("hMassNCsign","D^{0} inv. Mass No Cuts Signal (All momenta)",600,1.600,2.200);
595 hMassNCsign->Sumw2();
596 TH1F *hMassTrueNCsignPM=new TH1F("hMassTrueNCsignPM","D^{0} MC inv. Mass No Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
597 TH1F *hMassNCsignPM=new TH1F("hMassNCsignPM","D^{0} inv. Mass No Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
598 hMassNCsignPM->Sumw2();
599
600 TH1F *hMassTrueNCsignSB=new TH1F("hMassTrueNCsignSB","D^{0} MC inv. Mass in Side Bands No Cuts Signal(All momenta)",600,1.600,2.200);
601 TH1F *hMassNCsignSB=new TH1F("hMassNCsignSB","D^{0} inv. Mass in Side Bands No Cuts Signal (All momenta)",600,1.600,2.200);
602 hMassNCsignSB->Sumw2();
603
604 flistNoCutsSignal->Add(hCPtaVSd0d0NCsign);
605 flistNoCutsSignal->Add(hSecVtxZNCsign);
606 flistNoCutsSignal->Add(hSecVtxYNCsign);
607 flistNoCutsSignal->Add(hSecVtxXNCsign);
608 flistNoCutsSignal->Add(hSecVtxXYNCsign);
609 flistNoCutsSignal->Add(hSecVtxPhiNCsign);
e047b348 610 flistNoCutsSignal->Add(hd0singlTrackNCsign);
ac4c229c 611 flistNoCutsSignal->Add(hCPtaNCsign);
612 flistNoCutsSignal->Add(hd0xd0NCsign);
613 flistNoCutsSignal->Add(hMassTrueNCsign);
614 flistNoCutsSignal->Add(hMassNCsign);
615 flistNoCutsSignal->Add(hMassTrueNCsignPM);
616 flistNoCutsSignal->Add(hMassNCsignPM);
617 flistNoCutsSignal->Add(hMassTrueNCsignSB);
618 flistNoCutsSignal->Add(hMassNCsignSB);
e047b348 619
620 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
621 TH1F *hdcaNCsign=new TH1F("hdcaNCsign","hdca_NoCuts_Signal",100,0.,1000.);
622 hdcaNCsign->SetXTitle("dca [#mum]");
623 hdcaNCsign->SetYTitle("Entries");
624 TH1F *hcosthetastarNCsign=new TH1F("hcosthetastarNCsign","hCosThetaStar_NoCuts_Signal",50,-1.,1.);
625 hcosthetastarNCsign->SetXTitle("cos #theta^{*}");
626 hcosthetastarNCsign->SetYTitle("Entries");
627 TH1F *hptD0NCsign=new TH1F("hptD0NCsign","D^{0} transverse momentum distribution",34,ptbinsD0arr);
628 hptD0NCsign->SetXTitle("p_{t} [GeV/c]");
629 hptD0NCsign->SetYTitle("Entries");
630 TH1F *hptD0VsMaxPtNCsign=new TH1F("hptD0VsMaxPtNCsign","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
631 TH2F *hptD0PTallsqrtNCsign=new TH2F("hptD0PTallsqrtNCsign","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
632 TH2F *hptD0PTallNCsign=new TH2F("hptD0PTallNCsign","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
633 TH2F *hptD0vsptBNCsign=new TH2F("hptD0vsptBNCsign","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
634 TH2F *hpD0vspBNCsign=new TH2F("hpD0vspBNCsign","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
635 TH2F *hptD0vsptcquarkNCsign=new TH2F("hptD0vsptcquarkNCsign","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
636 TH2F *hpD0vspcquarkNCsign=new TH2F("hpD0vspcquarkNCsign","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
637 flistNoCutsSignal->Add(hdcaNCsign);
638 flistNoCutsSignal->Add(hcosthetastarNCsign);
639 flistNoCutsSignal->Add(hptD0NCsign);
640 flistNoCutsSignal->Add(hptD0VsMaxPtNCsign);
641 flistNoCutsSignal->Add(hptD0PTallsqrtNCsign);
642 flistNoCutsSignal->Add(hptD0PTallNCsign);
643 flistNoCutsSignal->Add(hptD0vsptBNCsign);
644 flistNoCutsSignal->Add(hpD0vspBNCsign);
645 flistNoCutsSignal->Add(hptD0vsptcquarkNCsign);
646 flistNoCutsSignal->Add(hpD0vspcquarkNCsign);
647
648 TH1F *hd0zD0ptNCsign;
cc3209fb 649 TH1F *hInvMassD0NCsign,*hInvMassD0barNCsign;
e047b348 650 TH2F *hInvMassPtNCsign=new TH2F("hInvMassPtNCsign","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
651 flistNoCutsSignal->Add(hInvMassPtNCsign);
652 TH1F *hetaNCsign;
653 TH1F *hCosPDPBNCsign;
654 TH1F *hCosPcPDNCsign;
655 // ADDITIONAL HISTOS
656 TH2F *hd0D0VSd0xd0NCsignpt;
657 TH2F *hangletracksVSd0xd0NCsignpt;
658 TH2F *hangletracksVSd0D0NCsignpt;
659 TH1F *hd0xd0NCsignpt;
660
661 TH2F *hTOFpidNCsign=new TH2F("hTOFpidNCsign","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
662 flistNoCutsSignal->Add(hTOFpidNCsign);
663
664 //##################
665 for(Int_t i=0;i<fnbins;i++){
666 //Printf("INSIDE HISTOS CREATION LOOP: %d \n",fnbins);
667
668 namehist="hd0zD0ptNCsign_pt";
669 namehist+=i;
670 titlehist="d0(z) No Cuts Signalm ptbin=";
671 titlehist+=i;
672 hd0zD0ptNCsign=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
673 hd0zD0ptNCsign->SetXTitle("d_{0}(z) [#mum]");
674 hd0zD0ptNCsign->SetYTitle("Entries");
675 flistNoCutsSignal->Add(hd0zD0ptNCsign);
676
cc3209fb 677 namehist="hInvMassD0NCsign_pt";
e047b348 678 namehist+=i;
cc3209fb 679 titlehist="Invariant Mass D0 No Cuts Signal ptbin=";
e047b348 680 titlehist+=i;
cc3209fb 681 hInvMassD0NCsign=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
682 hInvMassD0NCsign->SetXTitle("Invariant Mass [GeV]");
683 hInvMassD0NCsign->SetYTitle("Entries");
684 flistNoCutsSignal->Add(hInvMassD0NCsign);
685
686
687 namehist="hInvMassD0barNCsign_pt";
688 namehist+=i;
689 titlehist="Invariant Mass D0bar No Cuts Signal ptbin=";
690 titlehist+=i;
691 hInvMassD0barNCsign=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
692 hInvMassD0barNCsign->SetXTitle("Invariant Mass [GeV]");
693 hInvMassD0barNCsign->SetYTitle("Entries");
694 flistNoCutsSignal->Add(hInvMassD0barNCsign);
695
e047b348 696
697 namehist="hetaNCsign_pt";
698 namehist+=i;
699 titlehist="eta No Cuts Signal ptbin=";
700 titlehist+=i;
701 hetaNCsign=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
702 hetaNCsign->SetXTitle("Pseudorapidity");
703 hetaNCsign->SetYTitle("Entries");
704 flistNoCutsSignal->Add(hetaNCsign);
705
706 namehist="hCosPDPBNCsign_pt";
707 namehist+=i;
708 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
709 titlehist+=i;
710 hCosPDPBNCsign=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
711 hCosPDPBNCsign->SetXTitle("Cosine between D0 momentum and B momentum");
712 hCosPDPBNCsign->SetYTitle("Entries");
713 flistNoCutsSignal->Add(hCosPDPBNCsign);
714
715 namehist="hCosPcPDNCsign_pt";
716 namehist+=i;
717 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
718 titlehist+=i;
719 hCosPcPDNCsign=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
720 hCosPcPDNCsign->SetXTitle("Cosine between c quark momentum and D0 momentum");
721 hCosPcPDNCsign->SetYTitle("Entries");
722 flistNoCutsSignal->Add(hCosPcPDNCsign);
723
724
725 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
726 namehist="hd0xd0NCsign_pt";
727 namehist+=i;
728 titlehist="d0xd0 No Cuts Signal ptbin=";
729 titlehist+=i;
730 hd0xd0NCsignpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
731 hd0xd0NCsignpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
732 hd0xd0NCsignpt->SetYTitle("Entries");
733 flistNoCutsSignal->Add(hd0xd0NCsignpt);
734
735
736 namehist="hd0D0VSd0xd0NCsign_pt";
737 namehist+=i;
738 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
739 titlehist+=i;
740 hd0D0VSd0xd0NCsignpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
741 hd0D0VSd0xd0NCsignpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
742 hd0D0VSd0xd0NCsignpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
743 flistNoCutsSignal->Add(hd0D0VSd0xd0NCsignpt);
744
745
746 namehist="hangletracksVSd0xd0NCsign_pt";
747 namehist+=i;
748 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
749 titlehist+=i;
750 hangletracksVSd0xd0NCsignpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
751 hangletracksVSd0xd0NCsignpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
752 hangletracksVSd0xd0NCsignpt->SetYTitle(" angle between K and #p tracks [rad]");
753 flistNoCutsSignal->Add(hangletracksVSd0xd0NCsignpt);
754
755
756 namehist="hangletracksVSd0D0NCsign_pt";
757 namehist+=i;
758 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Signal ptbin=";
759 titlehist+=i;
760 hangletracksVSd0D0NCsignpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
761 hangletracksVSd0D0NCsignpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
762 hangletracksVSd0D0NCsignpt->SetYTitle(" angle between K and #p tracks [rad]");
763 flistNoCutsSignal->Add(hangletracksVSd0D0NCsignpt);
764
765 }
766 Printf("AFTER LOOP HISTOS CREATION \n");
767 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
768 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
624c07ab 769
770 // ####### d0 D0 histos ############
ac4c229c 771 TH1F *hd0D0NCsignPM = new TH1F("hd0D0NCsignPM","D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
772 hd0D0NCsignPM->SetXTitle("Impact parameter [#mum]");
773 hd0D0NCsignPM->SetYTitle("Entries");
774
775 TH1F *hd0D0VtxTrueNCsignPM = new TH1F("hd0D0VtxTrueNCsignPM","D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
776 hd0D0VtxTrueNCsignPM->SetXTitle("Impact parameter [#mum]");
777 hd0D0VtxTrueNCsignPM->SetYTitle("Entries");
778
779 TH1F *hMCd0D0NCsignPM = new TH1F("hMCd0D0NCsignPM","D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
780 hMCd0D0NCsignPM->SetXTitle("MC Impact parameter [#mum]");
781 hMCd0D0NCsignPM->SetYTitle("Entries");
782
783 TH1F *hd0D0NCsignSB = new TH1F("hd0D0NCsignSB","D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
784 hd0D0NCsignSB->SetXTitle("Impact parameter [#mum]");
785 hd0D0NCsignSB->SetYTitle("Entries");
786
787 TH1F *hd0D0VtxTrueNCsignSB = new TH1F("hd0D0VtxTrueNCsignSB","D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
788 hd0D0VtxTrueNCsignSB->SetXTitle("Impact parameter [#mum]");
789 hd0D0VtxTrueNCsignSB->SetYTitle("Entries");
790
791 TH1F *hMCd0D0NCsignSB = new TH1F("hMCd0D0NCsignSB","D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
792 hMCd0D0NCsignSB->SetXTitle("MC Impact parameter [#mum]");
793 hMCd0D0NCsignSB->SetYTitle("Entries");
794
795 flistNoCutsSignal->Add(hd0D0NCsignPM);
796 flistNoCutsSignal->Add(hd0D0VtxTrueNCsignPM);
797 flistNoCutsSignal->Add(hMCd0D0NCsignPM);
798 flistNoCutsSignal->Add(hd0D0NCsignSB);
799 flistNoCutsSignal->Add(hd0D0VtxTrueNCsignSB);
800 flistNoCutsSignal->Add(hMCd0D0NCsignSB);
801
e047b348 802 TH1F *hd0D0ptNCsignPM;
803 TH1F *hMCd0D0ptNCsignPM;
804 TH1F *hd0D0VtxTrueptNCsignPM;
805 TH1F *hd0D0ptNCsignSB;
806 TH1F *hMCd0D0ptNCsignSB;
807 TH1F *hd0D0VtxTrueptNCsignSB;
ac4c229c 808 namehist="hd0D0ptNCsign_";
624c07ab 809 titlehist="D^{0} impact par. plot, No Cuts, Signal, ";
810 for(Int_t i=0;i<fnbins;i++){
e047b348 811 Printf("IN HISTOS CREATION USING PTBINS VALUES for NAMES \n");
624c07ab 812 strnamept=namehist;
813 strnamept.Append("PkMss_pt");
814 strnamept+=i;
815
816 strtitlept=titlehist;
817 strtitlept.Append(" Mass Peak, ");
e047b348 818
624c07ab 819 strtitlept+=fptbins[i];
e047b348 820 Printf("IN HISTOS CREATION USING PTBINS VALUES for NAMES %d: %f\n",i,fptbins[i]);
624c07ab 821 strtitlept.Append("<= pt <");
822 strtitlept+=fptbins[i+1];
823 strtitlept.Append(" [GeV/c]");
824
e047b348 825 hd0D0ptNCsignPM= new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
826 hd0D0ptNCsignPM->SetXTitle("Impact parameter [#mum] ");
827 hd0D0ptNCsignPM->SetYTitle("Entries");
828 flistNoCutsSignal->Add(hd0D0ptNCsignPM);
624c07ab 829
830 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 831 hMCd0D0ptNCsignPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
832 hMCd0D0ptNCsignPM->SetXTitle("MC Impact parameter [#mum] ");
833 hMCd0D0ptNCsignPM->SetYTitle("Entries");
834 flistNoCutsSignal->Add(hMCd0D0ptNCsignPM);
624c07ab 835
836
837 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 838 hd0D0VtxTrueptNCsignPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
839 hd0D0VtxTrueptNCsignPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
840 hd0D0VtxTrueptNCsignPM->SetYTitle("Entries");
841 flistNoCutsSignal->Add(hd0D0VtxTrueptNCsignPM);
624c07ab 842
843 strnamept=namehist;
844 strnamept.Append("SBMss_pt");
845 strnamept+=i;
846
847 strtitlept=titlehist;
848 strtitlept.Append(" Side Bands, ");
849 strtitlept+=fptbins[i];
850 strtitlept.Append("<= pt <");
851 strtitlept+=fptbins[i+1];
852 strtitlept.Append(" [GeV/c]");
853
e047b348 854 hd0D0ptNCsignSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
855 hd0D0ptNCsignSB->SetXTitle("Impact parameter [#mum] ");
856 hd0D0ptNCsignSB->SetYTitle("Entries");
857 flistNoCutsSignal->Add(hd0D0ptNCsignSB);
624c07ab 858
859 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 860 hMCd0D0ptNCsignSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
861 hMCd0D0ptNCsignSB->SetXTitle("MC Impact parameter [#mum] ");
862 hMCd0D0ptNCsignSB->SetYTitle("Entries");
863 flistNoCutsSignal->Add(hMCd0D0ptNCsignSB);
624c07ab 864
865 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 866 hd0D0VtxTrueptNCsignSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
867 hd0D0VtxTrueptNCsignSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
868 hd0D0VtxTrueptNCsignSB->SetYTitle("Entries");
869 flistNoCutsSignal->Add(hd0D0VtxTrueptNCsignSB);
624c07ab 870 }
871
e047b348 872 Printf("AFTER SIGNAL HISTOS CREATION for NOCUTS\n");
873
624c07ab 874
875 //############ NO CUTS BACKGROUND HISTOGRAMS ###########
876 //
877 // ######## global properties histos #######
e047b348 878 TH2F *hCPtaVSd0d0NCback=new TH2F("hCPtaVSd0d0NCback","hCPtaVSd0d0_NoCuts_Background",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 879 TH1F *hSecVtxZNCback=new TH1F("hSecVtxZNCback","hSecVtxZ_NoCuts_Background",1000,-8.,8.);
880 TH1F *hSecVtxXNCback=new TH1F("hSecVtxXNCback","hSecVtxX_NoCuts_Background",1000,-3000.,3000.);
881 TH1F *hSecVtxYNCback=new TH1F("hSecVtxYNCback","hSecVtxY_NoCuts_Background",1000,-3000.,3000.);
882 TH2F *hSecVtxXYNCback=new TH2F("hSecVtxXYNCback","hSecVtxXY_NoCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
883 TH1F *hSecVtxPhiNCback=new TH1F("hSecVtxPhiNCback","hSecVtxPhi_NoCuts_Background",180,-180.1,180.1);
e047b348 884 TH1F *hd0singlTrackNCback=new TH1F("hd0singlTrackNCback","hd0singlTrackNoCuts_Back",1000,-5000.,5000.);
885 TH1F *hCPtaNCback=new TH1F("hCPtaNCback","hCPta_NoCuts_Background",100,-1.,1.);
ac4c229c 886 TH1F *hd0xd0NCback=new TH1F("hd0xd0NCback","hd0xd0_NoCuts_Background",1000,-100000.,100000.);
887 TH1F *hMassTrueNCback=new TH1F("hMassTrueNCback","D^{0} MC inv. Mass No Cuts Background(All momenta)",600,1.600,2.200);
888 TH1F *hMassNCback=new TH1F("hMassNCback","D^{0} inv. Mass No Cuts Background (All momenta)",600,1.600,2.200);
889 hMassNCback->Sumw2();
890 TH1F *hMassTrueNCbackPM=new TH1F("hMassTrueNCbackPM","D^{0} MC inv. Mass No Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
891 TH1F *hMassNCbackPM=new TH1F("hMassNCbackPM","D^{0} inv. Mass No Cuts Background (All momenta), MassPeak",600,1.600,2.200);
892 hMassNCbackPM->Sumw2();
893 TH1F *hMassTrueNCbackSB=new TH1F("hMassTrueNCbackSB","D^{0} MC inv. Mass in Side Bands No Cuts Background(All momenta)",600,1.600,2.200);
894 TH1F *hMassNCbackSB=new TH1F("hMassNCbackSB","D^{0} inv. Mass in Side Bands No Cuts Background (All momenta)",600,1.600,2.200);
895 hMassNCbackSB->Sumw2();
896
897 flistNoCutsBack->Add(hCPtaVSd0d0NCback);
898 flistNoCutsBack->Add(hSecVtxZNCback);
899 flistNoCutsBack->Add(hSecVtxYNCback);
900 flistNoCutsBack->Add(hSecVtxXNCback);
901 flistNoCutsBack->Add(hSecVtxXYNCback);
902 flistNoCutsBack->Add(hSecVtxPhiNCback);
e047b348 903 flistNoCutsBack->Add(hd0singlTrackNCback);
ac4c229c 904 flistNoCutsBack->Add(hCPtaNCback);
905 flistNoCutsBack->Add(hd0xd0NCback);
906 flistNoCutsBack->Add(hMassTrueNCback);
907 flistNoCutsBack->Add(hMassNCback);
908 flistNoCutsBack->Add(hMassTrueNCbackPM);
909 flistNoCutsBack->Add(hMassNCbackPM);
910 flistNoCutsBack->Add(hMassTrueNCbackSB);
911 flistNoCutsBack->Add(hMassNCbackSB);
624c07ab 912
913
e047b348 914 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
915 TH1F *hdcaNCback=new TH1F("hdcaNCback","hdca_NoCuts_Backgr",100,0.,1000.);
916 hdcaNCback->SetXTitle("dca [#mum]");
917 hdcaNCback->SetYTitle("Entries");
918 TH1F *hcosthetastarNCback=new TH1F("hcosthetastarNCback","hCosThetaStar_NoCuts_Backgr",50,-1.,1.);
919 hcosthetastarNCback->SetXTitle("cos #theta^{*}");
920 hcosthetastarNCback->SetYTitle("Entries");
921 TH1F *hptD0NCback=new TH1F("hptD0NCback","D^{0} transverse momentum distribution",34,ptbinsD0arr);
922 hptD0NCback->SetXTitle("p_{t} [GeV/c]");
923 hptD0NCback->SetYTitle("Entries");
924 TH1F *hptD0VsMaxPtNCback=new TH1F("hptD0VsMaxPtNCback","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
925 TH2F *hptD0PTallsqrtNCback=new TH2F("hptD0PTallsqrtNCback","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
926 TH2F *hptD0PTallNCback=new TH2F("hptD0PTallNCback","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
927 TH2F *hptD0vsptBNCback=new TH2F("hptD0vsptBNCback","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
928 TH2F *hpD0vspBNCback=new TH2F("hpD0vspBNCback","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
929 TH2F *hptD0vsptcquarkNCback=new TH2F("hptD0vsptcquarkNCback","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
930 TH2F *hpD0vspcquarkNCback=new TH2F("hpD0vspcquarkNCback","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
931 flistNoCutsBack->Add(hdcaNCback);
932 flistNoCutsBack->Add(hcosthetastarNCback);
933 flistNoCutsBack->Add(hptD0NCback);
934 flistNoCutsBack->Add(hptD0VsMaxPtNCback);
935 flistNoCutsBack->Add(hptD0PTallsqrtNCback);
936 flistNoCutsBack->Add(hptD0PTallNCback);
937 flistNoCutsBack->Add(hptD0vsptBNCback);
938 flistNoCutsBack->Add(hpD0vspBNCback);
939 flistNoCutsBack->Add(hptD0vsptcquarkNCback);
940 flistNoCutsBack->Add(hpD0vspcquarkNCback);
941
942 TH1F *hd0zD0ptNCback;
cc3209fb 943 TH1F *hInvMassD0NCback,*hInvMassD0barNCback;
e047b348 944 TH2F *hInvMassPtNCback=new TH2F("hInvMassPtNCback","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
945 TH1F *hetaNCback;
946 TH1F *hCosPDPBNCback;
947 TH1F *hCosPcPDNCback;
948 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
949 TH2F *hd0D0VSd0xd0NCbackpt;
950 TH2F *hangletracksVSd0xd0NCbackpt;
951 TH2F *hangletracksVSd0D0NCbackpt;
952 TH1F *hd0xd0NCbackpt;
953 flistNoCutsBack->Add(hInvMassPtNCback);
954
955 TH2F *hTOFpidNCback=new TH2F("hTOFpidNCback","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
956 flistNoCutsBack->Add(hTOFpidNCback);
957
958 for(Int_t i=0;i<fnbins;i++){
959 namehist="hd0zD0ptNCback_pt";
960 namehist+=i;
961 titlehist="d0(z) No Cuts Backgrm ptbin=";
962 titlehist+=i;
963 hd0zD0ptNCback=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
964 hd0zD0ptNCback->SetXTitle("d_{0}(z) [#mum]");
965 hd0zD0ptNCback->SetYTitle("Entries");
966 flistNoCutsBack->Add(hd0zD0ptNCback);
967
cc3209fb 968 namehist="hInvMassD0NCback_pt";
e047b348 969 namehist+=i;
970 titlehist="Invariant Mass No Cuts Backgr ptbin=";
971 titlehist+=i;
cc3209fb 972 hInvMassD0NCback=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
973 hInvMassD0NCback->SetXTitle("Invariant Mass [GeV]");
974 hInvMassD0NCback->SetYTitle("Entries");
975 flistNoCutsBack->Add(hInvMassD0NCback);
976
977
978 namehist="hInvMassD0barNCback_pt";
979 namehist+=i;
980 titlehist="Invariant Mass D0bar No Cuts Back ptbin=";
981 titlehist+=i;
982 hInvMassD0barNCback=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
983 hInvMassD0barNCback->SetXTitle("Invariant Mass [GeV]");
984 hInvMassD0barNCback->SetYTitle("Entries");
985 flistNoCutsBack->Add(hInvMassD0barNCback);
986
e047b348 987
988 namehist="hetaNCback_pt";
989 namehist+=i;
990 titlehist="eta No Cuts Backgr ptbin=";
991 titlehist+=i;
992 hetaNCback=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
993 hetaNCback->SetXTitle("Pseudorapidity");
994 hetaNCback->SetYTitle("Entries");
995 flistNoCutsBack->Add(hetaNCback);
996
997 namehist="hCosPDPBNCback_pt";
998 namehist+=i;
999 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
1000 titlehist+=i;
1001 hCosPDPBNCback=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1002 hCosPDPBNCback->SetXTitle("Cosine between D0 momentum and B momentum");
1003 hCosPDPBNCback->SetYTitle("Entries");
1004 flistNoCutsBack->Add(hCosPDPBNCback);
1005
1006 namehist="hCosPcPDNCback_pt";
1007 namehist+=i;
1008 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
1009 titlehist+=i;
1010 hCosPcPDNCback=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1011 hCosPcPDNCback->SetXTitle("Cosine between c quark momentum and D0 momentum");
1012 hCosPcPDNCback->SetYTitle("Entries");
1013 flistNoCutsBack->Add(hCosPcPDNCback);
1014
1015
1016 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1017 namehist="hd0xd0NCback_pt";
1018 namehist+=i;
1019 titlehist="d0xd0 No Cuts Background ptbin=";
1020 titlehist+=i;
1021 hd0xd0NCbackpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1022 hd0xd0NCbackpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1023 hd0xd0NCbackpt->SetYTitle("Entries");
1024 flistNoCutsBack->Add(hd0xd0NCbackpt);
1025
1026
1027 namehist="hd0D0VSd0xd0NCback_pt";
1028 namehist+=i;
1029 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1030 titlehist+=i;
1031 hd0D0VSd0xd0NCbackpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1032 hd0D0VSd0xd0NCbackpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1033 hd0D0VSd0xd0NCbackpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
1034 flistNoCutsBack->Add(hd0D0VSd0xd0NCbackpt);
1035
1036
1037 namehist="hangletracksVSd0xd0NCback_pt";
1038 namehist+=i;
1039 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1040 titlehist+=i;
1041 hangletracksVSd0xd0NCbackpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1042 hangletracksVSd0xd0NCbackpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1043 hangletracksVSd0xd0NCbackpt->SetYTitle(" angle between K and #p tracks [rad]");
1044 flistNoCutsBack->Add(hangletracksVSd0xd0NCbackpt);
1045
1046
1047 namehist="hangletracksVSd0D0NCback_pt";
1048 namehist+=i;
1049 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Back ptbin=";
1050 titlehist+=i;
1051 hangletracksVSd0D0NCbackpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1052 hangletracksVSd0D0NCbackpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
1053 hangletracksVSd0D0NCbackpt->SetYTitle(" angle between K and #p tracks [rad]");
1054 flistNoCutsBack->Add(hangletracksVSd0D0NCbackpt);
1055
1056
1057
1058 }
1059 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
1060 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1061
1062
1063
624c07ab 1064 // ####### d0 D0 histos ############
1065
ac4c229c 1066 TH1F *hd0D0NCbackPM = new TH1F("hd0D0NCbackPM","D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1067 hd0D0NCbackPM->SetXTitle("Impact parameter [#mum]");
1068 hd0D0NCbackPM->SetYTitle("Entries");
1069
1070 TH1F *hd0D0VtxTrueNCbackPM = new TH1F("hd0D0VtxTrueNCbackPM","D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1071 hd0D0VtxTrueNCbackPM->SetXTitle("Impact parameter [#mum]");
1072 hd0D0VtxTrueNCbackPM->SetYTitle("Entries");
1073
1074 TH1F *hMCd0D0NCbackPM = new TH1F("hMCd0D0NCbackPM","D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1075 hMCd0D0NCbackPM->SetXTitle("MC Impact parameter [#mum]");
1076 hMCd0D0NCbackPM->SetYTitle("Entries");
1077
1078 TH1F *hd0D0NCbackSB = new TH1F("hd0D0NCbackSB","D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1079 hd0D0NCbackSB->SetXTitle("Impact parameter [#mum]");
1080 hd0D0NCbackSB->SetYTitle("Entries");
1081
1082 TH1F *hd0D0VtxTrueNCbackSB = new TH1F("hd0D0VtxTrueNCbackSB","D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1083 hd0D0VtxTrueNCbackSB->SetXTitle("Impact parameter [#mum]");
1084 hd0D0VtxTrueNCbackSB->SetYTitle("Entries");
1085
1086 TH1F *hMCd0D0NCbackSB = new TH1F("hMCd0D0NCbackSB","D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1087 hMCd0D0NCbackSB->SetXTitle("MC Impact parameter [#mum]");
1088 hMCd0D0NCbackSB->SetYTitle("Entries");
1089
1090 flistNoCutsBack->Add(hd0D0NCbackPM);
1091 flistNoCutsBack->Add(hd0D0VtxTrueNCbackPM);
1092 flistNoCutsBack->Add(hMCd0D0NCbackPM);
1093 flistNoCutsBack->Add(hd0D0NCbackSB);
1094 flistNoCutsBack->Add(hd0D0VtxTrueNCbackSB);
1095 flistNoCutsBack->Add(hMCd0D0NCbackSB);
1096
e047b348 1097 TH1F *hd0D0ptNCbackPM;
1098 TH1F *hMCd0D0ptNCbackPM;
1099 TH1F *hd0D0VtxTrueptNCbackPM;
1100 TH1F *hd0D0ptNCbackSB;
1101 TH1F *hMCd0D0ptNCbackSB;
1102 TH1F *hd0D0VtxTrueptNCbackSB;
ac4c229c 1103 namehist="hd0D0ptNCback_";
624c07ab 1104 titlehist="D^{0} impact par. plot, No Cuts, Background, ";
1105 for(Int_t i=0;i<fnbins;i++){
1106 strnamept=namehist;
1107 strnamept.Append("PkMss_pt");
1108 strnamept+=i;
1109
1110 strtitlept=titlehist;
1111 strtitlept.Append(" Mass Peak, ");
1112 strtitlept+=fptbins[i];
1113 strtitlept.Append("<= pt <");
1114 strtitlept+=fptbins[i+1];
1115 strtitlept.Append(" [GeV/c]");
1116
e047b348 1117 hd0D0ptNCbackPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1118 hd0D0ptNCbackPM->SetXTitle("Impact parameter [#mum] ");
1119 hd0D0ptNCbackPM->SetYTitle("Entries");
1120 flistNoCutsBack->Add(hd0D0ptNCbackPM);
624c07ab 1121
1122 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1123 hMCd0D0ptNCbackPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1124 hMCd0D0ptNCbackPM->SetXTitle("MC Impact parameter [#mum] ");
1125 hMCd0D0ptNCbackPM->SetYTitle("Entries");
1126 flistNoCutsBack->Add(hMCd0D0ptNCbackPM);
624c07ab 1127
1128
1129 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 1130 hd0D0VtxTrueptNCbackPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1131 hd0D0VtxTrueptNCbackPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
1132 hd0D0VtxTrueptNCbackPM->SetYTitle("Entries");
1133 flistNoCutsBack->Add(hd0D0VtxTrueptNCbackPM);
624c07ab 1134
1135 strnamept=namehist;
1136 strnamept.Append("SBMss_pt");
1137 strnamept+=i;
1138
1139 strtitlept=titlehist;
1140 strtitlept.Append(" Side Bands, ");
1141 strtitlept+=fptbins[i];
1142 strtitlept.Append("<= pt <");
1143 strtitlept+=fptbins[i+1];
1144 strtitlept.Append(" [GeV/c]");
1145
e047b348 1146 hd0D0ptNCbackSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1147 hd0D0ptNCbackSB->SetXTitle("Impact parameter [#mum] ");
1148 hd0D0ptNCbackSB->SetYTitle("Entries");
1149 flistNoCutsBack->Add(hd0D0ptNCbackSB);
624c07ab 1150
1151 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1152 hMCd0D0ptNCbackSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1153 hMCd0D0ptNCbackSB->SetXTitle("MC Impact parameter [#mum] ");
1154 hMCd0D0ptNCbackSB->SetYTitle("Entries");
1155 flistNoCutsBack->Add(hMCd0D0ptNCbackSB);
624c07ab 1156
1157 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 1158 hd0D0VtxTrueptNCbackSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1159 hd0D0VtxTrueptNCbackSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
1160 hd0D0VtxTrueptNCbackSB->SetYTitle("Entries");
1161 flistNoCutsBack->Add(hd0D0VtxTrueptNCbackSB);
624c07ab 1162 }
1163
1164
1165
1166 //############ NO CUTS FROMB HISTOGRAMS ###########
1167 //
1168 //####### global properties histos
1169
e047b348 1170 TH2F *hCPtaVSd0d0NCfromB=new TH2F("hCPtaVSd0d0NCfromB","hCPtaVSd0d0_NoCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 1171 TH1F *hSecVtxZNCfromB=new TH1F("hSecVtxZNCfromB","hSecVtxZ_NoCuts_FromB",1000,-8.,8.);
1172 TH1F *hSecVtxXNCfromB=new TH1F("hSecVtxXNCfromB","hSecVtxX_NoCuts_FromB",1000,-3000.,3000.);
1173 TH1F *hSecVtxYNCfromB=new TH1F("hSecVtxYNCfromB","hSecVtxY_NoCuts_FromB",1000,-3000.,3000.);
1174 TH2F *hSecVtxXYNCfromB=new TH2F("hSecVtxXYNCfromB","hSecVtxXY_NoCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
1175 TH1F *hSecVtxPhiNCfromB=new TH1F("hSecVtxPhiNCfromB","hSecVtxPhi_NoCuts_FromB",180,-180.1,180.1);
e047b348 1176 TH1F *hd0singlTrackNCfromB=new TH1F("hd0singlTrackNCfromB","hd0singlTrackNoCuts_FromB",1000,-5000.,5000.);
1177 TH1F *hCPtaNCfromB=new TH1F("hCPtaNCfromB","hCPta_NoCuts_FromB",100,-1.,1.);
ac4c229c 1178 TH1F *hd0xd0NCfromB=new TH1F("hd0xd0NCfromB","hd0xd0_NoCuts_FromB",1000,-100000.,100000.);
1179 TH1F *hMassTrueNCfromB=new TH1F("hMassTrueNCfromB","D^{0} MC inv. Mass No Cuts FromB(All momenta)",600,1.600,2.200);
1180 TH1F *hMassNCfromB=new TH1F("hMassNCfromB","D^{0} inv. Mass No Cuts FromB (All momenta)",600,1.600,2.200);
1181 hMassNCfromB->Sumw2();
1182 TH1F *hMassTrueNCfromBPM=new TH1F("hMassTrueNCfromBPM","D^{0} MC inv. Mass No Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
1183 TH1F *hMassNCfromBPM=new TH1F("hMassNCfromBPM","D^{0} inv. Mass No Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
1184 hMassNCfromB->Sumw2();
1185 TH1F *hMassTrueNCfromBSB=new TH1F("hMassTrueNCfromBSB","D^{0} MC inv. Mass in Side Bands No Cuts FromB(All momenta)",600,1.600,2.200);
1186 TH1F *hMassNCfromBSB=new TH1F("hMassNCfromBSB","D^{0} inv. Mass in Side Bands No Cuts FromB (All momenta)",600,1.600,2.200);
1187 hMassNCfromBSB->Sumw2();
1188
1189 flistNoCutsFromB->Add(hCPtaVSd0d0NCfromB);
1190 flistNoCutsFromB->Add(hSecVtxZNCfromB);
1191 flistNoCutsFromB->Add(hSecVtxYNCfromB);
1192 flistNoCutsFromB->Add(hSecVtxXNCfromB);
1193 flistNoCutsFromB->Add(hSecVtxXYNCfromB);
1194 flistNoCutsFromB->Add(hSecVtxPhiNCfromB);
e047b348 1195 flistNoCutsFromB->Add(hd0singlTrackNCfromB);
ac4c229c 1196 flistNoCutsFromB->Add(hCPtaNCfromB);
1197 flistNoCutsFromB->Add(hd0xd0NCfromB);
1198 flistNoCutsFromB->Add(hMassTrueNCfromB);
1199 flistNoCutsFromB->Add(hMassNCfromB);
1200 flistNoCutsFromB->Add(hMassTrueNCfromBPM);
1201 flistNoCutsFromB->Add(hMassNCfromBPM);
1202 flistNoCutsFromB->Add(hMassTrueNCfromBSB);
1203 flistNoCutsFromB->Add(hMassNCfromBSB);
624c07ab 1204
e047b348 1205
1206
1207
1208
1209 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
1210 TH1F *hdcaNCfromB=new TH1F("hdcaNCfromB","hdca_NoCuts_FromB",100,0.,1000.);
1211 hdcaNCfromB->SetXTitle("dca [#mum]");
1212 hdcaNCfromB->SetYTitle("Entries");
1213 TH1F *hcosthetastarNCfromB=new TH1F("hcosthetastarNCfromB","hCosThetaStar_NoCuts_FromB",50,-1.,1.);
1214 hcosthetastarNCfromB->SetXTitle("cos #theta^{*}");
1215 hcosthetastarNCfromB->SetYTitle("Entries");
1216 TH1F *hptD0NCfromB=new TH1F("hptD0NCfromB","D^{0} transverse momentum distribution",34,ptbinsD0arr);
1217 hptD0NCfromB->SetXTitle("p_{t} [GeV/c]");
1218 hptD0NCfromB->SetYTitle("Entries");
1219 TH1F *hptD0VsMaxPtNCfromB=new TH1F("hptD0VsMaxPtNCfromB","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1220 TH2F *hptD0PTallsqrtNCfromB=new TH2F("hptD0PTallsqrtNCfromB","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1221 TH2F *hptD0PTallNCfromB=new TH2F("hptD0PTallNCfromB","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1222 TH2F *hptD0vsptBNCfromB=new TH2F("hptD0vsptBNCfromB","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1223 TH2F *hpD0vspBNCfromB=new TH2F("hpD0vspBNCfromB","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1224 TH2F *hptD0vsptcquarkNCfromB=new TH2F("hptD0vsptcquarkNCfromB","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1225 TH2F *hpD0vspcquarkNCfromB=new TH2F("hpD0vspcquarkNCfromB","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1226 flistNoCutsFromB->Add(hdcaNCfromB);
1227 flistNoCutsFromB->Add(hcosthetastarNCfromB);
1228 flistNoCutsFromB->Add(hptD0NCfromB);
1229 flistNoCutsFromB->Add(hptD0VsMaxPtNCfromB);
1230 flistNoCutsFromB->Add(hptD0PTallsqrtNCfromB);
1231 flistNoCutsFromB->Add(hptD0PTallNCfromB);
1232 flistNoCutsFromB->Add(hptD0vsptBNCfromB);
1233 flistNoCutsFromB->Add(hpD0vspBNCfromB);
1234 flistNoCutsFromB->Add(hptD0vsptcquarkNCfromB);
1235 flistNoCutsFromB->Add(hpD0vspcquarkNCfromB);
1236
1237 TH1F *hd0zD0ptNCfromB;
cc3209fb 1238 TH1F *hInvMassD0NCfromB,*hInvMassD0barNCfromB;
e047b348 1239 TH2F *hInvMassPtNCfromB=new TH2F("hInvMassPtNCfromB","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1240 TH1F *hetaNCfromB;
1241 TH1F *hCosPDPBNCfromB;
1242 TH1F *hCosPcPDNCfromB;
1243
1244 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1245 TH2F *hd0D0VSd0xd0NCfromBpt;
1246 TH2F *hangletracksVSd0xd0NCfromBpt;
1247 TH2F *hangletracksVSd0D0NCfromBpt;
1248 TH1F *hd0xd0NCfromBpt;
1249 flistNoCutsFromB->Add(hInvMassPtNCfromB);
1250
1251 TH2F *hTOFpidNCfromB=new TH2F("hTOFpidNCfromB","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1252 flistNoCutsFromB->Add(hTOFpidNCfromB);
1253
1254 for(Int_t i=0;i<fnbins;i++){
1255 namehist="hd0zD0ptNCfromB_pt";
1256 namehist+=i;
1257 titlehist="d0(z) No Cuts FromB ptbin=";
1258 titlehist+=i;
1259 hd0zD0ptNCfromB=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1260 hd0zD0ptNCfromB->SetXTitle("d_{0}(z) [#mum]");
1261 hd0zD0ptNCfromB->SetYTitle("Entries");
1262 flistNoCutsFromB->Add(hd0zD0ptNCfromB);
1263
cc3209fb 1264 namehist="hInvMassD0NCfromB_pt";
e047b348 1265 namehist+=i;
1266 titlehist="Invariant Mass No Cuts FromB ptbin=";
1267 titlehist+=i;
cc3209fb 1268 hInvMassD0NCfromB=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1269 hInvMassD0NCfromB->SetXTitle("Invariant Mass [GeV]");
1270 hInvMassD0NCfromB->SetYTitle("Entries");
1271 flistNoCutsFromB->Add(hInvMassD0NCfromB);
1272
1273
1274 namehist="hInvMassD0barNCfromB_pt";
1275 namehist+=i;
1276 titlehist="Invariant Mass D0bar No Cuts FromB ptbin=";
1277 titlehist+=i;
1278 hInvMassD0barNCfromB=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1279 hInvMassD0barNCfromB->SetXTitle("Invariant Mass [GeV]");
1280 hInvMassD0barNCfromB->SetYTitle("Entries");
1281 flistNoCutsFromB->Add(hInvMassD0barNCfromB);
1282
1283
e047b348 1284
1285 namehist="hetaNCfromB_pt";
1286 namehist+=i;
1287 titlehist="eta No Cuts FromB ptbin=";
1288 titlehist+=i;
1289 hetaNCfromB=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1290 hetaNCfromB->SetXTitle("Pseudorapidity");
1291 hetaNCfromB->SetYTitle("Entries");
1292 flistNoCutsFromB->Add(hetaNCfromB);
1293
1294 namehist="hCosPDPBNCfromB_pt";
1295 namehist+=i;
1296 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
1297 titlehist+=i;
1298 hCosPDPBNCfromB=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1299 hCosPDPBNCfromB->SetXTitle("Cosine between D0 momentum and B momentum");
1300 hCosPDPBNCfromB->SetYTitle("Entries");
1301 flistNoCutsFromB->Add(hCosPDPBNCfromB);
1302
1303 namehist="hCosPcPDNCfromB_pt";
1304 namehist+=i;
1305 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
1306 titlehist+=i;
1307 hCosPcPDNCfromB=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1308 hCosPcPDNCfromB->SetXTitle("Cosine between c quark momentum and D0 momentum");
1309 hCosPcPDNCfromB->SetYTitle("Entries");
1310 flistNoCutsFromB->Add(hCosPcPDNCfromB);
1311
1312// %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1313 namehist="hd0xd0NCfromB_pt";
1314 namehist+=i;
1315 titlehist="d0xd0 No Cuts FromB ptbin=";
1316 titlehist+=i;
1317 hd0xd0NCfromBpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1318 hd0xd0NCfromBpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1319 hd0xd0NCfromBpt->SetYTitle("Entries");
1320 flistNoCutsFromB->Add(hd0xd0NCfromBpt);
1321
1322
1323 namehist="hd0D0VSd0xd0NCfromB_pt";
1324 namehist+=i;
1325 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1326 titlehist+=i;
1327 hd0D0VSd0xd0NCfromBpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1328 hd0D0VSd0xd0NCfromBpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1329 hd0D0VSd0xd0NCfromBpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
1330 flistNoCutsFromB->Add(hd0D0VSd0xd0NCfromBpt);
1331
1332
1333 namehist="hangletracksVSd0xd0NCfromB_pt";
1334 namehist+=i;
1335 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1336 titlehist+=i;
1337 hangletracksVSd0xd0NCfromBpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1338 hangletracksVSd0xd0NCfromBpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1339 hangletracksVSd0xd0NCfromBpt->SetYTitle(" angle between K and #p tracks [rad]");
1340 flistNoCutsFromB->Add(hangletracksVSd0xd0NCfromBpt);
1341
1342
1343 namehist="hangletracksVSd0D0NCfromB_pt";
1344 namehist+=i;
1345 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromB ptbin=";
1346 titlehist+=i;
1347 hangletracksVSd0D0NCfromBpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1348 hangletracksVSd0D0NCfromBpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
1349 hangletracksVSd0D0NCfromBpt->SetYTitle(" angle between K and #p tracks [rad]");
1350 flistNoCutsFromB->Add(hangletracksVSd0D0NCfromBpt);
1351
1352
1353 }
1354 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
1355 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1356
1357
1358
624c07ab 1359 // ######### d0 D0 histos ##############
ac4c229c 1360 TH1F *hd0D0NCfromBPM = new TH1F("hd0D0NCfromBPM","D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1361 hd0D0NCfromBPM->SetXTitle("Impact parameter [#mum]");
1362 hd0D0NCfromBPM->SetYTitle("Entries");
1363
1364 TH1F *hd0D0VtxTrueNCfromBPM = new TH1F("hd0D0VtxTrueNCfromBPM","D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1365 hd0D0VtxTrueNCfromBPM->SetXTitle("Impact parameter [#mum]");
1366 hd0D0VtxTrueNCfromBPM->SetYTitle("Entries");
1367
1368 TH1F *hMCd0D0NCfromBPM = new TH1F("hMCd0D0NCfromBPM","D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1369 hMCd0D0NCfromBPM->SetXTitle("MC Impact parameter [#mum]");
1370 hMCd0D0NCfromBPM->SetYTitle("Entries");
1371
1372 TH1F *hd0D0NCfromBSB = new TH1F("hd0D0NCfromBSB","D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1373 hd0D0NCfromBSB->SetXTitle("Impact parameter [#mum]");
1374 hd0D0NCfromBSB->SetYTitle("Entries");
1375
1376 TH1F *hd0D0VtxTrueNCfromBSB = new TH1F("hd0D0VtxTrueNCfromBSB","D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1377 hd0D0VtxTrueNCfromBSB->SetXTitle("Impact parameter [#mum]");
1378 hd0D0VtxTrueNCfromBSB->SetYTitle("Entries");
1379
1380 TH1F *hMCd0D0NCfromBSB = new TH1F("hMCd0D0NCfromBSB","D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1381 hMCd0D0NCfromBSB->SetXTitle("MC Impact parameter [#mum]");
1382 hMCd0D0NCfromBSB->SetYTitle("Entries");
1383
1384 flistNoCutsFromB->Add(hd0D0NCfromBPM);
1385 flistNoCutsFromB->Add(hd0D0VtxTrueNCfromBPM);
1386 flistNoCutsFromB->Add(hMCd0D0NCfromBPM);
1387 flistNoCutsFromB->Add(hd0D0NCfromBSB);
1388 flistNoCutsFromB->Add(hd0D0VtxTrueNCfromBSB);
1389 flistNoCutsFromB->Add(hMCd0D0NCfromBSB);
1390
e047b348 1391 TH1F *hd0D0ptNCfromBPM;
1392 TH1F *hMCd0D0ptNCfromBPM;
1393 TH1F *hd0D0VtxTrueptNCfromBPM;
1394 TH1F *hd0D0ptNCfromBSB;
1395 TH1F *hMCd0D0ptNCfromBSB;
1396 TH1F *hd0D0VtxTrueptNCfromBSB;
ac4c229c 1397 namehist="hd0D0ptNCfromB_";
624c07ab 1398 titlehist="D^{0} impact par. plot, No Cuts, FromB, ";
1399 for(Int_t i=0;i<fnbins;i++){
1400 strnamept=namehist;
1401 strnamept.Append("PkMss_pt");
1402 strnamept+=i;
1403
1404 strtitlept=titlehist;
1405 strtitlept.Append(" Mass Peak, ");
1406 strtitlept+=fptbins[i];
1407 strtitlept.Append("<= pt <");
1408 strtitlept+=fptbins[i+1];
1409 strtitlept.Append(" [GeV/c]");
1410
e047b348 1411 hd0D0ptNCfromBPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1412 hd0D0ptNCfromBPM->SetXTitle("Impact parameter [#mum] ");
1413 hd0D0ptNCfromBPM->SetYTitle("Entries");
1414 flistNoCutsFromB->Add(hd0D0ptNCfromBPM);
624c07ab 1415
1416 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1417 hMCd0D0ptNCfromBPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1418 hMCd0D0ptNCfromBPM->SetXTitle("MC Impact parameter [#mum] ");
1419 hMCd0D0ptNCfromBPM->SetYTitle("Entries");
1420 flistNoCutsFromB->Add(hMCd0D0ptNCfromBPM);
624c07ab 1421
1422
1423 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 1424 hd0D0VtxTrueptNCfromBPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1425 hd0D0VtxTrueptNCfromBPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
1426 hd0D0VtxTrueptNCfromBPM->SetYTitle("Entries");
1427 flistNoCutsFromB->Add(hd0D0VtxTrueptNCfromBPM);
624c07ab 1428
1429 strnamept=namehist;
1430 strnamept.Append("SBMss_pt");
1431 strnamept+=i;
1432
1433 strtitlept=titlehist;
1434 strtitlept.Append(" Side Bands, ");
1435 strtitlept+=fptbins[i];
1436 strtitlept.Append("<= pt <");
1437 strtitlept+=fptbins[i+1];
1438 strtitlept.Append(" [GeV/c]");
1439
e047b348 1440 hd0D0ptNCfromBSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1441 hd0D0ptNCfromBSB->SetXTitle("Impact parameter [#mum] ");
1442 hd0D0ptNCfromBSB->SetYTitle("Entries");
1443 flistNoCutsFromB->Add(hd0D0ptNCfromBSB);
624c07ab 1444
1445 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1446 hMCd0D0ptNCfromBSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1447 hMCd0D0ptNCfromBSB->SetXTitle("MC Impact parameter [#mum] ");
1448 hMCd0D0ptNCfromBSB->SetYTitle("Entries");
1449 flistNoCutsFromB->Add(hMCd0D0ptNCfromBSB);
624c07ab 1450
1451 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 1452 hd0D0VtxTrueptNCfromBSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1453 hd0D0VtxTrueptNCfromBSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
1454 hd0D0VtxTrueptNCfromBSB->SetYTitle("Entries");
1455 flistNoCutsFromB->Add(hd0D0VtxTrueptNCfromBSB);
624c07ab 1456 }
1457
1458
1459
1460 //############ NO CUTS FROM DSTAR HISTOGRAMS ###########
1461 //
1462 //############# global properties histos #######
1463
e047b348 1464 TH2F *hCPtaVSd0d0NCfromDstar=new TH2F("hCPtaVSd0d0NCfromDstar","hCPtaVSd0d0_NoCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 1465 TH1F *hSecVtxZNCfromDstar=new TH1F("hSecVtxZNCfromDstar","hSecVtxZ_NoCuts_FromDStar",1000,-8.,8.);
1466 TH1F *hSecVtxXNCfromDstar=new TH1F("hSecVtxXNCfromDstar","hSecVtxX_NoCuts_FromDStar",1000,-3000.,3000.);
1467 TH1F *hSecVtxYNCfromDstar=new TH1F("hSecVtxYNCfromDstar","hSecVtxY_NoCuts_FromDStar",1000,-3000.,3000.);
1468 TH2F *hSecVtxXYNCfromDstar=new TH2F("hSecVtxXYNCfromDstar","hSecVtxXY_NoCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
1469 TH1F *hSecVtxPhiNCfromDstar=new TH1F("hSecVtxPhiNCfromDstar","hSecVtxPhi_NoCuts_FromDStar",180,-180.1,180.1);
e047b348 1470 TH1F *hd0singlTrackNCfromDstar=new TH1F("hd0singlTrackNCfromDstar","hd0singlTrackNoCuts_fromDstar",1000,-5000.,5000.);
1471 TH1F *hCPtaNCfromDstar=new TH1F("hCPtaNCfromDstar","hCPta_NoCuts_FromDStar",100,-1.,1.);
ac4c229c 1472 TH1F *hd0xd0NCfromDstar=new TH1F("hd0xd0NCfromDstar","hd0xd0_NoCuts_FromDStar",1000,-100000.,100000.);
1473 TH1F *hMassTrueNCfromDstar=new TH1F("hMassTrueNCfromDstar","D^{0} MC inv. Mass No Cuts FromDStar(All momenta)",600,1.600,2.200);
1474 TH1F *hMassNCfromDstar=new TH1F("hMassNCfromDstar","D^{0} inv. Mass No Cuts FromDStar (All momenta)",600,1.600,2.200);
1475 hMassNCfromDstar->Sumw2();
1476 TH1F *hMassTrueNCfromDstarPM=new TH1F("hMassTrueNCfromDstarPM","D^{0} MC inv. Mass No Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
1477 TH1F *hMassNCfromDstarPM=new TH1F("hMassNCfromDstarPM","D^{0} inv. Mass No Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
1478 hMassNCfromDstarPM->Sumw2();
1479 TH1F *hMassTrueNCfromDstarSB=new TH1F("hMassTrueNCfromDstarSB","D^{0} MC inv. Mass in Side Bands No Cuts FromDStar(All momenta)",600,1.600,2.200);
1480 TH1F *hMassNCfromDstarSB=new TH1F("hMassNCfromDstarSB","D^{0} inv. Mass in Side Bands No Cuts FromDStar (All momenta)",600,1.600,2.200);
1481 hMassNCfromDstarSB->Sumw2();
1482
1483 flistNoCutsFromDstar->Add(hCPtaVSd0d0NCfromDstar);
1484 flistNoCutsFromDstar->Add(hSecVtxZNCfromDstar);
1485 flistNoCutsFromDstar->Add(hSecVtxYNCfromDstar);
1486 flistNoCutsFromDstar->Add(hSecVtxXNCfromDstar);
1487 flistNoCutsFromDstar->Add(hSecVtxXYNCfromDstar);
1488 flistNoCutsFromDstar->Add(hSecVtxPhiNCfromDstar);
e047b348 1489 flistNoCutsFromDstar->Add(hd0singlTrackNCfromDstar);
ac4c229c 1490 flistNoCutsFromDstar->Add(hCPtaNCfromDstar);
1491 flistNoCutsFromDstar->Add(hd0xd0NCfromDstar);
1492 flistNoCutsFromDstar->Add(hMassTrueNCfromDstar);
1493 flistNoCutsFromDstar->Add(hMassNCfromDstar);
1494 flistNoCutsFromDstar->Add(hMassTrueNCfromDstarPM);
1495 flistNoCutsFromDstar->Add(hMassNCfromDstarPM);
1496 flistNoCutsFromDstar->Add(hMassTrueNCfromDstarSB);
1497 flistNoCutsFromDstar->Add(hMassNCfromDstarSB);
624c07ab 1498
e047b348 1499
1500
1501
1502//%%% NEW HISTOS %%%%%%%%%%%%%%%%
1503 TH1F *hdcaNCfromDstar=new TH1F("hdcaNCfromDstar","hdca_NoCuts_FromDstar",100,0.,1000.);
1504 hdcaNCfromDstar->SetXTitle("dca [#mum]");
1505 hdcaNCfromDstar->SetYTitle("Entries");
1506 TH1F *hcosthetastarNCfromDstar=new TH1F("hcosthetastarNCfromDstar","hCosThetaStar_NoCuts_FromDstar",50,-1.,1.);
1507 hcosthetastarNCfromDstar->SetXTitle("cos #theta^{*}");
1508 hcosthetastarNCfromDstar->SetYTitle("Entries");
1509 TH1F *hptD0NCfromDstar=new TH1F("hptD0NCfromDstar","D^{0} transverse momentum distribution",34,ptbinsD0arr);
1510 hptD0NCfromDstar->SetXTitle("p_{t} [GeV/c]");
1511 hptD0NCfromDstar->SetYTitle("Entries");
1512 TH1F *hptD0VsMaxPtNCfromDstar=new TH1F("hptD0VsMaxPtNCfromDstar","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1513 TH2F *hptD0PTallsqrtNCfromDstar=new TH2F("hptD0PTallsqrtNCfromDstar","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1514 TH2F *hptD0PTallNCfromDstar=new TH2F("hptD0PTallNCfromDstar","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1515 TH2F *hptD0vsptBNCfromDstar=new TH2F("hptD0vsptBNCfromDstar","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1516 TH2F *hpD0vspBNCfromDstar=new TH2F("hpD0vspBNCfromDstar","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1517 TH2F *hptD0vsptcquarkNCfromDstar=new TH2F("hptD0vsptcquarkNCfromDstar","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1518 TH2F *hpD0vspcquarkNCfromDstar=new TH2F("hpD0vspcquarkNCfromDstar","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1519 flistNoCutsFromDstar->Add(hdcaNCfromDstar);
1520 flistNoCutsFromDstar->Add(hcosthetastarNCfromDstar);
1521 flistNoCutsFromDstar->Add(hptD0NCfromDstar);
1522 flistNoCutsFromDstar->Add(hptD0VsMaxPtNCfromDstar);
1523 flistNoCutsFromDstar->Add(hptD0PTallsqrtNCfromDstar);
1524 flistNoCutsFromDstar->Add(hptD0PTallNCfromDstar);
1525 flistNoCutsFromDstar->Add(hptD0vsptBNCfromDstar);
1526 flistNoCutsFromDstar->Add(hpD0vspBNCfromDstar);
1527 flistNoCutsFromDstar->Add(hptD0vsptcquarkNCfromDstar);
1528 flistNoCutsFromDstar->Add(hpD0vspcquarkNCfromDstar);
1529
1530 TH1F *hd0zD0ptNCfromDstar;
cc3209fb 1531 TH1F *hInvMassD0NCfromDstar,*hInvMassD0barNCfromDstar;
e047b348 1532 TH2F *hInvMassPtNCfromDstar=new TH2F("hInvMassPtNCfromDstar","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1533 TH1F *hetaNCfromDstar;
1534 TH1F *hCosPDPBNCfromDstar;
1535 TH1F *hCosPcPDNCfromDstar;
1536 flistNoCutsFromDstar->Add(hInvMassPtNCfromDstar);
1537 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1538 TH2F *hd0D0VSd0xd0NCfromDstarpt;
1539 TH2F *hangletracksVSd0xd0NCfromDstarpt;
1540 TH2F *hangletracksVSd0D0NCfromDstarpt;
1541 TH1F *hd0xd0NCfromDstarpt;
1542
1543 TH2F *hTOFpidNCfromDstar=new TH2F("hTOFpidNCfromDstar","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1544 flistNoCutsFromDstar->Add(hTOFpidNCfromDstar);
1545
1546 for(Int_t i=0;i<fnbins;i++){
1547 namehist="hd0zD0ptNCfromDstar_pt";
1548 namehist+=i;
1549 titlehist="d0(z) No Cuts FromDstarm ptbin=";
1550 titlehist+=i;
1551 hd0zD0ptNCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1552 hd0zD0ptNCfromDstar->SetXTitle("d_{0}(z) [#mum]");
1553 hd0zD0ptNCfromDstar->SetYTitle("Entries");
1554 flistNoCutsFromDstar->Add(hd0zD0ptNCfromDstar);
1555
cc3209fb 1556 namehist="hInvMassD0NCfromDstar_pt";
e047b348 1557 namehist+=i;
1558 titlehist="Invariant Mass No Cuts FromDstar ptbin=";
1559 titlehist+=i;
cc3209fb 1560 hInvMassD0NCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1561 hInvMassD0NCfromDstar->SetXTitle("Invariant Mass [GeV]");
1562 hInvMassD0NCfromDstar->SetYTitle("Entries");
1563 flistNoCutsFromDstar->Add(hInvMassD0NCfromDstar);
1564
1565
1566 namehist="hInvMassD0barNCfromDstar_pt";
1567 namehist+=i;
1568 titlehist="Invariant Mass D0bar No Cuts FromDstar ptbin=";
1569 titlehist+=i;
1570 hInvMassD0barNCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1571 hInvMassD0barNCfromDstar->SetXTitle("Invariant Mass [GeV]");
1572 hInvMassD0barNCfromDstar->SetYTitle("Entries");
1573 flistNoCutsFromDstar->Add(hInvMassD0barNCfromDstar);
1574
1575
e047b348 1576
1577 namehist="hetaNCfromDstar_pt";
1578 namehist+=i;
1579 titlehist="eta No Cuts FromDstar ptbin=";
1580 titlehist+=i;
1581 hetaNCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1582 hetaNCfromDstar->SetXTitle("Pseudorapidity");
1583 hetaNCfromDstar->SetYTitle("Entries");
1584 flistNoCutsFromDstar->Add(hetaNCfromDstar);
1585
1586 namehist="hCosPDPBNCfromDstar_pt";
1587 namehist+=i;
1588 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
1589 titlehist+=i;
1590 hCosPDPBNCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1591 hCosPDPBNCfromDstar->SetXTitle("Cosine between D0 momentum and B momentum");
1592 hCosPDPBNCfromDstar->SetYTitle("Entries");
1593 flistNoCutsFromDstar->Add(hCosPDPBNCfromDstar);
1594
1595 namehist="hCosPcPDNCfromDstar_pt";
1596 namehist+=i;
1597 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
1598 titlehist+=i;
1599 hCosPcPDNCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1600 hCosPcPDNCfromDstar->SetXTitle("Cosine between c quark momentum and D0 momentum");
1601 hCosPcPDNCfromDstar->SetYTitle("Entries");
1602 flistNoCutsFromDstar->Add(hCosPcPDNCfromDstar);
1603
1604 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1605 namehist="hd0xd0NCfromDstar_pt";
1606 namehist+=i;
1607 titlehist="d0xd0 No Cuts FromDstar ptbin=";
1608 titlehist+=i;
1609 hd0xd0NCfromDstarpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1610 hd0xd0NCfromDstarpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1611 hd0xd0NCfromDstarpt->SetYTitle("Entries");
1612 flistNoCutsFromDstar->Add(hd0xd0NCfromDstarpt);
1613
1614
1615 namehist="hd0D0VSd0xd0NCfromDstar_pt";
1616 namehist+=i;
1617 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
1618 titlehist+=i;
1619 hd0D0VSd0xd0NCfromDstarpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1620 hd0D0VSd0xd0NCfromDstarpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1621 hd0D0VSd0xd0NCfromDstarpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
1622 flistNoCutsFromDstar->Add(hd0D0VSd0xd0NCfromDstarpt);
1623
1624
1625 namehist="hangletracksVSd0xd0NCfromDstar_pt";
1626 namehist+=i;
1627 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
1628 titlehist+=i;
1629 hangletracksVSd0xd0NCfromDstarpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1630 hangletracksVSd0xd0NCfromDstarpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1631 hangletracksVSd0xd0NCfromDstarpt->SetYTitle(" angle between K and #p tracks [rad]");
1632 flistNoCutsFromDstar->Add(hangletracksVSd0xd0NCfromDstarpt);
1633
1634
1635 namehist="hangletracksVSd0D0NCfromDstar_pt";
1636 namehist+=i;
1637 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromDstar ptbin=";
1638 titlehist+=i;
1639 hangletracksVSd0D0NCfromDstarpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1640 hangletracksVSd0D0NCfromDstarpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
1641 hangletracksVSd0D0NCfromDstarpt->SetYTitle(" angle between K and #p tracks [rad]");
1642 flistNoCutsFromDstar->Add(hangletracksVSd0D0NCfromDstarpt);
1643
1644 }
1645 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
1646 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1647
1648
624c07ab 1649 //########## d0 D0 histos #############
ac4c229c 1650 TH1F *hd0D0NCfromDstPM = new TH1F("hd0D0NCfromDstarPM","D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1651 hd0D0NCfromDstPM->SetXTitle("Impact parameter [#mum]");
1652 hd0D0NCfromDstPM->SetYTitle("Entries");
1653
1654 TH1F *hd0D0VtxTrueNCfromDstPM = new TH1F("hd0D0VtxTrueNCfromDstarPM","D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1655 hd0D0VtxTrueNCfromDstPM->SetXTitle("Impact parameter [#mum]");
1656 hd0D0VtxTrueNCfromDstPM->SetYTitle("Entries");
1657
1658 TH1F *hMCd0D0NCfromDstPM = new TH1F("hMCd0D0NCfromDstarPM","D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1659 hMCd0D0NCfromDstPM->SetXTitle("MC Impact parameter [#mum]");
1660 hMCd0D0NCfromDstPM->SetYTitle("Entries");
1661
1662 TH1F *hd0D0NCfromDstSB = new TH1F("hd0D0NCfromDstarSB","D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1663 hd0D0NCfromDstSB->SetXTitle("Impact parameter [#mum]");
1664 hd0D0NCfromDstSB->SetYTitle("Entries");
1665
1666 TH1F *hd0D0VtxTrueNCfromDstSB = new TH1F("hd0D0VtxTrueNCfromDstarSB","D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1667 hd0D0VtxTrueNCfromDstSB->SetXTitle("Impact parameter [#mum]");
1668 hd0D0VtxTrueNCfromDstSB->SetYTitle("Entries");
1669
1670 TH1F *hMCd0D0NCfromDstSB = new TH1F("hMCd0D0NCfromDstarSB","D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1671 hMCd0D0NCfromDstSB->SetXTitle("MC Impact parameter [#mum]");
1672 hMCd0D0NCfromDstSB->SetYTitle("Entries");
1673
1674 flistNoCutsFromDstar->Add(hd0D0NCfromDstPM);
1675 flistNoCutsFromDstar->Add(hd0D0VtxTrueNCfromDstPM);
1676 flistNoCutsFromDstar->Add(hMCd0D0NCfromDstPM);
1677 flistNoCutsFromDstar->Add(hd0D0NCfromDstSB);
1678 flistNoCutsFromDstar->Add(hd0D0VtxTrueNCfromDstSB);
1679 flistNoCutsFromDstar->Add(hMCd0D0NCfromDstSB);
1680
e047b348 1681 TH1F *hd0D0ptNCfromDstPM;
1682 TH1F *hMCd0D0ptNCfromDstPM;
1683 TH1F *hd0D0VtxTrueptNCfromDstPM;
1684 TH1F *hd0D0ptNCfromDstSB;
1685 TH1F *hMCd0D0ptNCfromDstSB;
1686 TH1F *hd0D0VtxTrueptNCfromDstSB;
ac4c229c 1687 namehist="hd0D0ptNCfromDstar_";
624c07ab 1688 titlehist="D^{0} impact par. plot, No Cuts, FromDStar, ";
1689 for(Int_t i=0;i<fnbins;i++){
1690 strnamept=namehist;
1691 strnamept.Append("PkMss_pt");
1692 strnamept+=i;
1693
1694 strtitlept=titlehist;
1695 strtitlept.Append(" Mass Peak, ");
1696 strtitlept+=fptbins[i];
1697 strtitlept.Append("<= pt <");
1698 strtitlept+=fptbins[i+1];
1699 strtitlept.Append(" [GeV/c]");
1700
e047b348 1701 hd0D0ptNCfromDstPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1702 hd0D0ptNCfromDstPM->SetXTitle("Impact parameter [#mum] ");
1703 hd0D0ptNCfromDstPM->SetYTitle("Entries");
1704 flistNoCutsFromDstar->Add(hd0D0ptNCfromDstPM);
624c07ab 1705
1706 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1707 hMCd0D0ptNCfromDstPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1708 hMCd0D0ptNCfromDstPM->SetXTitle("MC Impact parameter [#mum] ");
1709 hMCd0D0ptNCfromDstPM->SetYTitle("Entries");
1710 flistNoCutsFromDstar->Add(hMCd0D0ptNCfromDstPM);
624c07ab 1711
1712
1713 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 1714 hd0D0VtxTrueptNCfromDstPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1715 hd0D0VtxTrueptNCfromDstPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
1716 hd0D0VtxTrueptNCfromDstPM->SetYTitle("Entries");
1717 flistNoCutsFromDstar->Add(hd0D0VtxTrueptNCfromDstPM);
624c07ab 1718
1719 strnamept=namehist;
1720 strnamept.Append("SBMss_pt");
1721 strnamept+=i;
1722
1723 strtitlept=titlehist;
1724 strtitlept.Append(" Side Bands, ");
1725 strtitlept+=fptbins[i];
1726 strtitlept.Append("<= pt <");
1727 strtitlept+=fptbins[i+1];
1728 strtitlept.Append(" [GeV/c]");
1729
e047b348 1730 hd0D0ptNCfromDstSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1731 hd0D0ptNCfromDstSB->SetXTitle("Impact parameter [#mum] ");
1732 hd0D0ptNCfromDstSB->SetYTitle("Entries");
1733 flistNoCutsFromDstar->Add(hd0D0ptNCfromDstSB);
624c07ab 1734
1735 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1736 hMCd0D0ptNCfromDstSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1737 hMCd0D0ptNCfromDstSB->SetXTitle("MC Impact parameter [#mum] ");
1738 hMCd0D0ptNCfromDstSB->SetYTitle("Entries");
1739 flistNoCutsFromDstar->Add(hMCd0D0ptNCfromDstSB);
624c07ab 1740
1741 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 1742 hd0D0VtxTrueptNCfromDstSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1743 hd0D0VtxTrueptNCfromDstSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
1744 hd0D0VtxTrueptNCfromDstSB->SetYTitle("Entries");
1745 flistNoCutsFromDstar->Add(hd0D0VtxTrueptNCfromDstSB);
624c07ab 1746 }
1747
1748
1749 //############ NO CUTS OTHER HISTOGRAMS ###########
1750 //
1751 //########### global properties histos ###########
1752
e047b348 1753 TH2F *hCPtaVSd0d0NCother=new TH2F("hCPtaVSd0d0NCother","hCPtaVSd0d0_NoCuts_other",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 1754 TH1F *hSecVtxZNCother=new TH1F("hSecVtxZNCother","hSecVtxZ_NoCuts_other",1000,-8.,8.);
1755 TH1F *hSecVtxXNCother=new TH1F("hSecVtxXNCother","hSecVtxX_NoCuts_other",1000,-3000.,3000.);
1756 TH1F *hSecVtxYNCother=new TH1F("hSecVtxYNCother","hSecVtxY_NoCuts_other",1000,-3000.,3000.);
1757 TH2F *hSecVtxXYNCother=new TH2F("hSecVtxXYNCother","hSecVtxXY_NoCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
1758 TH1F *hSecVtxPhiNCother=new TH1F("hSecVtxPhiNCother","hSecVtxPhi_NoCuts_other",180,-180.1,180.1);
e047b348 1759 TH1F *hd0singlTrackNCother=new TH1F("hd0singlTrackNCother","hd0singlTrackNoCuts_Other",1000,-5000.,5000.);
1760 TH1F *hCPtaNCother=new TH1F("hCPtaNCother","hCPta_NoCuts_other",100,-1.,1.);
ac4c229c 1761 TH1F *hd0xd0NCother=new TH1F("hd0xd0NCother","hd0xd0_NoCuts_other",1000,-100000.,100000.);
1762 TH1F *hMassTrueNCother=new TH1F("hMassTrueNCother","D^{0} MC inv. Mass No Cuts other(All momenta)",600,1.600,2.200);
1763 TH1F *hMassNCother=new TH1F("hMassNCother","D^{0} inv. Mass No Cuts other (All momenta)",600,1.600,2.200);
1764 hMassNCother->Sumw2();
1765 TH1F *hMassTrueNCotherPM=new TH1F("hMassTrueNCotherPM","D^{0} MC inv. Mass No Cuts Other, Mass Peak. (All momenta)",600,1.600,2.200);
1766 TH1F *hMassNCotherPM=new TH1F("hMassNCotherPM","D^{0} inv. Mass No Cuts Other (All momenta), MassPeak",600,1.600,2.200);
1767 hMassNCotherPM->Sumw2();
1768 TH1F *hMassTrueNCotherSB=new TH1F("hMassTrueNCotherSB","D^{0} MC inv. Mass in Side Bands No Cuts other(All momenta)",600,1.600,2.200);
1769 TH1F *hMassNCotherSB=new TH1F("hMassNCotherSB","D^{0} inv. Mass in Side Bands No Cuts other (All momenta)",600,1.600,2.200);
1770 hMassNCotherSB->Sumw2();
1771
1772 flistNoCutsOther->Add(hCPtaVSd0d0NCother);
1773 flistNoCutsOther->Add(hSecVtxZNCother);
1774 flistNoCutsOther->Add(hSecVtxYNCother);
1775 flistNoCutsOther->Add(hSecVtxXNCother);
1776 flistNoCutsOther->Add(hSecVtxXYNCother);
1777 flistNoCutsOther->Add(hSecVtxPhiNCother);
e047b348 1778 flistNoCutsOther->Add(hd0singlTrackNCother);
ac4c229c 1779 flistNoCutsOther->Add(hCPtaNCother);
1780 flistNoCutsOther->Add(hd0xd0NCother);
1781 flistNoCutsOther->Add(hMassTrueNCother);
1782 flistNoCutsOther->Add(hMassNCother);
1783 flistNoCutsOther->Add(hMassTrueNCotherPM);
1784 flistNoCutsOther->Add(hMassNCotherPM);
1785 flistNoCutsOther->Add(hMassTrueNCotherSB);
1786 flistNoCutsOther->Add(hMassNCotherSB);
624c07ab 1787
e047b348 1788
1789
1790 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
1791 TH1F *hdcaNCother=new TH1F("hdcaNCother","hdca_NoCuts_Other",100,0.,1000.);
1792 hdcaNCother->SetXTitle("dca [#mum]");
1793 hdcaNCother->SetYTitle("Entries");
1794 TH1F *hcosthetastarNCother=new TH1F("hcosthetastarNCother","hCosThetaStar_NoCuts_Other",50,-1.,1.);
1795 hcosthetastarNCother->SetXTitle("cos #theta^{*}");
1796 hcosthetastarNCother->SetYTitle("Entries");
1797 TH1F *hptD0NCother=new TH1F("hptD0NCother","D^{0} transverse momentum distribution",34,ptbinsD0arr);
1798 hptD0NCother->SetXTitle("p_{t} [GeV/c]");
1799 hptD0NCother->SetYTitle("Entries");
1800 TH1F *hptD0VsMaxPtNCother=new TH1F("hptD0VsMaxPtNCother","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1801 TH2F *hptD0PTallsqrtNCother=new TH2F("hptD0PTallsqrtNCother","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1802 TH2F *hptD0PTallNCother=new TH2F("hptD0PTallNCother","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1803 TH2F *hptD0vsptBNCother=new TH2F("hptD0vsptBNCother","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1804 TH2F *hpD0vspBNCother=new TH2F("hpD0vspBNCother","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1805 TH2F *hptD0vsptcquarkNCother=new TH2F("hptD0vsptcquarkNCother","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1806 TH2F *hpD0vspcquarkNCother=new TH2F("hpD0vspcquarkNCother","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1807 flistNoCutsOther->Add(hdcaNCother);
1808 flistNoCutsOther->Add(hcosthetastarNCother);
1809 flistNoCutsOther->Add(hptD0NCother);
1810 flistNoCutsOther->Add(hptD0VsMaxPtNCother);
1811 flistNoCutsOther->Add(hptD0PTallsqrtNCother);
1812 flistNoCutsOther->Add(hptD0PTallNCother);
1813 flistNoCutsOther->Add(hptD0vsptBNCother);
1814 flistNoCutsOther->Add(hpD0vspBNCother);
1815 flistNoCutsOther->Add(hptD0vsptcquarkNCother);
1816 flistNoCutsOther->Add(hpD0vspcquarkNCother);
1817
1818 TH1F *hd0zD0ptNCother;
cc3209fb 1819 TH1F *hInvMassD0NCother,*hInvMassD0barNCother;
e047b348 1820 TH2F *hInvMassPtNCother=new TH2F("hInvMassPtNCother","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1821 TH1F *hetaNCother;
1822 TH1F *hCosPDPBNCother;
1823 TH1F *hCosPcPDNCother;
1824 flistNoCutsOther->Add(hInvMassPtNCother);
1825 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1826 TH2F *hd0D0VSd0xd0NCotherpt;
1827 TH2F *hangletracksVSd0xd0NCotherpt;
1828 TH2F *hangletracksVSd0D0NCotherpt;
1829 TH1F *hd0xd0NCotherpt;
1830
1831 TH2F *hTOFpidNCother=new TH2F("hTOFpidNCother","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1832 flistNoCutsOther->Add(hTOFpidNCother);
1833
1834 for(Int_t i=0;i<fnbins;i++){
1835 namehist="hd0zD0ptNCother_pt";
1836 namehist+=i;
1837 titlehist="d0(z) No Cuts Otherm ptbin=";
1838 titlehist+=i;
1839 hd0zD0ptNCother=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1840 hd0zD0ptNCother->SetXTitle("d_{0}(z) [#mum]");
1841 hd0zD0ptNCother->SetYTitle("Entries");
1842 flistNoCutsOther->Add(hd0zD0ptNCother);
1843
cc3209fb 1844 namehist="hInvMassD0NCother_pt";
e047b348 1845 namehist+=i;
1846 titlehist="Invariant Mass No Cuts Other ptbin=";
1847 titlehist+=i;
cc3209fb 1848 hInvMassD0NCother=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1849 hInvMassD0NCother->SetXTitle("Invariant Mass [GeV]");
1850 hInvMassD0NCother->SetYTitle("Entries");
1851 flistNoCutsOther->Add(hInvMassD0NCother);
1852
1853
1854 namehist="hInvMassD0barNCother_pt";
1855 namehist+=i;
1856 titlehist="Invariant Mass D0bar No Cuts Other ptbin=";
1857 titlehist+=i;
1858 hInvMassD0barNCother=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1859 hInvMassD0barNCother->SetXTitle("Invariant Mass [GeV]");
1860 hInvMassD0barNCother->SetYTitle("Entries");
1861 flistNoCutsOther->Add(hInvMassD0barNCother);
1862
e047b348 1863
1864 namehist="hetaNCother_pt";
1865 namehist+=i;
1866 titlehist="eta No Cuts Other ptbin=";
1867 titlehist+=i;
1868 hetaNCother=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1869 hetaNCother->SetXTitle("Pseudorapidity");
1870 hetaNCother->SetYTitle("Entries");
1871 flistNoCutsOther->Add(hetaNCother);
1872
1873 namehist="hCosPDPBNCother_pt";
1874 namehist+=i;
1875 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
1876 titlehist+=i;
1877 hCosPDPBNCother=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1878 hCosPDPBNCother->SetXTitle("Cosine between D0 momentum and B momentum");
1879 hCosPDPBNCother->SetYTitle("Entries");
1880 flistNoCutsOther->Add(hCosPDPBNCother);
1881
1882 namehist="hCosPcPDNCother_pt";
1883 namehist+=i;
1884 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
1885 titlehist+=i;
1886 hCosPcPDNCother=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1887 hCosPcPDNCother->SetXTitle("Cosine between c quark momentum and D0 momentum");
1888 hCosPcPDNCother->SetYTitle("Entries");
1889 flistNoCutsOther->Add(hCosPcPDNCother);
1890
1891
1892 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
1893 namehist="hd0xd0NCother_pt";
1894 namehist+=i;
1895 titlehist="d0xd0 No Cuts Other ptbin=";
1896 titlehist+=i;
1897 hd0xd0NCotherpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1898 hd0xd0NCotherpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1899 hd0xd0NCotherpt->SetYTitle("Entries");
1900 flistNoCutsOther->Add(hd0xd0NCotherpt);
1901
1902
1903 namehist="hd0D0VSd0xd0NCother_pt";
1904 namehist+=i;
1905 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
1906 titlehist+=i;
1907 hd0D0VSd0xd0NCotherpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1908 hd0D0VSd0xd0NCotherpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1909 hd0D0VSd0xd0NCotherpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
1910 flistNoCutsOther->Add(hd0D0VSd0xd0NCotherpt);
1911
1912
1913 namehist="hangletracksVSd0xd0NCother_pt";
1914 namehist+=i;
1915 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
1916 titlehist+=i;
1917 hangletracksVSd0xd0NCotherpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1918 hangletracksVSd0xd0NCotherpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1919 hangletracksVSd0xd0NCotherpt->SetYTitle(" angle between K and #p tracks [rad]");
1920 flistNoCutsOther->Add(hangletracksVSd0xd0NCotherpt);
1921
1922
1923 namehist="hangletracksVSd0D0NCother_pt";
1924 namehist+=i;
1925 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Other ptbin=";
1926 titlehist+=i;
1927 hangletracksVSd0D0NCotherpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1928 hangletracksVSd0D0NCotherpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
1929 hangletracksVSd0D0NCotherpt->SetYTitle(" angle between K and #p tracks [rad]");
1930 flistNoCutsOther->Add(hangletracksVSd0D0NCotherpt);
1931
1932 }
1933 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
1934 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1935
1936
1937
1938
624c07ab 1939 //############# d0 D0 histos ###############à
ac4c229c 1940 TH1F *hd0D0NCotherPM = new TH1F("hd0D0NCotherPM","D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
1941 hd0D0NCotherPM->SetXTitle("Impact parameter [#mum]");
1942 hd0D0NCotherPM->SetYTitle("Entries");
1943
1944 TH1F *hd0D0VtxTrueNCotherPM = new TH1F("hd0D0VtxTrueNCotherPM","D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
1945 hd0D0VtxTrueNCotherPM->SetXTitle("Impact parameter [#mum]");
1946 hd0D0VtxTrueNCotherPM->SetYTitle("Entries");
1947
1948 TH1F *hMCd0D0NCotherPM = new TH1F("hMCd0D0NCotherPM","D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
1949 hMCd0D0NCotherPM->SetXTitle("MC Impact parameter [#mum]");
1950 hMCd0D0NCotherPM->SetYTitle("Entries");
1951
1952 TH1F *hd0D0NCotherSB = new TH1F("hd0D0NCotherSB","D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
1953 hd0D0NCotherSB->SetXTitle("Impact parameter [#mum]");
1954 hd0D0NCotherSB->SetYTitle("Entries");
1955
1956 TH1F *hd0D0VtxTrueNCotherSB = new TH1F("hd0D0VtxTrueNCotherSB","D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
1957 hd0D0VtxTrueNCotherSB->SetXTitle("Impact parameter [#mum]");
1958 hd0D0VtxTrueNCotherSB->SetYTitle("Entries");
1959
1960 TH1F *hMCd0D0NCotherSB = new TH1F("hMCd0D0NCotherSB","D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
1961 hMCd0D0NCotherSB->SetXTitle("MC Impact parameter [#mum]");
1962 hMCd0D0NCotherSB->SetYTitle("Entries");
1963
1964 flistNoCutsOther->Add(hd0D0NCotherPM);
1965 flistNoCutsOther->Add(hd0D0VtxTrueNCotherPM);
1966 flistNoCutsOther->Add(hMCd0D0NCotherPM);
1967 flistNoCutsOther->Add(hd0D0NCotherSB);
1968 flistNoCutsOther->Add(hd0D0VtxTrueNCotherSB);
1969 flistNoCutsOther->Add(hMCd0D0NCotherSB);
1970
e047b348 1971 TH1F *hd0D0ptNCotherPM;
1972 TH1F *hMCd0D0ptNCotherPM;
1973 TH1F *hd0D0VtxTrueptNCotherPM;
1974 TH1F *hd0D0ptNCotherSB;
1975 TH1F *hMCd0D0ptNCotherSB;
1976 TH1F *hd0D0VtxTrueptNCotherSB;
ac4c229c 1977 namehist="hd0D0ptNCother_";
624c07ab 1978 titlehist="D^{0} impact par. plot, No Cuts, Other, ";
1979 for(Int_t i=0;i<fnbins;i++){
1980 strnamept=namehist;
1981 strnamept.Append("PkMss_pt");
1982 strnamept+=i;
1983
1984 strtitlept=titlehist;
1985 strtitlept.Append(" Mass Peak, ");
1986 strtitlept+=fptbins[i];
1987 strtitlept.Append("<= pt <");
1988 strtitlept+=fptbins[i+1];
1989 strtitlept.Append(" [GeV/c]");
1990
e047b348 1991 hd0D0ptNCotherPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1992 hd0D0ptNCotherPM->SetXTitle("Impact parameter [#mum] ");
1993 hd0D0ptNCotherPM->SetYTitle("Entries");
1994 flistNoCutsOther->Add(hd0D0ptNCotherPM);
624c07ab 1995
1996 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 1997 hMCd0D0ptNCotherPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1998 hMCd0D0ptNCotherPM->SetXTitle("MC Impact parameter [#mum] ");
1999 hMCd0D0ptNCotherPM->SetYTitle("Entries");
2000 flistNoCutsOther->Add(hMCd0D0ptNCotherPM);
624c07ab 2001
2002
2003 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2004 hd0D0VtxTrueptNCotherPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2005 hd0D0VtxTrueptNCotherPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2006 hd0D0VtxTrueptNCotherPM->SetYTitle("Entries");
2007 flistNoCutsOther->Add(hd0D0VtxTrueptNCotherPM);
624c07ab 2008
2009 strnamept=namehist;
2010 strnamept.Append("SBMss_pt");
2011 strnamept+=i;
2012
2013 strtitlept=titlehist;
2014 strtitlept.Append(" Side Bands, ");
2015 strtitlept+=fptbins[i];
2016 strtitlept.Append("<= pt <");
2017 strtitlept+=fptbins[i+1];
2018 strtitlept.Append(" [GeV/c]");
2019
e047b348 2020 hd0D0ptNCotherSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2021 hd0D0ptNCotherSB->SetXTitle("Impact parameter [#mum] ");
2022 hd0D0ptNCotherSB->SetYTitle("Entries");
2023 flistNoCutsOther->Add(hd0D0ptNCotherSB);
624c07ab 2024
2025 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2026 hMCd0D0ptNCotherSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2027 hMCd0D0ptNCotherSB->SetXTitle("MC Impact parameter [#mum] ");
2028 hMCd0D0ptNCotherSB->SetYTitle("Entries");
2029 flistNoCutsOther->Add(hMCd0D0ptNCotherSB);
624c07ab 2030
2031 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2032 hd0D0VtxTrueptNCotherSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2033 hd0D0VtxTrueptNCotherSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2034 hd0D0VtxTrueptNCotherSB->SetYTitle("Entries");
2035 flistNoCutsOther->Add(hd0D0VtxTrueptNCotherSB);
624c07ab 2036 }
2037
2038
2039 //################################################################################################
2040 // #
2041 // HISTOS FOR LOOSE CUTS #
2042 // #
2043 //################################################################################################
2044
2045 //############ LOOSE CUTS SIGNAL HISTOGRAMS ###############
2046 //
2047 // ####### global properties histo ############
2048
e047b348 2049 TH2F *hCPtaVSd0d0LSCsign=new TH2F("hCPtaVSd0d0LSCsign","hCPtaVSd0d0_LooseCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 2050 TH1F *hSecVtxZLSCsign=new TH1F("hSecVtxZLSCsign","hSecVtxZ_LooseCuts_Signal",1000,-8.,8.);
2051 TH1F *hSecVtxXLSCsign=new TH1F("hSecVtxXLSCsign","hSecVtxX_LooseCuts_Signal",1000,-3000.,3000.);
2052 TH1F *hSecVtxYLSCsign=new TH1F("hSecVtxYLSCsign","hSecVtxY_LooseCuts_Signal",1000,-3000.,3000.);
2053 TH2F *hSecVtxXYLSCsign=new TH2F("hSecVtxXYLSCsign","hSecVtxXY_LooseCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
2054 TH1F *hSecVtxPhiLSCsign=new TH1F("hSecVtxPhiLSCsign","hSecVtxPhi_LooseCuts_Signal",180,-180.1,180.1);
e047b348 2055 TH1F *hd0singlTrackLSCsign=new TH1F("hd0singlTrackLSCsign","hd0singlTrackLooseCuts_Signal",1000,-5000.,5000.);
2056 TH1F *hCPtaLSCsign=new TH1F("hCPtaLSCsign","hCPta_LooseCuts_Signal",100,-1.,1.);
ac4c229c 2057 TH1F *hd0xd0LSCsign=new TH1F("hd0xd0LSCsign","hd0xd0_LooseCuts_Signal",1000,-100000.,100000.);
2058 TH1F *hMassTrueLSCsign=new TH1F("hMassTrueLSCsign","D^{0} MC inv. Mass Loose Cuts Signal(All momenta)",600,1.600,2.200);
2059 TH1F *hMassLSCsign=new TH1F("hMassLSCsign","D^{0} inv. Mass Loose Cuts Signal (All momenta)",600,1.600,2.200);
2060 hMassLSCsign->Sumw2();
2061 TH1F *hMassTrueLSCsignPM=new TH1F("hMassTrueLSCsignPM","D^{0} MC inv. Mass Loose Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
2062 TH1F *hMassLSCsignPM=new TH1F("hMassLSCsignPM","D^{0} inv. Mass Loose Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
2063 hMassLSCsignPM->Sumw2();
2064 TH1F *hMassTrueLSCsignSB=new TH1F("hMassTrueLSCsignSB","D^{0} MC inv. Mass in Side Bands Loose Cuts Signal(All momenta)",600,1.600,2.200);
2065 TH1F *hMassLSCsignSB=new TH1F("hMassLSCsignSB","D^{0} inv. Mass in Side Bands Loose Cuts Signal (All momenta)",600,1.600,2.200);
2066 hMassLSCsignSB->Sumw2();
2067
2068 flistLsCutsSignal->Add(hCPtaVSd0d0LSCsign);
2069 flistLsCutsSignal->Add(hSecVtxZLSCsign);
2070 flistLsCutsSignal->Add(hSecVtxYLSCsign);
2071 flistLsCutsSignal->Add(hSecVtxXLSCsign);
2072 flistLsCutsSignal->Add(hSecVtxXYLSCsign);
2073 flistLsCutsSignal->Add(hSecVtxPhiLSCsign);
e047b348 2074 flistLsCutsSignal->Add(hd0singlTrackLSCsign);
ac4c229c 2075 flistLsCutsSignal->Add(hCPtaLSCsign);
2076 flistLsCutsSignal->Add(hd0xd0LSCsign);
2077 flistLsCutsSignal->Add(hMassTrueLSCsign);
2078 flistLsCutsSignal->Add(hMassLSCsign);
2079 flistLsCutsSignal->Add(hMassTrueLSCsignPM);
2080 flistLsCutsSignal->Add(hMassLSCsignPM);
2081 flistLsCutsSignal->Add(hMassTrueLSCsignSB);
2082 flistLsCutsSignal->Add(hMassLSCsignSB);
624c07ab 2083
e047b348 2084
2085 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
2086 TH1F *hdcaLSCsign=new TH1F("hdcaLSCsign","hdca_LooseCuts_Sign",100,0.,1000.);
2087 hdcaLSCsign->SetXTitle("dca [#mum]");
2088 hdcaLSCsign->SetYTitle("Entries");
2089 TH1F *hcosthetastarLSCsign=new TH1F("hcosthetastarLSCsign","hCosThetaStar_LooseCuts_Sign",50,-1.,1.);
2090 hcosthetastarLSCsign->SetXTitle("cos #theta^{*}");
2091 hcosthetastarLSCsign->SetYTitle("Entries");
2092 TH1F *hptD0LSCsign=new TH1F("hptD0LSCsign","D^{0} transverse momentum distribution",34,ptbinsD0arr);
2093 hptD0LSCsign->SetXTitle("p_{t} [GeV/c]");
2094 hptD0LSCsign->SetYTitle("Entries");
2095 TH1F *hptD0VsMaxPtLSCsign=new TH1F("hptD0VsMaxPtLSCsign","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2096 TH2F *hptD0PTallsqrtLSCsign=new TH2F("hptD0PTallsqrtLSCsign","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2097 TH2F *hptD0PTallLSCsign=new TH2F("hptD0PTallLSCsign","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2098 TH2F *hptD0vsptBLSCsign=new TH2F("hptD0vsptBLSCsign","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2099 TH2F *hpD0vspBLSCsign=new TH2F("hpD0vspBLSCsign","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2100 TH2F *hptD0vsptcquarkLSCsign=new TH2F("hptD0vsptcquarkLSCsign","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2101 TH2F *hpD0vspcquarkLSCsign=new TH2F("hpD0vspcquarkLSCsign","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2102 flistLsCutsSignal->Add(hdcaLSCsign);
2103 flistLsCutsSignal->Add(hcosthetastarLSCsign);
2104 flistLsCutsSignal->Add(hptD0LSCsign);
2105 flistLsCutsSignal->Add(hptD0VsMaxPtLSCsign);
2106 flistLsCutsSignal->Add(hptD0PTallsqrtLSCsign);
2107 flistLsCutsSignal->Add(hptD0PTallLSCsign);
2108 flistLsCutsSignal->Add(hptD0vsptBLSCsign);
2109 flistLsCutsSignal->Add(hpD0vspBLSCsign);
2110 flistLsCutsSignal->Add(hptD0vsptcquarkLSCsign);
2111 flistLsCutsSignal->Add(hpD0vspcquarkLSCsign);
2112
2113 TH1F *hd0zD0ptLSCsign;
cc3209fb 2114 TH1F *hInvMassD0LSCsign,*hInvMassD0barLSCsign;
e047b348 2115 TH2F *hInvMassPtLSCsign=new TH2F("hInvMassPtLSCsign","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2116 TH1F *hetaLSCsign;
2117 TH1F *hCosPDPBLSCsign;
2118 TH1F *hCosPcPDLSCsign;
2119 flistLsCutsSignal->Add(hInvMassPtLSCsign);
2120
2121 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
2122 TH2F *hd0D0VSd0xd0LSCsignpt;
2123 TH2F *hangletracksVSd0xd0LSCsignpt;
2124 TH2F *hangletracksVSd0D0LSCsignpt;
2125 TH1F *hd0xd0LSCsignpt;
2126
2127 TH2F *hTOFpidLSCsign=new TH2F("hTOFpidLSCsign","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2128 flistLsCutsSignal->Add(hTOFpidLSCsign);
2129
2130 for(Int_t i=0;i<fnbins;i++){
2131 namehist="hd0zD0ptLSCsign_pt";
2132 namehist+=i;
2133 titlehist="d0(z) Loose Cuts Signm ptbin=";
2134 titlehist+=i;
2135 hd0zD0ptLSCsign=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2136 hd0zD0ptLSCsign->SetXTitle("d_{0}(z) [#mum]");
2137 hd0zD0ptLSCsign->SetYTitle("Entries");
2138 flistLsCutsSignal->Add(hd0zD0ptLSCsign);
2139
cc3209fb 2140 namehist="hInvMassD0LSCsign_pt";
e047b348 2141 namehist+=i;
2142 titlehist="Invariant Mass Loose Cuts Sign ptbin=";
2143 titlehist+=i;
cc3209fb 2144 hInvMassD0LSCsign=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2145 hInvMassD0LSCsign->SetXTitle("Invariant Mass [GeV]");
2146 hInvMassD0LSCsign->SetYTitle("Entries");
2147 flistLsCutsSignal->Add(hInvMassD0LSCsign);
2148
2149
2150 namehist="hInvMassD0barLSCsign_pt";
2151 namehist+=i;
2152 titlehist="Invariant Mass D0bar No Cuts Signal ptbin=";
2153 titlehist+=i;
2154 hInvMassD0barLSCsign=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2155 hInvMassD0barLSCsign->SetXTitle("Invariant Mass [GeV]");
2156 hInvMassD0barLSCsign->SetYTitle("Entries");
2157 flistLsCutsSignal->Add(hInvMassD0barLSCsign);
e047b348 2158
2159 namehist="hetaLSCsign_pt";
2160 namehist+=i;
2161 titlehist="eta Loose Cuts Sign ptbin=";
2162 titlehist+=i;
2163 hetaLSCsign=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2164 hetaLSCsign->SetXTitle("Pseudorapidity");
2165 hetaLSCsign->SetYTitle("Entries");
2166 flistLsCutsSignal->Add(hetaLSCsign);
2167
2168 namehist="hCosPDPBLSCsign_pt";
2169 namehist+=i;
2170 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
2171 titlehist+=i;
2172 hCosPDPBLSCsign=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2173 hCosPDPBLSCsign->SetXTitle("Cosine between D0 momentum and B momentum");
2174 hCosPDPBLSCsign->SetYTitle("Entries");
2175 flistLsCutsSignal->Add(hCosPDPBLSCsign);
2176
2177 namehist="hCosPcPDLSCsign_pt";
2178 namehist+=i;
2179 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
2180 titlehist+=i;
2181 hCosPcPDLSCsign=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2182 hCosPcPDLSCsign->SetXTitle("Cosine between c quark momentum and D0 momentum");
2183 hCosPcPDLSCsign->SetYTitle("Entries");
2184 flistLsCutsSignal->Add(hCosPcPDLSCsign);
2185
2186
2187 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
2188 namehist="hd0xd0LSCsign_pt";
2189 namehist+=i;
2190 titlehist="d0xd0 Loose Cuts Sign ptbin=";
2191 titlehist+=i;
2192 hd0xd0LSCsignpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2193 hd0xd0LSCsignpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2194 hd0xd0LSCsignpt->SetYTitle("Entries");
2195 flistLsCutsSignal->Add(hd0xd0LSCsignpt);
2196
2197
2198 namehist="hd0D0VSd0xd0LSCsign_pt";
2199 namehist+=i;
2200 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2201 titlehist+=i;
2202 hd0D0VSd0xd0LSCsignpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2203 hd0D0VSd0xd0LSCsignpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2204 hd0D0VSd0xd0LSCsignpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
2205 flistLsCutsSignal->Add(hd0D0VSd0xd0LSCsignpt);
2206
2207
2208 namehist="hangletracksVSd0xd0LSCsign_pt";
2209 namehist+=i;
2210 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2211 titlehist+=i;
2212 hangletracksVSd0xd0LSCsignpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2213 hangletracksVSd0xd0LSCsignpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2214 hangletracksVSd0xd0LSCsignpt->SetYTitle(" angle between K and #p tracks [rad]");
2215 flistLsCutsSignal->Add(hangletracksVSd0xd0LSCsignpt);
2216
2217
2218 namehist="hangletracksVSd0D0LSCsign_pt";
2219 namehist+=i;
2220 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Sign ptbin=";
2221 titlehist+=i;
2222 hangletracksVSd0D0LSCsignpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2223 hangletracksVSd0D0LSCsignpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
2224 hangletracksVSd0D0LSCsignpt->SetYTitle(" angle between K and #p tracks [rad]");
2225 flistLsCutsSignal->Add(hangletracksVSd0D0LSCsignpt);
2226
2227
2228 }
2229 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
2230 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2231
2232
624c07ab 2233 // ####### d0 D0 histos ############
ac4c229c 2234 TH1F *hd0D0LSCsignPM = new TH1F("hd0D0LSCsignPM","D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2235 hd0D0LSCsignPM->SetXTitle("Impact parameter [#mum]");
2236 hd0D0LSCsignPM->SetYTitle("Entries");
2237
2238 TH1F *hd0D0VtxTrueLSCsignPM = new TH1F("hd0D0VtxTrueLSCsignPM","D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2239 hd0D0VtxTrueLSCsignPM->SetXTitle("Impact parameter [#mum]");
2240 hd0D0VtxTrueLSCsignPM->SetYTitle("Entries");
2241
2242 TH1F *hMCd0D0LSCsignPM = new TH1F("hMCd0D0LSCsignPM","D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2243 hMCd0D0LSCsignPM->SetXTitle("MC Impact parameter [#mum]");
2244 hMCd0D0LSCsignPM->SetYTitle("Entries");
2245
2246 TH1F *hd0D0LSCsignSB = new TH1F("hd0D0LSCsignSB","D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2247 hd0D0LSCsignSB->SetXTitle("Impact parameter [#mum]");
2248 hd0D0LSCsignSB->SetYTitle("Entries");
2249
2250 TH1F *hd0D0VtxTrueLSCsignSB = new TH1F("hd0D0VtxTrueLSCsignSB","D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2251 hd0D0VtxTrueLSCsignSB->SetXTitle("Impact parameter [#mum]");
2252 hd0D0VtxTrueLSCsignSB->SetYTitle("Entries");
2253
2254 TH1F *hMCd0D0LSCsignSB = new TH1F("hMCd0D0LSCsignSB","D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2255 hMCd0D0LSCsignSB->SetXTitle("MC Impact parameter [#mum]");
2256 hMCd0D0LSCsignSB->SetYTitle("Entries");
2257
2258 flistLsCutsSignal->Add(hd0D0LSCsignPM);
2259 flistLsCutsSignal->Add(hd0D0VtxTrueLSCsignPM);
2260 flistLsCutsSignal->Add(hMCd0D0LSCsignPM);
2261 flistLsCutsSignal->Add(hd0D0LSCsignSB);
2262 flistLsCutsSignal->Add(hd0D0VtxTrueLSCsignSB);
2263 flistLsCutsSignal->Add(hMCd0D0LSCsignSB);
2264
e047b348 2265 TH1F *hd0D0ptLSCsignPM;
2266 TH1F *hMCd0D0ptLSCsignPM;
2267 TH1F *hd0D0VtxTrueptLSCsignPM;
2268 TH1F *hd0D0ptLSCsignSB;
2269 TH1F *hMCd0D0ptLSCsignSB;
2270 TH1F *hd0D0VtxTrueptLSCsignSB;
ac4c229c 2271 namehist="hd0D0ptLSCsign_";
624c07ab 2272 titlehist="D^{0} impact par. plot, Loose Cuts, Signal, ";
2273 for(Int_t i=0;i<fnbins;i++){
2274 strnamept=namehist;
2275 strnamept.Append("PkMss_pt");
2276 strnamept+=i;
2277
2278 strtitlept=titlehist;
2279 strtitlept.Append(" Mass Peak, ");
2280 strtitlept+=fptbins[i];
2281 strtitlept.Append("<= pt <");
2282 strtitlept+=fptbins[i+1];
2283 strtitlept.Append(" [GeV/c]");
2284
e047b348 2285 hd0D0ptLSCsignPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2286 hd0D0ptLSCsignPM->SetXTitle("Impact parameter [#mum] ");
2287 hd0D0ptLSCsignPM->SetYTitle("Entries");
2288 flistLsCutsSignal->Add(hd0D0ptLSCsignPM);
624c07ab 2289
2290 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2291 hMCd0D0ptLSCsignPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2292 hMCd0D0ptLSCsignPM->SetXTitle("MC Impact parameter [#mum] ");
2293 hMCd0D0ptLSCsignPM->SetYTitle("Entries");
2294 flistLsCutsSignal->Add(hMCd0D0ptLSCsignPM);
624c07ab 2295
2296
2297 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2298 hd0D0VtxTrueptLSCsignPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2299 hd0D0VtxTrueptLSCsignPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2300 hd0D0VtxTrueptLSCsignPM->SetYTitle("Entries");
2301 flistLsCutsSignal->Add(hd0D0VtxTrueptLSCsignPM);
624c07ab 2302
2303 strnamept=namehist;
2304 strnamept.Append("SBMss_pt");
2305 strnamept+=i;
2306
2307 strtitlept=titlehist;
2308 strtitlept.Append(" Side Bands, ");
2309 strtitlept+=fptbins[i];
2310 strtitlept.Append("<= pt <");
2311 strtitlept+=fptbins[i+1];
2312 strtitlept.Append(" [GeV/c]");
2313
e047b348 2314 hd0D0ptLSCsignSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2315 hd0D0ptLSCsignSB->SetXTitle("Impact parameter [#mum] ");
2316 hd0D0ptLSCsignSB->SetYTitle("Entries");
2317 flistLsCutsSignal->Add(hd0D0ptLSCsignSB);
624c07ab 2318
2319 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2320 hMCd0D0ptLSCsignSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2321 hMCd0D0ptLSCsignSB->SetXTitle("MC Impact parameter [#mum] ");
2322 hMCd0D0ptLSCsignSB->SetYTitle("Entries");
2323 flistLsCutsSignal->Add(hMCd0D0ptLSCsignSB);
624c07ab 2324
2325 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2326 hd0D0VtxTrueptLSCsignSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2327 hd0D0VtxTrueptLSCsignSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2328 hd0D0VtxTrueptLSCsignSB->SetYTitle("Entries");
2329 flistLsCutsSignal->Add(hd0D0VtxTrueptLSCsignSB);
624c07ab 2330 }
2331
2332
2333 //############ LOOSE CUTS BACKGROUND HISTOGRAMS ###########
2334 //
2335 // ######## global properties histos #######
e047b348 2336 TH2F *hCPtaVSd0d0LSCback=new TH2F("hCPtaVSd0d0LSCback","hCPtaVSd0d0_LooseCuts_Background",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 2337 TH1F *hSecVtxZLSCback=new TH1F("hSecVtxZLSCback","hSecVtxZ_LooseCuts_Background",1000,-8.,8.);
2338 TH1F *hSecVtxXLSCback=new TH1F("hSecVtxXLSCback","hSecVtxX_LooseCuts_Background",1000,-3000.,3000.);
2339 TH1F *hSecVtxYLSCback=new TH1F("hSecVtxYLSCback","hSecVtxY_LooseCuts_Background",1000,-3000.,3000.);
2340 TH2F *hSecVtxXYLSCback=new TH2F("hSecVtxXYLSCback","hSecVtxXY_LooseCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
2341 TH1F *hSecVtxPhiLSCback=new TH1F("hSecVtxPhiLSCback","hSecVtxPhi_LooseCuts_Background",180,-180.1,180.1);
e047b348 2342 TH1F *hd0singlTrackLSCback=new TH1F("hd0singlTrackLSCback","hd0singlTrackLooseCuts_Back",1000,-5000.,5000.);
2343 TH1F *hCPtaLSCback=new TH1F("hCPtaLSCback","hCPta_LooseCuts_Background",100,-1.,1.);
ac4c229c 2344 TH1F *hd0xd0LSCback=new TH1F("hd0xd0LSCback","hd0xd0_LooseCuts_Background",1000,-100000.,100000.);
2345 TH1F *hMassTrueLSCback=new TH1F("hMassTrueLSCback","D^{0} MC inv. Mass Loose Cuts Background(All momenta)",600,1.600,2.200);
2346 TH1F *hMassLSCback=new TH1F("hMassLSCback","D^{0} inv. Mass Loose Cuts Background (All momenta)",600,1.600,2.200);
2347 hMassLSCback->Sumw2();
2348 TH1F *hMassTrueLSCbackPM=new TH1F("hMassTrueLSCbackPM","D^{0} MC inv. Mass Loose Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
2349 TH1F *hMassLSCbackPM=new TH1F("hMassLSCbackPM","D^{0} inv. Mass Loose Cuts Background (All momenta), MassPeak",600,1.600,2.200);
2350 hMassLSCbackPM->Sumw2();
2351 TH1F *hMassTrueLSCbackSB=new TH1F("hMassTrueLSCbackSB","D^{0} MC inv. Mass in Side Bands Loose Cuts Background(All momenta)",600,1.600,2.200);
2352 TH1F *hMassLSCbackSB=new TH1F("hMassLSCbackSB","D^{0} inv. Mass in Side Bands Loose Cuts Background (All momenta)",600,1.600,2.200);
2353 hMassLSCbackSB->Sumw2();
2354
2355 flistLsCutsBack->Add(hCPtaVSd0d0LSCback);
2356 flistLsCutsBack->Add(hSecVtxZLSCback);
2357 flistLsCutsBack->Add(hSecVtxYLSCback);
2358 flistLsCutsBack->Add(hSecVtxXLSCback);
2359 flistLsCutsBack->Add(hSecVtxXYLSCback);
2360 flistLsCutsBack->Add(hSecVtxPhiLSCback);
e047b348 2361 flistLsCutsBack->Add(hd0singlTrackLSCback);
ac4c229c 2362 flistLsCutsBack->Add(hCPtaLSCback);
2363 flistLsCutsBack->Add(hd0xd0LSCback);
2364 flistLsCutsBack->Add(hMassTrueLSCback);
2365 flistLsCutsBack->Add(hMassLSCback);
2366 flistLsCutsBack->Add(hMassTrueLSCbackPM);
2367 flistLsCutsBack->Add(hMassLSCbackPM);
2368 flistLsCutsBack->Add(hMassTrueLSCbackSB);
2369 flistLsCutsBack->Add(hMassLSCbackSB);
624c07ab 2370
2371
e047b348 2372
2373
2374
2375
2376
2377
2378 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
2379 TH1F *hdcaLSCback=new TH1F("hdcaLSCback","hdca_LooseCuts_Backgr",100,0.,1000.);
2380 hdcaLSCback->SetXTitle("dca [#mum]");
2381 hdcaLSCback->SetYTitle("Entries");
2382 TH1F *hcosthetastarLSCback=new TH1F("hcosthetastarLSCback","hCosThetaStar_LooseCuts_Backgr",50,-1.,1.);
2383 hcosthetastarLSCback->SetXTitle("cos #theta^{*}");
2384 hcosthetastarLSCback->SetYTitle("Entries");
2385 TH1F *hptD0LSCback=new TH1F("hptD0LSCback","D^{0} transverse momentum distribution",34,ptbinsD0arr);
2386 hptD0LSCback->SetXTitle("p_{t} [GeV/c]");
2387 hptD0LSCback->SetYTitle("Entries");
2388 TH1F *hptD0VsMaxPtLSCback=new TH1F("hptD0VsMaxPtLSCback","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2389 TH2F *hptD0PTallsqrtLSCback=new TH2F("hptD0PTallsqrtLSCback","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2390 TH2F *hptD0PTallLSCback=new TH2F("hptD0PTallLSCback","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2391 TH2F *hptD0vsptBLSCback=new TH2F("hptD0vsptBLSCback","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2392 TH2F *hpD0vspBLSCback=new TH2F("hpD0vspBLSCback","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2393 TH2F *hptD0vsptcquarkLSCback=new TH2F("hptD0vsptcquarkLSCback","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2394 TH2F *hpD0vspcquarkLSCback=new TH2F("hpD0vspcquarkLSCback","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2395 flistLsCutsBack->Add(hdcaLSCback);
2396 flistLsCutsBack->Add(hcosthetastarLSCback);
2397 flistLsCutsBack->Add(hptD0LSCback);
2398 flistLsCutsBack->Add(hptD0VsMaxPtLSCback);
2399 flistLsCutsBack->Add(hptD0PTallsqrtLSCback);
2400 flistLsCutsBack->Add(hptD0PTallLSCback);
2401 flistLsCutsBack->Add(hptD0vsptBLSCback);
2402 flistLsCutsBack->Add(hpD0vspBLSCback);
2403 flistLsCutsBack->Add(hptD0vsptcquarkLSCback);
2404 flistLsCutsBack->Add(hpD0vspcquarkLSCback);
2405
2406 TH1F *hd0zD0ptLSCback;
cc3209fb 2407 TH1F *hInvMassD0LSCback,*hInvMassD0barLSCback;
e047b348 2408 TH2F *hInvMassPtLSCback=new TH2F("hInvMassPtLSCback","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2409 TH1F *hetaLSCback;
2410 TH1F *hCosPDPBLSCback;
2411 TH1F *hCosPcPDLSCback;
2412 flistLsCutsBack->Add(hInvMassPtLSCback);
2413 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
2414 TH2F *hd0D0VSd0xd0LSCbackpt;
2415 TH2F *hangletracksVSd0xd0LSCbackpt;
2416 TH2F *hangletracksVSd0D0LSCbackpt;
2417 TH1F *hd0xd0LSCbackpt;
2418
2419 TH2F *hTOFpidLSCback=new TH2F("hTOFpidLSCback","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2420 flistLsCutsBack->Add(hTOFpidLSCback);
2421
2422 for(Int_t i=0;i<fnbins;i++){
2423 namehist="hd0zD0ptLSCback_pt";
2424 namehist+=i;
2425 titlehist="d0(z) Loose Cuts Backgr ptbin=";
2426 titlehist+=i;
2427 hd0zD0ptLSCback=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2428 hd0zD0ptLSCback->SetXTitle("d_{0}(z) [#mum]");
2429 hd0zD0ptLSCback->SetYTitle("Entries");
2430 flistLsCutsBack->Add(hd0zD0ptLSCback);
2431
cc3209fb 2432 namehist="hInvMassD0LSCback_pt";
e047b348 2433 namehist+=i;
2434 titlehist="Invariant Mass Loose Cuts Backgr ptbin=";
2435 titlehist+=i;
cc3209fb 2436 hInvMassD0LSCback=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2437 hInvMassD0LSCback->SetXTitle("Invariant Mass [GeV]");
2438 hInvMassD0LSCback->SetYTitle("Entries");
2439 flistLsCutsBack->Add(hInvMassD0LSCback);
2440
2441 namehist="hInvMassD0barLSCback_pt";
2442 namehist+=i;
2443 titlehist="Invariant Mass D0bar No Cuts Back ptbin=";
2444 titlehist+=i;
2445 hInvMassD0barLSCback=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2446 hInvMassD0barLSCback->SetXTitle("Invariant Mass [GeV]");
2447 hInvMassD0barLSCback->SetYTitle("Entries");
2448 flistLsCutsBack->Add(hInvMassD0barLSCback);
2449
e047b348 2450
2451 namehist="hetaLSCback_pt";
2452 namehist+=i;
2453 titlehist="eta Loose Cuts Backgr ptbin=";
2454 titlehist+=i;
2455 hetaLSCback=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2456 hetaLSCback->SetXTitle("Pseudorapidity");
2457 hetaLSCback->SetYTitle("Entries");
2458 flistLsCutsBack->Add(hetaLSCback);
2459
2460 namehist="hCosPDPBLSCback_pt";
2461 namehist+=i;
2462 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
2463 titlehist+=i;
2464 hCosPDPBLSCback=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2465 hCosPDPBLSCback->SetXTitle("Cosine between D0 momentum and B momentum");
2466 hCosPDPBLSCback->SetYTitle("Entries");
2467 flistLsCutsBack->Add(hCosPDPBLSCback);
2468
2469 namehist="hCosPcPDLSCback_pt";
2470 namehist+=i;
2471 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
2472 titlehist+=i;
2473 hCosPcPDLSCback=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2474 hCosPcPDLSCback->SetXTitle("Cosine between c quark momentum and D0 momentum");
2475 hCosPcPDLSCback->SetYTitle("Entries");
2476 flistLsCutsBack->Add(hCosPcPDLSCback);
2477
2478 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
2479 namehist="hd0xd0LSCback_pt";
2480 namehist+=i;
2481 titlehist="d0xd0 Loose Cuts Back ptbin=";
2482 titlehist+=i;
2483 hd0xd0LSCbackpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2484 hd0xd0LSCbackpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2485 hd0xd0LSCbackpt->SetYTitle("Entries");
2486 flistLsCutsBack->Add(hd0xd0LSCbackpt);
2487
2488
2489 namehist="hd0D0VSd0xd0LSCback_pt";
2490 namehist+=i;
2491 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
2492 titlehist+=i;
2493 hd0D0VSd0xd0LSCbackpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2494 hd0D0VSd0xd0LSCbackpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2495 hd0D0VSd0xd0LSCbackpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
2496 flistLsCutsBack->Add(hd0D0VSd0xd0LSCbackpt);
2497
2498
2499 namehist="hangletracksVSd0xd0LSCback_pt";
2500 namehist+=i;
2501 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
2502 titlehist+=i;
2503 hangletracksVSd0xd0LSCbackpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2504 hangletracksVSd0xd0LSCbackpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2505 hangletracksVSd0xd0LSCbackpt->SetYTitle(" angle between K and #p tracks [rad]");
2506 flistLsCutsBack->Add(hangletracksVSd0xd0LSCbackpt);
2507
2508
2509 namehist="hangletracksVSd0D0LSCback_pt";
2510 namehist+=i;
2511 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Back ptbin=";
2512 titlehist+=i;
2513 hangletracksVSd0D0LSCbackpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2514 hangletracksVSd0D0LSCbackpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
2515 hangletracksVSd0D0LSCbackpt->SetYTitle(" angle between K and #p tracks [rad]");
2516 flistLsCutsBack->Add(hangletracksVSd0D0LSCbackpt);
2517
2518 }
2519 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
2520 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2521
2522
2523
2524
2525
2526
2527
624c07ab 2528 // ####### d0 D0 histos ############
2529
ac4c229c 2530 TH1F *hd0D0LSCbackPM = new TH1F("hd0D0LSCbackPM","D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2531 hd0D0LSCbackPM->SetXTitle("Impact parameter [#mum]");
2532 hd0D0LSCbackPM->SetYTitle("Entries");
2533
2534 TH1F *hd0D0VtxTrueLSCbackPM = new TH1F("hd0D0VtxTrueLSCbackPM","D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2535 hd0D0VtxTrueLSCbackPM->SetXTitle("Impact parameter [#mum]");
2536 hd0D0VtxTrueLSCbackPM->SetYTitle("Entries");
2537
2538 TH1F *hMCd0D0LSCbackPM = new TH1F("hMCd0D0LSCbackPM","D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2539 hMCd0D0LSCbackPM->SetXTitle("MC Impact parameter [#mum]");
2540 hMCd0D0LSCbackPM->SetYTitle("Entries");
2541
2542 TH1F *hd0D0LSCbackSB = new TH1F("hd0D0LSCbackSB","D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2543 hd0D0LSCbackSB->SetXTitle("Impact parameter [#mum]");
2544 hd0D0LSCbackSB->SetYTitle("Entries");
2545
2546 TH1F *hd0D0VtxTrueLSCbackSB = new TH1F("hd0D0VtxTrueLSCbackSB","D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2547 hd0D0VtxTrueLSCbackSB->SetXTitle("Impact parameter [#mum]");
2548 hd0D0VtxTrueLSCbackSB->SetYTitle("Entries");
2549
2550 TH1F *hMCd0D0LSCbackSB = new TH1F("hMCd0D0LSCbackSB","D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2551 hMCd0D0LSCbackSB->SetXTitle("MC Impact parameter [#mum]");
2552 hMCd0D0LSCbackSB->SetYTitle("Entries");
2553
2554 flistLsCutsBack->Add(hd0D0LSCbackPM);
2555 flistLsCutsBack->Add(hd0D0VtxTrueLSCbackPM);
2556 flistLsCutsBack->Add(hMCd0D0LSCbackPM);
2557 flistLsCutsBack->Add(hd0D0LSCbackSB);
2558 flistLsCutsBack->Add(hd0D0VtxTrueLSCbackSB);
2559 flistLsCutsBack->Add(hMCd0D0LSCbackSB);
2560
e047b348 2561 TH1F *hd0D0ptLSCbackPM;
2562 TH1F *hMCd0D0ptLSCbackPM;
2563 TH1F *hd0D0VtxTrueptLSCbackPM;
2564 TH1F *hd0D0ptLSCbackSB;
2565 TH1F *hMCd0D0ptLSCbackSB;
2566 TH1F *hd0D0VtxTrueptLSCbackSB;
ac4c229c 2567 namehist="hd0D0ptLSCback_";
624c07ab 2568 titlehist="D^{0} impact par. plot, Loose Cuts, Background, ";
2569 for(Int_t i=0;i<fnbins;i++){
2570 strnamept=namehist;
2571 strnamept.Append("PkMss_pt");
2572 strnamept+=i;
2573
2574 strtitlept=titlehist;
2575 strtitlept.Append(" Mass Peak, ");
2576 strtitlept+=fptbins[i];
2577 strtitlept.Append("<= pt <");
2578 strtitlept+=fptbins[i+1];
2579 strtitlept.Append(" [GeV/c]");
2580
e047b348 2581 hd0D0ptLSCbackPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2582 hd0D0ptLSCbackPM->SetXTitle("Impact parameter [#mum] ");
2583 hd0D0ptLSCbackPM->SetYTitle("Entries");
2584 flistLsCutsBack->Add(hd0D0ptLSCbackPM);
624c07ab 2585
2586 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2587 hMCd0D0ptLSCbackPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2588 hMCd0D0ptLSCbackPM->SetXTitle("MC Impact parameter [#mum] ");
2589 hMCd0D0ptLSCbackPM->SetYTitle("Entries");
2590 flistLsCutsBack->Add(hMCd0D0ptLSCbackPM);
624c07ab 2591
2592
2593 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2594 hd0D0VtxTrueptLSCbackPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2595 hd0D0VtxTrueptLSCbackPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2596 hd0D0VtxTrueptLSCbackPM->SetYTitle("Entries");
2597 flistLsCutsBack->Add(hd0D0VtxTrueptLSCbackPM);
624c07ab 2598
2599 strnamept=namehist;
2600 strnamept.Append("SBMss_pt");
2601 strnamept+=i;
2602
2603 strtitlept=titlehist;
2604 strtitlept.Append(" Side Bands, ");
2605 strtitlept+=fptbins[i];
2606 strtitlept.Append("<= pt <");
2607 strtitlept+=fptbins[i+1];
2608 strtitlept.Append(" [GeV/c]");
2609
e047b348 2610 hd0D0ptLSCbackSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2611 hd0D0ptLSCbackSB->SetXTitle("Impact parameter [#mum] ");
2612 hd0D0ptLSCbackSB->SetYTitle("Entries");
2613 flistLsCutsBack->Add(hd0D0ptLSCbackSB);
624c07ab 2614
2615 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2616 hMCd0D0ptLSCbackSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2617 hMCd0D0ptLSCbackSB->SetXTitle("MC Impact parameter [#mum] ");
2618 hMCd0D0ptLSCbackSB->SetYTitle("Entries");
2619 flistLsCutsBack->Add(hMCd0D0ptLSCbackSB);
624c07ab 2620
2621 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2622 hd0D0VtxTrueptLSCbackSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2623 hd0D0VtxTrueptLSCbackSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2624 hd0D0VtxTrueptLSCbackSB->SetYTitle("Entries");
2625 flistLsCutsBack->Add(hd0D0VtxTrueptLSCbackSB);
624c07ab 2626 }
2627
2628
2629
2630 //############ LOOSE CUTS FROMB HISTOGRAMS ###########
2631 //
2632 //####### global properties histos
2633
e047b348 2634 TH2F *hCPtaVSd0d0LSCfromB=new TH2F("hCPtaVSd0d0LSCfromB","hCPtaVSd0d0_LooseCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 2635 TH1F *hSecVtxZLSCfromB=new TH1F("hSecVtxZLSCfromB","hSecVtxZ_LooseCuts_FromB",1000,-8.,8.);
2636 TH1F *hSecVtxXLSCfromB=new TH1F("hSecVtxXLSCfromB","hSecVtxX_LooseCuts_FromB",1000,-3000.,3000.);
2637 TH1F *hSecVtxYLSCfromB=new TH1F("hSecVtxYLSCfromB","hSecVtxY_LooseCuts_FromB",1000,-3000.,3000.);
2638 TH2F *hSecVtxXYLSCfromB=new TH2F("hSecVtxXYLSCfromB","hSecVtxXY_LooseCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
2639 TH1F *hSecVtxPhiLSCfromB=new TH1F("hSecVtxPhiLSCfromB","hSecVtxPhi_LooseCuts_FromB",180,-180.1,180.1);
e047b348 2640 TH1F *hd0singlTrackLSCfromB=new TH1F("hd0singlTrackLSCfromB","hd0singlTrackLooseCuts_FromB",1000,-5000.,5000.);
2641 TH1F *hCPtaLSCfromB=new TH1F("hCPtaLSCfromB","hCPta_LooseCuts_FromB",100,-1.,1.);
ac4c229c 2642 TH1F *hd0xd0LSCfromB=new TH1F("hd0xd0LSCfromB","hd0xd0_LooseCuts_FromB",1000,-100000.,100000.);
2643 TH1F *hMassTrueLSCfromB=new TH1F("hMassTrueLSCfromB","D^{0} MC inv. Mass Loose Cuts FromB(All momenta)",600,1.600,2.200);
2644 TH1F *hMassLSCfromB=new TH1F("hMassLSCfromB","D^{0} inv. Mass Loose Cuts FromB (All momenta)",600,1.600,2.200);
2645 hMassLSCfromB->Sumw2();
2646 TH1F *hMassTrueLSCfromBPM=new TH1F("hMassTrueLSCfromBPM","D^{0} MC inv. Mass Loose Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
2647 TH1F *hMassLSCfromBPM=new TH1F("hMassLSCfromBPM","D^{0} inv. Mass Loose Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
2648 hMassLSCfromBPM->Sumw2();
2649 TH1F *hMassTrueLSCfromBSB=new TH1F("hMassTrueLSCfromBSB","D^{0} MC inv. Mass in Side Bands Loose Cuts FromB(All momenta)",600,1.600,2.200);
2650 TH1F *hMassLSCfromBSB=new TH1F("hMassLSCfromBSB","D^{0} inv. Mass in Side Bands Loose Cuts FromB (All momenta)",600,1.600,2.200);
2651 hMassLSCfromBSB->Sumw2();
2652
2653 flistLsCutsFromB->Add(hCPtaVSd0d0LSCfromB);
2654 flistLsCutsFromB->Add(hSecVtxZLSCfromB);
2655 flistLsCutsFromB->Add(hSecVtxYLSCfromB);
2656 flistLsCutsFromB->Add(hSecVtxXLSCfromB);
2657 flistLsCutsFromB->Add(hSecVtxXYLSCfromB);
2658 flistLsCutsFromB->Add(hSecVtxPhiLSCfromB);
e047b348 2659 flistLsCutsFromB->Add(hd0singlTrackLSCfromB);
ac4c229c 2660 flistLsCutsFromB->Add(hCPtaLSCfromB);
2661 flistLsCutsFromB->Add(hd0xd0LSCfromB);
2662 flistLsCutsFromB->Add(hMassTrueLSCfromB);
2663 flistLsCutsFromB->Add(hMassLSCfromB);
2664 flistLsCutsFromB->Add(hMassTrueLSCfromBPM);
2665 flistLsCutsFromB->Add(hMassLSCfromBPM);
2666 flistLsCutsFromB->Add(hMassTrueLSCfromBSB);
2667 flistLsCutsFromB->Add(hMassLSCfromBSB);
624c07ab 2668
e047b348 2669
2670
2671
2672 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
2673 TH1F *hdcaLSCfromB=new TH1F("hdcaLSCfromB","hdca_LooseCuts_FromB",100,0.,1000.);
2674 hdcaLSCfromB->SetXTitle("dca [#mum]");
2675 hdcaLSCfromB->SetYTitle("Entries");
2676 TH1F *hcosthetastarLSCfromB=new TH1F("hcosthetastarLSCfromB","hCosThetaStar_LooseCuts_FromB",50,-1.,1.);
2677 hcosthetastarLSCfromB->SetXTitle("cos #theta^{*}");
2678 hcosthetastarLSCfromB->SetYTitle("Entries");
2679 TH1F *hptD0LSCfromB=new TH1F("hptD0LSCfromB","D^{0} transverse momentum distribution",34,ptbinsD0arr);
2680 hptD0LSCfromB->SetXTitle("p_{t} [GeV/c]");
2681 hptD0LSCfromB->SetYTitle("Entries");
2682 TH1F *hptD0VsMaxPtLSCfromB=new TH1F("hptD0VsMaxPtLSCfromB","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2683 TH2F *hptD0PTallsqrtLSCfromB=new TH2F("hptD0PTallsqrtLSCfromB","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2684 TH2F *hptD0PTallLSCfromB=new TH2F("hptD0PTallLSCfromB","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2685 TH2F *hptD0vsptBLSCfromB=new TH2F("hptD0vsptBLSCfromB","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2686 TH2F *hpD0vspBLSCfromB=new TH2F("hpD0vspBLSCfromB","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2687 TH2F *hptD0vsptcquarkLSCfromB=new TH2F("hptD0vsptcquarkLSCfromB","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2688 TH2F *hpD0vspcquarkLSCfromB=new TH2F("hpD0vspcquarkLSCfromB","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2689 flistLsCutsFromB->Add(hdcaLSCfromB);
2690 flistLsCutsFromB->Add(hcosthetastarLSCfromB);
2691 flistLsCutsFromB->Add(hptD0LSCfromB);
2692 flistLsCutsFromB->Add(hptD0VsMaxPtLSCfromB);
2693 flistLsCutsFromB->Add(hptD0PTallsqrtLSCfromB);
2694 flistLsCutsFromB->Add(hptD0PTallLSCfromB);
2695 flistLsCutsFromB->Add(hptD0vsptBLSCfromB);
2696 flistLsCutsFromB->Add(hpD0vspBLSCfromB);
2697 flistLsCutsFromB->Add(hptD0vsptcquarkLSCfromB);
2698 flistLsCutsFromB->Add(hpD0vspcquarkLSCfromB);
2699
2700 TH1F *hd0zD0ptLSCfromB;
cc3209fb 2701 TH1F *hInvMassD0LSCfromB,*hInvMassD0barLSCfromB;
e047b348 2702 TH2F *hInvMassPtLSCfromB=new TH2F("hInvMassPtLSCfromB","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2703 TH1F *hetaLSCfromB;
2704 TH1F *hCosPDPBLSCfromB;
2705 TH1F *hCosPcPDLSCfromB;
2706 flistLsCutsFromB->Add(hInvMassPtLSCfromB);
2707 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
2708 TH2F *hd0D0VSd0xd0LSCfromBpt;
2709 TH2F *hangletracksVSd0xd0LSCfromBpt;
2710 TH2F *hangletracksVSd0D0LSCfromBpt;
2711 TH1F *hd0xd0LSCfromBpt;
2712
2713
2714 TH2F *hTOFpidLSCfromB=new TH2F("hTOFpidLSCfromB","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2715 flistLsCutsFromB->Add(hTOFpidLSCfromB);
2716
2717 for(Int_t i=0;i<fnbins;i++){
2718 namehist="hd0zD0ptLSCfromB_pt";
2719 namehist+=i;
2720 titlehist="d0(z) Loose Cuts FromBm ptbin=";
2721 titlehist+=i;
2722 hd0zD0ptLSCfromB=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2723 hd0zD0ptLSCfromB->SetXTitle("d_{0}(z) [#mum]");
2724 hd0zD0ptLSCfromB->SetYTitle("Entries");
2725 flistLsCutsFromB->Add(hd0zD0ptLSCfromB);
2726
cc3209fb 2727 namehist="hInvMassD0LSCfromB_pt";
e047b348 2728 namehist+=i;
2729 titlehist="Invariant Mass Loose Cuts FromB ptbin=";
2730 titlehist+=i;
cc3209fb 2731 hInvMassD0LSCfromB=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2732 hInvMassD0LSCfromB->SetXTitle("Invariant Mass [GeV]");
2733 hInvMassD0LSCfromB->SetYTitle("Entries");
2734 flistLsCutsFromB->Add(hInvMassD0LSCfromB);
2735
2736 namehist="hInvMassD0barLSCfromB_pt";
2737 namehist+=i;
2738 titlehist="Invariant Mass D0bar No Cuts FromB ptbin=";
2739 titlehist+=i;
2740 hInvMassD0barLSCfromB=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2741 hInvMassD0barLSCfromB->SetXTitle("Invariant Mass [GeV]");
2742 hInvMassD0barLSCfromB->SetYTitle("Entries");
2743 flistLsCutsFromB->Add(hInvMassD0barLSCfromB);
e047b348 2744
2745 namehist="hetaLSCfromB_pt";
2746 namehist+=i;
2747 titlehist="eta Loose Cuts FromB ptbin=";
2748 titlehist+=i;
2749 hetaLSCfromB=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2750 hetaLSCfromB->SetXTitle("Pseudorapidity");
2751 hetaLSCfromB->SetYTitle("Entries");
2752 flistLsCutsFromB->Add(hetaLSCfromB);
2753
2754 namehist="hCosPDPBLSCfromB_pt";
2755 namehist+=i;
2756 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
2757 titlehist+=i;
2758 hCosPDPBLSCfromB=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2759 hCosPDPBLSCfromB->SetXTitle("Cosine between D0 momentum and B momentum");
2760 hCosPDPBLSCfromB->SetYTitle("Entries");
2761 flistLsCutsFromB->Add(hCosPDPBLSCfromB);
2762
2763 namehist="hCosPcPDLSCfromB_pt";
2764 namehist+=i;
2765 titlehist="Cosine between cquark momentum and D0 momentum, ptbin=";
2766 titlehist+=i;
2767 hCosPcPDLSCfromB=new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2768 hCosPcPDLSCfromB->SetXTitle("Cosine between c quark momentum and D0 momentum");
2769 hCosPcPDLSCfromB->SetYTitle("Entries");
2770 flistLsCutsFromB->Add(hCosPcPDLSCfromB);
2771
2772 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
2773 namehist="hd0xd0LSCfromB_pt";
2774 namehist+=i;
2775 titlehist="d0xd0 Loose Cuts FromB ptbin=";
2776 titlehist+=i;
2777 hd0xd0LSCfromBpt=new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2778 hd0xd0LSCfromBpt->SetXTitle("d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2779 hd0xd0LSCfromBpt->SetYTitle("Entries");
2780 flistLsCutsFromB->Add(hd0xd0LSCfromBpt);
2781
2782
2783 namehist="hd0D0VSd0xd0LSCfromB_pt";
2784 namehist+=i;
2785 titlehist="d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
2786 titlehist+=i;
2787 hd0D0VSd0xd0LSCfromBpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2788 hd0D0VSd0xd0LSCfromBpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2789 hd0D0VSd0xd0LSCfromBpt->SetYTitle(" d_{0}^{D^{0}} [#mum]");
2790 flistLsCutsFromB->Add(hd0D0VSd0xd0LSCfromBpt);
2791
2792
2793 namehist="hangletracksVSd0xd0LSCfromB_pt";
2794 namehist+=i;
2795 titlehist="Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
2796 titlehist+=i;
2797 hangletracksVSd0xd0LSCfromBpt=new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2798 hangletracksVSd0xd0LSCfromBpt->SetXTitle(" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2799 hangletracksVSd0xd0LSCfromBpt->SetYTitle(" angle between K and #p tracks [rad]");
2800 flistLsCutsFromB->Add(hangletracksVSd0xd0LSCfromBpt);
2801
2802
2803 namehist="hangletracksVSd0D0LSCfromB_pt";
2804 namehist+=i;
2805 titlehist="Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromB ptbin=";
2806 titlehist+=i;
2807 hangletracksVSd0D0LSCfromBpt=new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2808 hangletracksVSd0D0LSCfromBpt->SetXTitle(" d_{0}^{D^{0}} [#mum]");
2809 hangletracksVSd0D0LSCfromBpt->SetYTitle(" angle between K and #p tracks [rad]");
2810 flistLsCutsFromB->Add(hangletracksVSd0D0LSCfromBpt);
2811
2812 }
2813 // %%%%%%%% END OF NEW HISTOS %%%%%%%%%%%%%
2814 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2815
2816
2817
2818
2819
624c07ab 2820 // ######### d0 D0 histos ##############
ac4c229c 2821 TH1F *hd0D0LSCfromBPM = new TH1F("hd0D0LSCfromBPM","D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
2822 hd0D0LSCfromBPM->SetXTitle("Impact parameter [#mum]");
2823 hd0D0LSCfromBPM->SetYTitle("Entries");
2824
2825 TH1F *hd0D0VtxTrueLSCfromBPM = new TH1F("hd0D0VtxTrueLSCfromBPM","D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
2826 hd0D0VtxTrueLSCfromBPM->SetXTitle("Impact parameter [#mum]");
2827 hd0D0VtxTrueLSCfromBPM->SetYTitle("Entries");
2828
2829 TH1F *hMCd0D0LSCfromBPM = new TH1F("hMCd0D0LSCfromBPM","D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
2830 hMCd0D0LSCfromBPM->SetXTitle("MC Impact parameter [#mum]");
2831 hMCd0D0LSCfromBPM->SetYTitle("Entries");
2832
2833 TH1F *hd0D0LSCfromBSB = new TH1F("hd0D0LSCfromBSB","D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
2834 hd0D0LSCfromBSB->SetXTitle("Impact parameter [#mum]");
2835 hd0D0LSCfromBSB->SetYTitle("Entries");
2836
2837 TH1F *hd0D0VtxTrueLSCfromBSB = new TH1F("hd0D0VtxTrueLSCfromBSB","D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
2838 hd0D0VtxTrueLSCfromBSB->SetXTitle("Impact parameter [#mum]");
2839 hd0D0VtxTrueLSCfromBSB->SetYTitle("Entries");
2840
2841 TH1F *hMCd0D0LSCfromBSB = new TH1F("hMCd0D0LSCfromBSB","D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
2842 hMCd0D0LSCfromBSB->SetXTitle("MC Impact parameter [#mum]");
2843 hMCd0D0LSCfromBSB->SetYTitle("Entries");
2844
2845 flistLsCutsFromB->Add(hd0D0LSCfromBPM);
2846 flistLsCutsFromB->Add(hd0D0VtxTrueLSCfromBPM);
2847 flistLsCutsFromB->Add(hMCd0D0LSCfromBPM);
2848 flistLsCutsFromB->Add(hd0D0LSCfromBSB);
2849 flistLsCutsFromB->Add(hd0D0VtxTrueLSCfromBSB);
2850 flistLsCutsFromB->Add(hMCd0D0LSCfromBSB);
2851
e047b348 2852 TH1F *hd0D0ptLSCfromBPM;
2853 TH1F *hMCd0D0ptLSCfromBPM;
2854 TH1F *hd0D0VtxTrueptLSCfromBPM;
2855 TH1F *hd0D0ptLSCfromBSB;
2856 TH1F *hMCd0D0ptLSCfromBSB;
2857 TH1F *hd0D0VtxTrueptLSCfromBSB;
ac4c229c 2858 namehist="hd0D0ptLSCfromB_";
624c07ab 2859 titlehist="D^{0} impact par. plot, Loose Cuts, FromB, ";
2860 for(Int_t i=0;i<fnbins;i++){
2861 strnamept=namehist;
2862 strnamept.Append("PkMss_pt");
2863 strnamept+=i;
2864
2865 strtitlept=titlehist;
2866 strtitlept.Append(" Mass Peak, ");
2867 strtitlept+=fptbins[i];
2868 strtitlept.Append("<= pt <");
2869 strtitlept+=fptbins[i+1];
2870 strtitlept.Append(" [GeV/c]");
2871
e047b348 2872 hd0D0ptLSCfromBPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2873 hd0D0ptLSCfromBPM->SetXTitle("Impact parameter [#mum] ");
2874 hd0D0ptLSCfromBPM->SetYTitle("Entries");
2875 flistLsCutsFromB->Add(hd0D0ptLSCfromBPM);
624c07ab 2876
2877 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2878 hMCd0D0ptLSCfromBPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2879 hMCd0D0ptLSCfromBPM->SetXTitle("MC Impact parameter [#mum] ");
2880 hMCd0D0ptLSCfromBPM->SetYTitle("Entries");
2881 flistLsCutsFromB->Add(hMCd0D0ptLSCfromBPM);
624c07ab 2882
2883
2884 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2885 hd0D0VtxTrueptLSCfromBPM = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2886 hd0D0VtxTrueptLSCfromBPM->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2887 hd0D0VtxTrueptLSCfromBPM->SetYTitle("Entries");
2888 flistLsCutsFromB->Add(hd0D0VtxTrueptLSCfromBPM);
624c07ab 2889
2890 strnamept=namehist;
2891 strnamept.Append("SBMss_pt");
2892 strnamept+=i;
2893
2894 strtitlept=titlehist;
2895 strtitlept.Append(" Side Bands, ");
2896 strtitlept+=fptbins[i];
2897 strtitlept.Append("<= pt <");
2898 strtitlept+=fptbins[i+1];
2899 strtitlept.Append(" [GeV/c]");
2900
e047b348 2901 hd0D0ptLSCfromBSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2902 hd0D0ptLSCfromBSB->SetXTitle("Impact parameter [#mum] ");
2903 hd0D0ptLSCfromBSB->SetYTitle("Entries");
2904 flistLsCutsFromB->Add(hd0D0ptLSCfromBSB);
624c07ab 2905
2906 strnamept.ReplaceAll("hd0D0","hMCd0D0");
e047b348 2907 hMCd0D0ptLSCfromBSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2908 hMCd0D0ptLSCfromBSB->SetXTitle("MC Impact parameter [#mum] ");
2909 hMCd0D0ptLSCfromBSB->SetYTitle("Entries");
2910 flistLsCutsFromB->Add(hMCd0D0ptLSCfromBSB);
624c07ab 2911
2912 strnamept.ReplaceAll("hMCd0D0","hd0D0VtxTrue");
e047b348 2913 hd0D0VtxTrueptLSCfromBSB = new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2914 hd0D0VtxTrueptLSCfromBSB->SetXTitle("Impact parameter w.r.t. True Vtx [#mum] ");
2915 hd0D0VtxTrueptLSCfromBSB->SetYTitle("Entries");
2916 flistLsCutsFromB->Add(hd0D0VtxTrueptLSCfromBSB);
624c07ab 2917 }
2918
2919
2920
2921 //############ LOOSE CUTS FROM DSTAR HISTOGRAMS ###########
2922 //
2923 //############## global properties histos
e047b348 2924 TH2F *hCPtaVSd0d0LSCfromDstar=new TH2F("hCPtaVSd0d0LSCfromDstar","hCPtaVSd0d0_LooseCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
ac4c229c 2925 TH1F *hSecVtxZLSCfromDstar=new TH1F("hSecVtxZLSCfromDstar","hSecVtxZ_LooseCuts_FromDStar",1000,-8.,8.);
2926 TH1F *hSecVtxXLSCfromDstar=new TH1F("hSecVtxXLSCfromDstar","hSecVtxX_LooseCuts_FromDStar",1000,-3000.,3000.);
2927 TH1F *hSecVtxYLSCfromDstar=new TH1F("hSecVtxYLSCfromDstar","hSecVtxY_LooseCuts_FromDStar",1000,-3000.,3000.);
2928 TH2F *hSecVtxXYLSCfromDstar=new TH2F("hSecVtxXYLSCfromDstar","hSecVtxXY_LooseCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
2929 TH1F *hSecVtxPhiLSCfromDstar=new TH1F("hSecVtxPhiLSCfromDstar","hSecVtxPhi_LooseCuts_FromDStar",180,-180.1,180.1);
e047b348 2930 TH1F *hd0singlTrackLSCfromDstar=new TH1F("hd0singlTrackLSCfromDstar","hd0singlTrackLooseCuts_FromDstar",1000,-5000.,5000.);
2931 TH1F *hCPtaLSCfromDstar=new TH1F("hCPtaLSCfromDstar","hCPta_LooseCuts_FromDStar",100,-1.,1.);
ac4c229c 2932 TH1F *hd0xd0LSCfromDstar=new TH1F("hd0xd0LSCfromDstar","hd0xd0_LooseCuts_FromDStar",1000,-100000.,100000.);
2933 TH1F *hMassTrueLSCfromDstar=new TH1F("hMassTrueLSCfromDstar","D^{0} MC inv. Mass Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
2934 TH1F *hMassLSCfromDstar=new TH1F("hMassLSCfromDstar","D^{0} inv. Mass Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
2935 hMassLSCfromDstar->Sumw2();
2936 TH1F *hMassTrueLSCfromDstarPM=new TH1F("hMassTrueLSCfromDstarPM","D^{0} MC inv. Mass Loose Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
2937 TH1F *hMassLSCfromDstarPM=new TH1F("hMassLSCfromDstarPM","D^{0} inv. Mass Loose Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
2938 hMassLSCfromDstarPM->Sumw2();
2939 TH1F *hMassTrueLSCfromDstarSB=new TH1F("hMassTrueLSCfromDstarSB","D^{0} MC inv. Mass in Side Bands Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
2940 TH1F *hMassLSCfromDstarSB=new TH1F("hMassLSCfromDstarSB","D^{0} inv. Mass in Side Bands Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
2941 hMassLSCfromDstarSB->Sumw2();
2942
2943 flistLsCutsFromDstar->Add(hCPtaVSd0d0LSCfromDstar);
2944 flistLsCutsFromDstar->Add(hSecVtxZLSCfromDstar);
2945 flistLsCutsFromDstar->Add(hSecVtxYLSCfromDstar);
2946 flistLsCutsFromDstar->Add(hSecVtxXLSCfromDstar);
2947 flistLsCutsFromDstar->Add(hSecVtxXYLSCfromDstar);
2948 flistLsCutsFromDstar->Add(hSecVtxPhiLSCfromDstar);
e047b348 2949 flistLsCutsFromDstar->Add(hd0singlTrackLSCfromDstar);
ac4c229c 2950 flistLsCutsFromDstar->Add(hCPtaLSCfromDstar);
2951 flistLsCutsFromDstar->Add(hd0xd0LSCfromDstar);
2952 flistLsCutsFromDstar->Add(hMassTrueLSCfromDstar);
2953 flistLsCutsFromDstar->Add(hMassLSCfromDstar);
e047b348 2954 flistLsCutsFromDstar->Add(hMassTrueLSCfromDstarPM);
ac4c229c 2955 flistLsCutsFromDstar->Add(hMassLSCfromDstarPM);
2956 flistLsCutsFromDstar->Add(hMassTrueLSCfromDstarSB);
2957 flistLsCutsFromDstar->Add(hMassLSCfromDstarSB);
624c07ab 2958
e047b348 2959
2960
2961
2962
2963
2964
2965 //%%% NEW HISTOS %%%%%%%%%%%%%%%%
2966 TH1F *hdcaLSCfromDstar=new TH1F("hdcaLSCfromDstar","hdca_LooseCuts_FromDstar",100,0.,1000.);
2967 hdcaLSCfromDstar->SetXTitle("dca [#mum]");
2968 hdcaLSCfromDstar->SetYTitle("Entries");
2969 TH1F *hcosthetastarLSCfromDstar=new TH1F("hcosthetastarLSCfromDstar","hCosThetaStar_LooseCuts_FromDstar",50,-1.,1.);
2970 hcosthetastarLSCfromDstar->SetXTitle("cos #theta^{*}");
2971 hcosthetastarLSCfromDstar->SetYTitle("Entries");
2972 TH1F *hptD0LSCfromDstar=new TH1F("hptD0LSCfromDstar","D^{0} transverse momentum distribution",34,ptbinsD0arr);
2973 hptD0LSCfromDstar->SetXTitle("p_{t} [GeV/c]");
2974 hptD0LSCfromDstar->SetYTitle("Entries");
2975 TH1F *hptD0VsMaxPtLSCfromDstar=new TH1F("hptD0VsMaxPtLSCfromDstar","Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2976 TH2F *hptD0PTallsqrtLSCfromDstar=new TH2F("hptD0PTallsqrtLSCfromDstar","D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2977 TH2F *hptD0PTallLSCfromDstar=new TH2F("hptD0PTallLSCfromDstar","D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2978 TH2F *hptD0vsptBLSCfromDstar=new TH2F("hptD0vsptBLSCfromDstar","D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2979 TH2F *hpD0vspBLSCfromDstar=new TH2F("hpD0vspBLSCfromDstar","D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2980 TH2F *hptD0vsptcquarkLSCfromDstar=new TH2F("hptD0vsptcquarkLSCfromDstar","D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2981 TH2F *hpD0vspcquarkLSCfromDstar=new TH2F("hpD0vspcquarkLSCfromDstar","D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2982 flistLsCutsFromDstar->Add(hdcaLSCfromDstar);
2983 flistLsCutsFromDstar->Add(hcosthetastarLSCfromDstar);
2984 flistLsCutsFromDstar->Add(hptD0LSCfromDstar);
2985 flistLsCutsFromDstar->Add(hptD0VsMaxPtLSCfromDstar);
2986 flistLsCutsFromDstar->Add(hptD0PTallsqrtLSCfromDstar);
2987 flistLsCutsFromDstar->Add(hptD0PTallLSCfromDstar);
2988 flistLsCutsFromDstar->Add(hptD0vsptBLSCfromDstar);
2989 flistLsCutsFromDstar->Add(hpD0vspBLSCfromDstar);
2990 flistLsCutsFromDstar->Add(hptD0vsptcquarkLSCfromDstar);
2991 flistLsCutsFromDstar->Add(hpD0vspcquarkLSCfromDstar);
2992
2993 TH1F *hd0zD0ptLSCfromDstar;
cc3209fb 2994 TH1F *hInvMassD0LSCfromDstar,*hInvMassD0barLSCfromDstar;
e047b348 2995 TH2F *hInvMassPtLSCfromDstar=new TH2F("hInvMassPtLSCfromDstar","Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2996 TH1F *hetaLSCfromDstar;
2997 TH1F *hCosPDPBLSCfromDstar;
2998 TH1F *hCosPcPDLSCfromDstar;
2999 flistLsCutsFromDstar->Add(hInvMassPtLSCfromDstar);
3000 // %%%%%%%%%%% HERE THE ADDITIONAL HISTS %%%%%%%%%%%%%%%%%
3001 TH2F *hd0D0VSd0xd0LSCfromDstarpt;
3002 TH2F *hangletracksVSd0xd0LSCfromDstarpt;
3003 TH2F *hangletracksVSd0D0LSCfromDstarpt;
3004 TH1F *hd0xd0LSCfromDstarpt;
3005
3006 TH2F *hTOFpidLSCfromDstar=new TH2F("hTOFpidLSCfromDstar","TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3007 flistLsCutsFromDstar->Add(hTOFpidLSCfromDstar);
3008
3009 for(Int_t i=0;i<fnbins;i++){
3010 namehist="hd0zD0ptLSCfromDstar_pt";
3011 namehist+=i;
3012 titlehist="d0(z) Loose Cuts FromDstarm ptbin=";
3013 titlehist+=i;
3014 hd0zD0ptLSCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3015 hd0zD0ptLSCfromDstar->SetXTitle("d_{0}(z) [#mum]");
3016 hd0zD0ptLSCfromDstar->SetYTitle("Entries");
3017 flistLsCutsFromDstar->Add(hd0zD0ptLSCfromDstar);
3018
cc3209fb 3019 namehist="hInvMassD0LSCfromDstar_pt";
e047b348 3020 namehist+=i;
3021 titlehist="Invariant Mass Loose Cuts FromDstar ptbin=";
3022 titlehist+=i;
cc3209fb 3023 hInvMassD0LSCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3024 hInvMassD0LSCfromDstar->SetXTitle("Invariant Mass [GeV]");
3025 hInvMassD0LSCfromDstar->SetYTitle("Entries");
3026 flistLsCutsFromDstar->Add(hInvMassD0LSCfromDstar);
3027
3028 namehist="hInvMassD0barLSCfromDstar_pt";
3029 namehist+=i;
3030 titlehist="Invariant Mass D0bar No Cuts FromDstar ptbin=";
3031 titlehist+=i;
3032 hInvMassD0barLSCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3033 hInvMassD0barLSCfromDstar->SetXTitle("Invariant Mass [GeV]");
3034 hInvMassD0barLSCfromDstar->SetYTitle("Entries");
3035 flistLsCutsFromDstar->Add(hInvMassD0barLSCfromDstar);
e047b348 3036
3037 namehist="hetaLSCfromDstar_pt";
3038 namehist+=i;
3039 titlehist="eta Loose Cuts FromDstar ptbin=";
3040 titlehist+=i;
3041 hetaLSCfromDstar=new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3042 hetaLSCfromDstar->SetXTitle("Pseudorapidity");
3043 hetaLSCfromDstar->SetYTitle("Entries");
3044 flistLsCutsFromDstar->Add(hetaLSCfromDstar);
3045
3046 namehist="hCosPDPBLSCfromDstar_pt";
3047 namehist+=i;
3048 titlehist="Cosine between D0 momentum and B momentum, ptbin=";
3049 titleh