30 #include <THnSparse.h>
31 #include <TDatabasePDG.h>
34 #include "AliAODEvent.h"
37 #include "AliAODRecoDecay.h"
38 #include "AliAnalysisDataSlot.h"
39 #include "AliAnalysisDataContainer.h"
40 #include "AliAODTrack.h"
41 #include "AliAODHandler.h"
42 #include "AliESDtrack.h"
43 #include "AliAODVertex.h"
44 #include "AliESDVertex.h"
45 #include "AliVertexerTracks.h"
46 #include "AliAODMCParticle.h"
47 #include "AliAODPid.h"
48 #include "AliTPCPIDResponse.h"
49 #include "AliAODMCHeader.h"
53 #include "AliAODInputHandler.h"
54 #include "AliAnalysisManager.h"
76 fsplitMassD0D0bar(kTRUE),
89 fsidebandInvMassCut(),
90 fsidebandInvMassWindow(),
92 fCleanCandOwnVtx(kFALSE),
97 fSignalTypeTghCuts(0),
100 flistNoCutsSignal(0),
103 flistNoCutsFromDstar(0),
105 flistLsCutsSignal(0),
108 flistLsCutsFromDstar(0),
110 flistTghCutsSignal(0),
112 flistTghCutsFromB(0),
113 flistTghCutsFromDstar(0),
114 flistTghCutsOther(0),
116 fselectForUpgrade(0),
117 fskipEventSelection(kFALSE),
130 fTreeRecoLSCfromB(0),
131 fTreeLSCfromDstar(0),
136 fTreeRecoTGHCfromB(0),
137 fTreeTGHCfromDstar(0),
139 fVariablesTreeNCsign(),
140 fVariablesTreeNCback(),
141 fVariablesTreeNCfromB(),
142 fVariablesTreeRecoNCfromB(),
143 fVariablesTreeNCfromDstar(),
144 fVariablesTreeNCother(),
145 fVariablesTreeLSCsign(),
146 fVariablesTreeLSCback(),
147 fVariablesTreeLSCfromB(),
148 fVariablesTreeRecoLSCfromB(),
149 fVariablesTreeLSCfromDstar(),
150 fVariablesTreeLSCother(),
151 fVariablesTreeTGHCsign(),
152 fVariablesTreeTGHCback(),
153 fVariablesTreeTGHCfromB(),
154 fVariablesTreeRecoTGHCfromB(),
155 fVariablesTreeTGHCfromDstar(),
156 fVariablesTreeTGHCother()
166 fLightOutput(kFALSE),
169 fsplitMassD0D0bar(kTRUE),
180 fsignalInvMassCut(-1.),
181 flargeInvMassCut(-1.),
182 fsidebandInvMassCut(-1.),
183 fsidebandInvMassWindow(-1.),
185 fCleanCandOwnVtx(kFALSE),
189 fSignalTypeLsCuts(0),
190 fSignalTypeTghCuts(0),
192 flistMCproperties(0),
193 flistNoCutsSignal(0),
196 flistNoCutsFromDstar(0),
198 flistLsCutsSignal(0),
201 flistLsCutsFromDstar(0),
203 flistTghCutsSignal(0),
205 flistTghCutsFromB(0),
206 flistTghCutsFromDstar(0),
207 flistTghCutsOther(0),
209 fselectForUpgrade(0),
210 fskipEventSelection(kFALSE),
223 fTreeRecoLSCfromB(0),
224 fTreeLSCfromDstar(0),
229 fTreeRecoTGHCfromB(0),
230 fTreeTGHCfromDstar(0),
232 fVariablesTreeNCsign(),
233 fVariablesTreeNCback(),
234 fVariablesTreeNCfromB(),
235 fVariablesTreeRecoNCfromB(),
236 fVariablesTreeNCfromDstar(),
237 fVariablesTreeNCother(),
238 fVariablesTreeLSCsign(),
239 fVariablesTreeLSCback(),
240 fVariablesTreeLSCfromB(),
241 fVariablesTreeRecoLSCfromB(),
242 fVariablesTreeLSCfromDstar(),
243 fVariablesTreeLSCother(),
244 fVariablesTreeTGHCsign(),
245 fVariablesTreeTGHCback(),
246 fVariablesTreeTGHCfromB(),
247 fVariablesTreeRecoTGHCfromB(),
248 fVariablesTreeTGHCfromDstar(),
249 fVariablesTreeTGHCother()
260 DefineOutput(1, TH1F::Class());
261 DefineOutput(2, TH1F::Class());
262 DefineOutput(3, TH1F::Class());
263 DefineOutput(4, TH1F::Class());
264 DefineOutput(5, AliNormalizationCounter::Class());
266 for(
Int_t j=6;j<22;j++){
267 DefineOutput(j, TList::Class());
271 DefineOutput(22,AliRDHFCutsD0toKpi::Class());
272 DefineOutput(23,AliRDHFCutsD0toKpi::Class());
282 fLightOutput(kFALSE),
285 fsplitMassD0D0bar(kTRUE),
296 fsignalInvMassCut(-1.),
297 flargeInvMassCut(-1.),
298 fsidebandInvMassCut(-1.),
299 fsidebandInvMassWindow(-1.),
301 fCleanCandOwnVtx(kFALSE),
305 fSignalTypeLsCuts(0),
306 fSignalTypeTghCuts(0),
308 flistMCproperties(0),
309 flistNoCutsSignal(0),
312 flistNoCutsFromDstar(0),
314 flistLsCutsSignal(0),
317 flistLsCutsFromDstar(0),
319 flistTghCutsSignal(0),
321 flistTghCutsFromB(0),
322 flistTghCutsFromDstar(0),
323 flistTghCutsOther(0),
325 fselectForUpgrade(0),
326 fskipEventSelection(kFALSE),
339 fTreeRecoLSCfromB(0),
340 fTreeLSCfromDstar(0),
345 fTreeRecoTGHCfromB(0),
346 fTreeTGHCfromDstar(0),
348 fVariablesTreeNCsign(),
349 fVariablesTreeNCback(),
350 fVariablesTreeNCfromB(),
351 fVariablesTreeRecoNCfromB(),
352 fVariablesTreeNCfromDstar(),
353 fVariablesTreeNCother(),
354 fVariablesTreeLSCsign(),
355 fVariablesTreeLSCback(),
356 fVariablesTreeLSCfromB(),
357 fVariablesTreeRecoLSCfromB(),
358 fVariablesTreeLSCfromDstar(),
359 fVariablesTreeLSCother(),
360 fVariablesTreeTGHCsign(),
361 fVariablesTreeTGHCback(),
362 fVariablesTreeTGHCfromB(),
363 fVariablesTreeRecoTGHCfromB(),
364 fVariablesTreeTGHCfromDstar(),
365 fVariablesTreeTGHCother()
377 printf(
"Different number of pt bins between the two sets of cuts: SWITCH TO STANDARD CUTS \n");
385 printf(
"Different pt bin limits in the two set of cuts: use the first as reference \n");
395 DefineOutput(1, TH1F::Class());
396 DefineOutput(2, TH1F::Class());
397 DefineOutput(3, TH1F::Class());
398 DefineOutput(4, TH1F::Class());
399 DefineOutput(5, AliNormalizationCounter::Class());
401 for(
Int_t j=6;j<22;j++){
403 DefineOutput(j, TList::Class());
406 DefineOutput(22,AliRDHFCutsD0toKpi::Class());
407 DefineOutput(23,AliRDHFCutsD0toKpi::Class());
546 if(fDebug > 1) printf(
"AnalysisTaskSED0Mass::Init() \n");
547 fmD0PDG = TDatabasePDG::Instance()->GetParticle(421)->Mass();
556 printf(
"AliAnalysisTaskSECharmFraction: Not All info for mass selection provided: switch to default values \n");
561 const char* nameoutputTight=GetOutputSlot(22)->GetContainer()->GetName();
562 copyfCutsTight->SetName(nameoutputTight);
564 const char* nameoutputLoose=GetOutputSlot(23)->GetContainer()->GetName();
565 copyfCutsLoose->SetName(nameoutputLoose);
568 PostData(22,copyfCutsTight);
569 PostData(23,copyfCutsLoose);
574 printf(
"Two cut objects have different selection for primary vertex recalculation w/o daughters:\n Dangerous for variable drawing!! \n");
621 Printf(
"INSIDE USER CREATE \n");
625 fNentries=
new TH1F(
"nentriesChFr",
"Analyzed sample properties", 21,-0.5,20.5);
627 fNentries->GetXaxis()->SetBinLabel(1,
"nEventsAnal");
629 fNentries->GetXaxis()->SetBinLabel(2,
"nEvTGHTsel");
630 fNentries->GetXaxis()->SetBinLabel(3,
"nEvTGHTPile-up Rej");
631 fNentries->GetXaxis()->SetBinLabel(4,
"nEvTGHTGoodVtxS");
632 fNentries->GetXaxis()->SetBinLabel(5,
"nEvTGHTRejVtxZ");
633 fNentries->GetXaxis()->SetBinLabel(6,
"nTracksTGHTEv");
634 fNentries->GetXaxis()->SetBinLabel(7,
"nCandTGHTEv");
635 fNentries->GetXaxis()->SetBinLabel(8,
"nCandSelTGHTEv");
636 fNentries->GetXaxis()->SetBinLabel(20,
"nUnexpErrorTGHT");
638 fNentries->GetXaxis()->SetBinLabel(9,
"nEvLSsel");
639 fNentries->GetXaxis()->SetBinLabel(10,
"nEvLSPile-up Rej");
640 fNentries->GetXaxis()->SetBinLabel(11,
"nEvLSGoodVtxS");
641 fNentries->GetXaxis()->SetBinLabel(12,
"nEvLSRejVtxZ");
642 fNentries->GetXaxis()->SetBinLabel(13,
"nTracksLSEv");
643 fNentries->GetXaxis()->SetBinLabel(14,
"nCandLSEv");
644 fNentries->GetXaxis()->SetBinLabel(15,
"nCandSelLSEv");
645 fNentries->GetXaxis()->SetBinLabel(21,
"nUnexpErrorTGHT");
661 fNentries->GetXaxis()->SetNdivisions(1,kFALSE);
663 fSignalType=
new TH1F(
"hsignaltype",
"Histo for type of MC signal", 61,-1.,60.);
664 fSignalTypeLsCuts=
new TH1F(
"hsignaltypeLsCuts",
"Histo for type of MC signal with loose cuts", 61,-1.,60.);
665 fSignalTypeTghCuts=
new TH1F(
"hsignaltypeTghCuts",
"Histo for type of MC signal with tight cuts", 61,-1.,60.);
741 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.};
743 for(
Int_t j=0;j<201;j++){
748 const Int_t nPtbinsForSparse=91;
749 Double_t ptbinsForNsparse[nPtbinsForSparse];
751 Double_t massbins[186],impparbins[401];
752 Double_t massHypoBins[4]={1.,2.,3.,4.};
753 Int_t nbinsSparse[5]={185,185,nPtbinsForSparse-1,400,3};
754 for(
Int_t nBins=0;nBins<nPtbinsForSparse;nBins++){
755 ptbinsForNsparse[nBins]=pT;
757 else if(pT<20)pT+=0.5;
759 else if(pT<70)pT+=5.;
761 for(
Int_t nBins=0;nBins<186;nBins++){
762 massbins[nBins]=1.680+nBins*(2.050-1.680)/185.;
764 for(
Int_t nBins=0;nBins<401;nBins++){
765 impparbins[nBins]=-1000+nBins*(2000.)/400.;
784 TH1F *hMCcquarkAllPt=
new TH1F(
"hMCcquarkAllPt",
"c quark Pt (all cquarks produced)",34,ptbinsD0arr);
785 TH1F *hMCcquarkAllEta=
new TH1F(
"hMCcquarkAllEta",
"c quark Eta (all cquarks produced)",50,-3.,3.);
786 TH1F *hMCcquarkAllEnergy=
new TH1F(
"hMCcquarkAllEnergy",
"c quark Pt (all cquarks produced)",200,0.,100.);
787 TH1F *hMCcquarkNdaught=
new TH1F(
"hMCcquarkNdaught",
"N cquark daughters (all cquarks produced)",100,0.,100.);
788 TH1F *hMCD0fromcPt=
new TH1F(
"hMCD0fromcPt",
"D0 from c Pt",34,ptbinsD0arr);
789 TH1F *hMCD0fromcEta=
new TH1F(
"hMCD0fromcEta",
"D0 from c Eta",50,-3.,3.);
790 TH1F *hMCD0fromcEnergy=
new TH1F(
"hMCD0fromcEnergy",
"D0 from c Energy",200,0.,100.);
792 TH2F *hMCD0VscquarkPt=
new TH2F(
"hMCD0VscquarkPt",
"D0 pt Vs cquark pt",34,ptbinsD0arr,34,ptbinsD0arr);
793 TH2F *hMCD0VscquarkEnergy=
new TH2F(
"hMCD0VscquarkEnergy",
"D0 Energy Vs cquark Energy",200,0.,50.,200,0.,50.);
794 TH1F *hMCD0deltacquarkEnergy=
new TH1F(
"hMCD0deltacquarkEnergy",
"Fractional D0 Energy w.r.t. cquark Energy",20,0.,1.);
795 TH1F *hMCD0EnergyVsAvcquarkDaughtEn=
new TH1F(
"hMCD0EnergyVsAvcquarkDaughtEn",
"#Delta(E^{D^0}-E_{avg})/E_{cquark}",40,-1.,1.);
796 TH1F *hMCD0cquarkAngle=
new TH1F(
"hMCD0cquarkAngle",
"cosine of the angle between D0 and c quark particle",40,-1.,1.);
797 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.);
799 TH1I *hMCfromBpdgB=
new TH1I(
"hMCfromBpdgB",
"hMCfromBpdgB",10000,0.,10000);
800 TH1F *hMCBhadrPt=
new TH1F(
"hMCBhadrPt",
"B hadr Pt",34,ptbinsD0arr);
801 TH1F *hMCBhadrEta=
new TH1F(
"hMCBhadrEta",
"B hadr Eta",50,-3.,3.);
802 TH1F *hMCBhadrEnergy=
new TH1F(
"hMCBhadrEnergy",
"B hadr Pt",200,0.,100.);
803 TH1F *hMCBhadrNdaught=
new TH1F(
"hMCBhadrNdaught",
"N Bhadr daughters",100,0.,100.);
804 TH1F *hMCD0fromBPt=
new TH1F(
"hMCD0fromBPt",
"D0 from B Pt",34,ptbinsD0arr);
805 TH1F *hMCD0fromBEta=
new TH1F(
"hMCD0fromBEta",
"D0 from B Eta",50,-3.,3.);
806 TH1F *hMCD0fromBEnergy=
new TH1F(
"hMCD0fromBEnergy",
"D0 from B Energy",200,0.,100.);
808 TH2F *hMCD0VsBhadrPt=
new TH2F(
"hMCD0VsBhadrPt",
"D0 pt Vs Bhadr pt",34,ptbinsD0arr,34,ptbinsD0arr);
809 TH2F *hMCD0VsBhadrEnergy=
new TH2F(
"hMCD0VsBhadrEnergy",
"D0 Energy Vs Bhadr Energy",200,0.,50.,200,0.,50.);
810 TH1F *hMCD0deltaBhadrEnergy=
new TH1F(
"hMCD0deltaBhadrEnergy",
"Fractional D0 Energy w.r.t. Bhadr Energy",20,0.,1.);
811 TH1F *hMCD0EnergyVsAvBDaughtEn=
new TH1F(
"hMCD0EnergyVsAvBDaughtEn",
"#Delta(E^{D^0}-E_{avg})/E_{Bahdr}",40,-1.,1.);
812 TH1F *hMCD0BhadrAngle=
new TH1F(
"hMCD0BhadrAngle",
"cosine of the angle between D0 and Bhadr particle",40,-1.,1.);
813 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.);
815 TH1I *hMCPartFound=
new TH1I(
"hMCPartFound",
"1=c,2=D0,3=fromBall,4=fromBmeson,5=fromBbaryon",6,0,6);
853 Printf(
"AFTER MC HISTOS \n");
859 TH2F *hCPtaVSd0d0NCsign=
new TH2F(
"hCPtaVSd0d0NCsign",
"hCPtaVSd0d0_NoCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
860 TH1F *hSecVtxZNCsign=
new TH1F(
"hSecVtxZNCsign",
"hSecVtxZ_NoCuts_Signal",1000,-8.,8.);
861 TH1F *hSecVtxXNCsign=
new TH1F(
"hSecVtxXNCsign",
"hSecVtxX_NoCuts_Signal",1000,-3000.,3000.);
862 TH1F *hSecVtxYNCsign=
new TH1F(
"hSecVtxYNCsign",
"hSecVtxY_NoCuts_Signal",1000,-3000.,3000.);
863 TH2F *hSecVtxXYNCsign=
new TH2F(
"hSecVtxXYNCsign",
"hSecVtxXY_NoCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
864 TH1F *hSecVtxPhiNCsign=
new TH1F(
"hSecVtxPhiNCsign",
"hSecVtxPhi_NoCuts_Signal",180,-180.1,180.1);
865 TH1F *hd0singlTrackNCsign=
new TH1F(
"hd0singlTrackNCsign",
"hd0singlTrackNoCuts_Signal",1000,-5000.,5000.);
866 TH1F *hCPtaNCsign=
new TH1F(
"hCPtaNCsign",
"hCPta_NoCuts_Signal",100,-1.,1.);
867 TH1F *hd0xd0NCsign=
new TH1F(
"hd0xd0NCsign",
"hd0xd0_NoCuts_Signal",1000,-100000.,100000.);
868 TH1F *hMassTrueNCsign=
new TH1F(
"hMassTrueNCsign",
"D^{0} MC inv. Mass No Cuts Signal(All momenta)",600,1.600,2.200);
869 TH1F *hMassNCsign=
new TH1F(
"hMassNCsign",
"D^{0} inv. Mass No Cuts Signal (All momenta)",600,1.600,2.200);
870 hMassNCsign->Sumw2();
871 TH1F *hMassTrueNCsignPM=
new TH1F(
"hMassTrueNCsignPM",
"D^{0} MC inv. Mass No Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
872 TH1F *hMassNCsignPM=
new TH1F(
"hMassNCsignPM",
"D^{0} inv. Mass No Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
873 hMassNCsignPM->Sumw2();
875 TH1F *hMassTrueNCsignSB=
new TH1F(
"hMassTrueNCsignSB",
"D^{0} MC inv. Mass in Side Bands No Cuts Signal(All momenta)",600,1.600,2.200);
876 TH1F *hMassNCsignSB=
new TH1F(
"hMassNCsignSB",
"D^{0} inv. Mass in Side Bands No Cuts Signal (All momenta)",600,1.600,2.200);
877 hMassNCsignSB->Sumw2();
896 TH1F *hdcaNCsign=
new TH1F(
"hdcaNCsign",
"hdca_NoCuts_Signal",100,0.,1000.);
897 hdcaNCsign->SetXTitle(
"dca [#mum]");
898 hdcaNCsign->SetYTitle(
"Entries");
899 TH1F *hcosthetastarNCsign=
new TH1F(
"hcosthetastarNCsign",
"hCosThetaStar_NoCuts_Signal",50,-1.,1.);
900 hcosthetastarNCsign->SetXTitle(
"cos #theta^{*}");
901 hcosthetastarNCsign->SetYTitle(
"Entries");
902 TH1F *hptD0NCsign=
new TH1F(
"hptD0NCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
903 hptD0NCsign->SetXTitle(
"p_{t} [GeV/c]");
904 hptD0NCsign->SetYTitle(
"Entries");
905 TH1F *hptD0VsMaxPtNCsign=
new TH1F(
"hptD0VsMaxPtNCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
906 TH2F *hptD0PTallsqrtNCsign=
new TH2F(
"hptD0PTallsqrtNCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
907 TH2F *hptD0PTallNCsign=
new TH2F(
"hptD0PTallNCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
908 TH2F *hptD0vsptBNCsign=
new TH2F(
"hptD0vsptBNCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
909 TH2F *hpD0vspBNCsign=
new TH2F(
"hpD0vspBNCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
910 TH2F *hptD0vsptcquarkNCsign=
new TH2F(
"hptD0vsptcquarkNCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
911 TH2F *hpD0vspcquarkNCsign=
new TH2F(
"hpD0vspcquarkNCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
923 TH1F *hd0zD0ptNCsign;
924 TH1F *hInvMassD0NCsign,*hInvMassD0barNCsign;
925 TH2F *hInvMassPtNCsign=
new TH2F(
"hInvMassPtNCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
928 TH3F *hInvMassPtSelSignOnlyNCsign=
new TH3F(
"hInvMassPtSelSignOnlyNCsign",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
930 TH3F *hInvMassPtSelReflOnlyNCsign=
new TH3F(
"hInvMassPtSelReflOnlyNCsign",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
933 THnSparseF *hSparseNCsign=
new THnSparseF(
"hSparseNCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
934 hSparseNCsign->SetBinEdges(0,massbins);
935 hSparseNCsign->SetBinEdges(1,massbins);
936 hSparseNCsign->SetBinEdges(2,ptbinsForNsparse);
937 hSparseNCsign->SetBinEdges(3,impparbins);
938 hSparseNCsign->SetBinEdges(4,massHypoBins);
943 candidateVariableNames[0]=
"massD0";
944 candidateVariableNames[1]=
"massD0bar";
945 candidateVariableNames[2]=
"pt";
946 candidateVariableNames[3]=
"impactpar";
947 candidateVariableNames[4]=
"selcase";
948 candidateVariableNames[5]=
"impactparxy";
949 candidateVariableNames[6]=
"impactparz";
950 candidateVariableNames[7]=
"impactparcov0";
951 candidateVariableNames[8]=
"impactparcov1";
952 candidateVariableNames[9]=
"impactparcov2";
961 THnSparseF *hSparseCxyLxyNCsign=
new THnSparseF(
"hSparseCxyLxyNCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
962 hSparseCxyLxyNCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
963 hSparseCxyLxyNCsign->GetAxis(0)->SetName(
"mass");
964 hSparseCxyLxyNCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
965 hSparseCxyLxyNCsign->GetAxis(1)->SetName(
"pt");
966 hSparseCxyLxyNCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
967 hSparseCxyLxyNCsign->GetAxis(2)->SetName(
"CosPointXY");
968 hSparseCxyLxyNCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
969 hSparseCxyLxyNCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
970 hSparseCxyLxyNCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
977 TH1F *hCosPDPBNCsign;
978 TH1F *hCosPcPDNCsign;
980 TH2F *hd0D0VSd0xd0NCsignpt;
981 TH2F *hangletracksVSd0xd0NCsignpt;
982 TH2F *hangletracksVSd0D0NCsignpt;
983 TH1F *hd0xd0NCsignpt;
985 TH1F *hPhiHistPMNCsignpt,*hPhiHistSBNCsignpt;
988 TH2F *hTOFpidNCsign=
new TH2F(
"hTOFpidNCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
997 namehist=
"hPhiHistPMNCsign_pt";
999 titlehist=
"Azimuthal correlation No Cuts Sign PM ptbin=";
1001 hPhiHistPMNCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
1002 hPhiHistPMNCsignpt->Sumw2();
1005 namehist=
"hPhiHistSBNCsign_pt";
1007 titlehist=
"Azimuthal correlation No Cuts Sign SB ptbin=";
1009 hPhiHistSBNCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
1010 hPhiHistSBNCsignpt->Sumw2();
1014 namehist=
"hd0zD0ptNCsign_pt";
1016 titlehist=
"d0(z) No Cuts Signalm ptbin=";
1018 hd0zD0ptNCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1019 hd0zD0ptNCsign->SetXTitle(
"d_{0}(z) [#mum]");
1020 hd0zD0ptNCsign->SetYTitle(
"Entries");
1023 namehist=
"hInvMassD0NCsign_pt";
1025 titlehist=
"Invariant Mass D0 No Cuts Signal ptbin=";
1027 hInvMassD0NCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1028 hInvMassD0NCsign->SetXTitle(
"Invariant Mass [GeV]");
1029 hInvMassD0NCsign->SetYTitle(
"Entries");
1033 namehist=
"hInvMassD0barNCsign_pt";
1035 titlehist=
"Invariant Mass D0bar No Cuts Signal ptbin=";
1037 hInvMassD0barNCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1038 hInvMassD0barNCsign->SetXTitle(
"Invariant Mass [GeV]");
1039 hInvMassD0barNCsign->SetYTitle(
"Entries");
1043 namehist=
"hetaNCsign_pt";
1045 titlehist=
"eta No Cuts Signal ptbin=";
1047 hetaNCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1048 hetaNCsign->SetXTitle(
"Pseudorapidity");
1049 hetaNCsign->SetYTitle(
"Entries");
1052 namehist=
"hCosPDPBNCsign_pt";
1054 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1056 hCosPDPBNCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1057 hCosPDPBNCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
1058 hCosPDPBNCsign->SetYTitle(
"Entries");
1061 namehist=
"hCosPcPDNCsign_pt";
1063 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1065 hCosPcPDNCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1066 hCosPcPDNCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1067 hCosPcPDNCsign->SetYTitle(
"Entries");
1072 namehist=
"hd0xd0NCsign_pt";
1074 titlehist=
"d0xd0 No Cuts Signal ptbin=";
1076 hd0xd0NCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1077 hd0xd0NCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1078 hd0xd0NCsignpt->SetYTitle(
"Entries");
1082 namehist=
"hd0D0VSd0xd0NCsign_pt";
1084 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
1086 hd0D0VSd0xd0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1087 hd0D0VSd0xd0NCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1088 hd0D0VSd0xd0NCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1092 namehist=
"hangletracksVSd0xd0NCsign_pt";
1094 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
1096 hangletracksVSd0xd0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1097 hangletracksVSd0xd0NCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1098 hangletracksVSd0xd0NCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
1102 namehist=
"hangletracksVSd0D0NCsign_pt";
1104 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Signal ptbin=";
1106 hangletracksVSd0D0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1107 hangletracksVSd0D0NCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1108 hangletracksVSd0D0NCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
1112 Printf(
"AFTER LOOP HISTOS CREATION \n");
1117 TH1F *hd0D0NCsignPM =
new TH1F(
"hd0D0NCsignPM",
"D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1118 hd0D0NCsignPM->SetXTitle(
"Impact parameter [#mum]");
1119 hd0D0NCsignPM->SetYTitle(
"Entries");
1121 TH1F *hd0D0VtxTrueNCsignPM =
new TH1F(
"hd0D0VtxTrueNCsignPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1122 hd0D0VtxTrueNCsignPM->SetXTitle(
"Impact parameter [#mum]");
1123 hd0D0VtxTrueNCsignPM->SetYTitle(
"Entries");
1125 TH1F *hMCd0D0NCsignPM =
new TH1F(
"hMCd0D0NCsignPM",
"D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1126 hMCd0D0NCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
1127 hMCd0D0NCsignPM->SetYTitle(
"Entries");
1129 TH1F *hd0D0NCsignSB =
new TH1F(
"hd0D0NCsignSB",
"D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1130 hd0D0NCsignSB->SetXTitle(
"Impact parameter [#mum]");
1131 hd0D0NCsignSB->SetYTitle(
"Entries");
1133 TH1F *hd0D0VtxTrueNCsignSB =
new TH1F(
"hd0D0VtxTrueNCsignSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1134 hd0D0VtxTrueNCsignSB->SetXTitle(
"Impact parameter [#mum]");
1135 hd0D0VtxTrueNCsignSB->SetYTitle(
"Entries");
1137 TH1F *hMCd0D0NCsignSB =
new TH1F(
"hMCd0D0NCsignSB",
"D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1138 hMCd0D0NCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
1139 hMCd0D0NCsignSB->SetYTitle(
"Entries");
1148 TH1F *hd0D0ptNCsignPM;
1149 TH1F *hMCd0D0ptNCsignPM;
1150 TH1F *hd0D0VtxTrueptNCsignPM;
1151 TH1F *hd0D0ptNCsignSB;
1152 TH1F *hMCd0D0ptNCsignSB;
1153 TH1F *hd0D0VtxTrueptNCsignSB;
1154 namehist=
"hd0D0ptNCsign_";
1155 titlehist=
"D^{0} impact par. plot, No Cuts, Signal, ";
1159 strnamept.Append(
"PkMss_pt");
1162 strtitlept=titlehist;
1163 strtitlept.Append(
" Mass Peak, ");
1167 strtitlept.Append(
"<= pt <");
1169 strtitlept.Append(
" [GeV/c]");
1171 hd0D0ptNCsignPM=
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1172 hd0D0ptNCsignPM->SetXTitle(
"Impact parameter [#mum] ");
1173 hd0D0ptNCsignPM->SetYTitle(
"Entries");
1176 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1177 hMCd0D0ptNCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1178 hMCd0D0ptNCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
1179 hMCd0D0ptNCsignPM->SetYTitle(
"Entries");
1183 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1184 hd0D0VtxTrueptNCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1185 hd0D0VtxTrueptNCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1186 hd0D0VtxTrueptNCsignPM->SetYTitle(
"Entries");
1190 strnamept.Append(
"SBMss_pt");
1193 strtitlept=titlehist;
1194 strtitlept.Append(
" Side Bands, ");
1196 strtitlept.Append(
"<= pt <");
1198 strtitlept.Append(
" [GeV/c]");
1200 hd0D0ptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1201 hd0D0ptNCsignSB->SetXTitle(
"Impact parameter [#mum] ");
1202 hd0D0ptNCsignSB->SetYTitle(
"Entries");
1205 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1206 hMCd0D0ptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1207 hMCd0D0ptNCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
1208 hMCd0D0ptNCsignSB->SetYTitle(
"Entries");
1211 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1212 hd0D0VtxTrueptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1213 hd0D0VtxTrueptNCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1214 hd0D0VtxTrueptNCsignSB->SetYTitle(
"Entries");
1224 TH2F *hCPtaVSd0d0NCback=
new TH2F(
"hCPtaVSd0d0NCback",
"hCPtaVSd0d0_NoCuts_Background",1000,-100000.,100000.,100,-1.,1.);
1225 TH1F *hSecVtxZNCback=
new TH1F(
"hSecVtxZNCback",
"hSecVtxZ_NoCuts_Background",1000,-8.,8.);
1226 TH1F *hSecVtxXNCback=
new TH1F(
"hSecVtxXNCback",
"hSecVtxX_NoCuts_Background",1000,-3000.,3000.);
1227 TH1F *hSecVtxYNCback=
new TH1F(
"hSecVtxYNCback",
"hSecVtxY_NoCuts_Background",1000,-3000.,3000.);
1228 TH2F *hSecVtxXYNCback=
new TH2F(
"hSecVtxXYNCback",
"hSecVtxXY_NoCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
1229 TH1F *hSecVtxPhiNCback=
new TH1F(
"hSecVtxPhiNCback",
"hSecVtxPhi_NoCuts_Background",180,-180.1,180.1);
1230 TH1F *hd0singlTrackNCback=
new TH1F(
"hd0singlTrackNCback",
"hd0singlTrackNoCuts_Back",1000,-5000.,5000.);
1231 TH1F *hCPtaNCback=
new TH1F(
"hCPtaNCback",
"hCPta_NoCuts_Background",100,-1.,1.);
1232 TH1F *hd0xd0NCback=
new TH1F(
"hd0xd0NCback",
"hd0xd0_NoCuts_Background",1000,-100000.,100000.);
1233 TH1F *hMassTrueNCback=
new TH1F(
"hMassTrueNCback",
"D^{0} MC inv. Mass No Cuts Background(All momenta)",600,1.600,2.200);
1234 TH1F *hMassNCback=
new TH1F(
"hMassNCback",
"D^{0} inv. Mass No Cuts Background (All momenta)",600,1.600,2.200);
1235 hMassNCback->Sumw2();
1236 TH1F *hMassTrueNCbackPM=
new TH1F(
"hMassTrueNCbackPM",
"D^{0} MC inv. Mass No Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
1237 TH1F *hMassNCbackPM=
new TH1F(
"hMassNCbackPM",
"D^{0} inv. Mass No Cuts Background (All momenta), MassPeak",600,1.600,2.200);
1238 hMassNCbackPM->Sumw2();
1239 TH1F *hMassTrueNCbackSB=
new TH1F(
"hMassTrueNCbackSB",
"D^{0} MC inv. Mass in Side Bands No Cuts Background(All momenta)",600,1.600,2.200);
1240 TH1F *hMassNCbackSB=
new TH1F(
"hMassNCbackSB",
"D^{0} inv. Mass in Side Bands No Cuts Background (All momenta)",600,1.600,2.200);
1241 hMassNCbackSB->Sumw2();
1261 TH1F *hdcaNCback=
new TH1F(
"hdcaNCback",
"hdca_NoCuts_Backgr",100,0.,1000.);
1262 hdcaNCback->SetXTitle(
"dca [#mum]");
1263 hdcaNCback->SetYTitle(
"Entries");
1264 TH1F *hcosthetastarNCback=
new TH1F(
"hcosthetastarNCback",
"hCosThetaStar_NoCuts_Backgr",50,-1.,1.);
1265 hcosthetastarNCback->SetXTitle(
"cos #theta^{*}");
1266 hcosthetastarNCback->SetYTitle(
"Entries");
1267 TH1F *hptD0NCback=
new TH1F(
"hptD0NCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1268 hptD0NCback->SetXTitle(
"p_{t} [GeV/c]");
1269 hptD0NCback->SetYTitle(
"Entries");
1270 TH1F *hptD0VsMaxPtNCback=
new TH1F(
"hptD0VsMaxPtNCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1271 TH2F *hptD0PTallsqrtNCback=
new TH2F(
"hptD0PTallsqrtNCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1272 TH2F *hptD0PTallNCback=
new TH2F(
"hptD0PTallNCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1273 TH2F *hptD0vsptBNCback=
new TH2F(
"hptD0vsptBNCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1274 TH2F *hpD0vspBNCback=
new TH2F(
"hpD0vspBNCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1275 TH2F *hptD0vsptcquarkNCback=
new TH2F(
"hptD0vsptcquarkNCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1276 TH2F *hpD0vspcquarkNCback=
new TH2F(
"hpD0vspcquarkNCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1288 TH1F *hd0zD0ptNCback;
1289 TH1F *hInvMassD0NCback,*hInvMassD0barNCback;
1290 TH2F *hInvMassPtNCback=
new TH2F(
"hInvMassPtNCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1291 THnSparseF *hSparseNCback=
new THnSparseF(
"hSparseNCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1292 hSparseNCback->SetBinEdges(0,massbins);
1293 hSparseNCback->SetBinEdges(1,massbins);
1294 hSparseNCback->SetBinEdges(2,ptbinsForNsparse);
1295 hSparseNCback->SetBinEdges(3,impparbins);
1296 hSparseNCback->SetBinEdges(4,massHypoBins);
1308 TH1F *hCosPDPBNCback;
1309 TH1F *hCosPcPDNCback;
1311 TH2F *hd0D0VSd0xd0NCbackpt;
1312 TH2F *hangletracksVSd0xd0NCbackpt;
1313 TH2F *hangletracksVSd0D0NCbackpt;
1314 TH1F *hd0xd0NCbackpt;
1317 TH2F *hTOFpidNCback=
new TH2F(
"hTOFpidNCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1321 namehist=
"hd0zD0ptNCback_pt";
1323 titlehist=
"d0(z) No Cuts Backgrm ptbin=";
1325 hd0zD0ptNCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1326 hd0zD0ptNCback->SetXTitle(
"d_{0}(z) [#mum]");
1327 hd0zD0ptNCback->SetYTitle(
"Entries");
1330 namehist=
"hInvMassD0NCback_pt";
1332 titlehist=
"Invariant Mass No Cuts Backgr ptbin=";
1334 hInvMassD0NCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1335 hInvMassD0NCback->SetXTitle(
"Invariant Mass [GeV]");
1336 hInvMassD0NCback->SetYTitle(
"Entries");
1340 namehist=
"hInvMassD0barNCback_pt";
1342 titlehist=
"Invariant Mass D0bar No Cuts Back ptbin=";
1344 hInvMassD0barNCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1345 hInvMassD0barNCback->SetXTitle(
"Invariant Mass [GeV]");
1346 hInvMassD0barNCback->SetYTitle(
"Entries");
1350 namehist=
"hetaNCback_pt";
1352 titlehist=
"eta No Cuts Backgr ptbin=";
1354 hetaNCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1355 hetaNCback->SetXTitle(
"Pseudorapidity");
1356 hetaNCback->SetYTitle(
"Entries");
1359 namehist=
"hCosPDPBNCback_pt";
1361 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1363 hCosPDPBNCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1364 hCosPDPBNCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
1365 hCosPDPBNCback->SetYTitle(
"Entries");
1368 namehist=
"hCosPcPDNCback_pt";
1370 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1372 hCosPcPDNCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1373 hCosPcPDNCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1374 hCosPcPDNCback->SetYTitle(
"Entries");
1379 namehist=
"hd0xd0NCback_pt";
1381 titlehist=
"d0xd0 No Cuts Background ptbin=";
1383 hd0xd0NCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1384 hd0xd0NCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1385 hd0xd0NCbackpt->SetYTitle(
"Entries");
1389 namehist=
"hd0D0VSd0xd0NCback_pt";
1391 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1393 hd0D0VSd0xd0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1394 hd0D0VSd0xd0NCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1395 hd0D0VSd0xd0NCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1399 namehist=
"hangletracksVSd0xd0NCback_pt";
1401 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1403 hangletracksVSd0xd0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1404 hangletracksVSd0xd0NCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1405 hangletracksVSd0xd0NCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
1409 namehist=
"hangletracksVSd0D0NCback_pt";
1411 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Back ptbin=";
1413 hangletracksVSd0D0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1414 hangletracksVSd0D0NCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1415 hangletracksVSd0D0NCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
1428 TH1F *hd0D0NCbackPM =
new TH1F(
"hd0D0NCbackPM",
"D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1429 hd0D0NCbackPM->SetXTitle(
"Impact parameter [#mum]");
1430 hd0D0NCbackPM->SetYTitle(
"Entries");
1432 TH1F *hd0D0VtxTrueNCbackPM =
new TH1F(
"hd0D0VtxTrueNCbackPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1433 hd0D0VtxTrueNCbackPM->SetXTitle(
"Impact parameter [#mum]");
1434 hd0D0VtxTrueNCbackPM->SetYTitle(
"Entries");
1436 TH1F *hMCd0D0NCbackPM =
new TH1F(
"hMCd0D0NCbackPM",
"D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1437 hMCd0D0NCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
1438 hMCd0D0NCbackPM->SetYTitle(
"Entries");
1440 TH1F *hd0D0NCbackSB =
new TH1F(
"hd0D0NCbackSB",
"D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1441 hd0D0NCbackSB->SetXTitle(
"Impact parameter [#mum]");
1442 hd0D0NCbackSB->SetYTitle(
"Entries");
1444 TH1F *hd0D0VtxTrueNCbackSB =
new TH1F(
"hd0D0VtxTrueNCbackSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1445 hd0D0VtxTrueNCbackSB->SetXTitle(
"Impact parameter [#mum]");
1446 hd0D0VtxTrueNCbackSB->SetYTitle(
"Entries");
1448 TH1F *hMCd0D0NCbackSB =
new TH1F(
"hMCd0D0NCbackSB",
"D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1449 hMCd0D0NCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
1450 hMCd0D0NCbackSB->SetYTitle(
"Entries");
1459 TH1F *hd0D0ptNCbackPM;
1460 TH1F *hMCd0D0ptNCbackPM;
1461 TH1F *hd0D0VtxTrueptNCbackPM;
1462 TH1F *hd0D0ptNCbackSB;
1463 TH1F *hMCd0D0ptNCbackSB;
1464 TH1F *hd0D0VtxTrueptNCbackSB;
1465 namehist=
"hd0D0ptNCback_";
1466 titlehist=
"D^{0} impact par. plot, No Cuts, Background, ";
1469 strnamept.Append(
"PkMss_pt");
1472 strtitlept=titlehist;
1473 strtitlept.Append(
" Mass Peak, ");
1475 strtitlept.Append(
"<= pt <");
1477 strtitlept.Append(
" [GeV/c]");
1479 hd0D0ptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1480 hd0D0ptNCbackPM->SetXTitle(
"Impact parameter [#mum] ");
1481 hd0D0ptNCbackPM->SetYTitle(
"Entries");
1484 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1485 hMCd0D0ptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1486 hMCd0D0ptNCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
1487 hMCd0D0ptNCbackPM->SetYTitle(
"Entries");
1491 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1492 hd0D0VtxTrueptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1493 hd0D0VtxTrueptNCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1494 hd0D0VtxTrueptNCbackPM->SetYTitle(
"Entries");
1498 strnamept.Append(
"SBMss_pt");
1501 strtitlept=titlehist;
1502 strtitlept.Append(
" Side Bands, ");
1504 strtitlept.Append(
"<= pt <");
1506 strtitlept.Append(
" [GeV/c]");
1508 hd0D0ptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1509 hd0D0ptNCbackSB->SetXTitle(
"Impact parameter [#mum] ");
1510 hd0D0ptNCbackSB->SetYTitle(
"Entries");
1513 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1514 hMCd0D0ptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1515 hMCd0D0ptNCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
1516 hMCd0D0ptNCbackSB->SetYTitle(
"Entries");
1519 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1520 hd0D0VtxTrueptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1521 hd0D0VtxTrueptNCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1522 hd0D0VtxTrueptNCbackSB->SetYTitle(
"Entries");
1532 TH2F *hCPtaVSd0d0NCfromB=
new TH2F(
"hCPtaVSd0d0NCfromB",
"hCPtaVSd0d0_NoCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
1533 TH1F *hSecVtxZNCfromB=
new TH1F(
"hSecVtxZNCfromB",
"hSecVtxZ_NoCuts_FromB",1000,-8.,8.);
1534 TH1F *hSecVtxXNCfromB=
new TH1F(
"hSecVtxXNCfromB",
"hSecVtxX_NoCuts_FromB",1000,-3000.,3000.);
1535 TH1F *hSecVtxYNCfromB=
new TH1F(
"hSecVtxYNCfromB",
"hSecVtxY_NoCuts_FromB",1000,-3000.,3000.);
1536 TH2F *hSecVtxXYNCfromB=
new TH2F(
"hSecVtxXYNCfromB",
"hSecVtxXY_NoCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
1537 TH1F *hSecVtxPhiNCfromB=
new TH1F(
"hSecVtxPhiNCfromB",
"hSecVtxPhi_NoCuts_FromB",180,-180.1,180.1);
1538 TH1F *hd0singlTrackNCfromB=
new TH1F(
"hd0singlTrackNCfromB",
"hd0singlTrackNoCuts_FromB",1000,-5000.,5000.);
1539 TH1F *hCPtaNCfromB=
new TH1F(
"hCPtaNCfromB",
"hCPta_NoCuts_FromB",100,-1.,1.);
1540 TH1F *hd0xd0NCfromB=
new TH1F(
"hd0xd0NCfromB",
"hd0xd0_NoCuts_FromB",1000,-100000.,100000.);
1541 TH1F *hMassTrueNCfromB=
new TH1F(
"hMassTrueNCfromB",
"D^{0} MC inv. Mass No Cuts FromB(All momenta)",600,1.600,2.200);
1542 TH1F *hMassNCfromB=
new TH1F(
"hMassNCfromB",
"D^{0} inv. Mass No Cuts FromB (All momenta)",600,1.600,2.200);
1543 hMassNCfromB->Sumw2();
1544 TH1F *hMassTrueNCfromBPM=
new TH1F(
"hMassTrueNCfromBPM",
"D^{0} MC inv. Mass No Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
1545 TH1F *hMassNCfromBPM=
new TH1F(
"hMassNCfromBPM",
"D^{0} inv. Mass No Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
1546 hMassNCfromB->Sumw2();
1547 TH1F *hMassTrueNCfromBSB=
new TH1F(
"hMassTrueNCfromBSB",
"D^{0} MC inv. Mass in Side Bands No Cuts FromB(All momenta)",600,1.600,2.200);
1548 TH1F *hMassNCfromBSB=
new TH1F(
"hMassNCfromBSB",
"D^{0} inv. Mass in Side Bands No Cuts FromB (All momenta)",600,1.600,2.200);
1549 hMassNCfromBSB->Sumw2();
1572 TH1F *hdcaNCfromB=
new TH1F(
"hdcaNCfromB",
"hdca_NoCuts_FromB",100,0.,1000.);
1573 hdcaNCfromB->SetXTitle(
"dca [#mum]");
1574 hdcaNCfromB->SetYTitle(
"Entries");
1575 TH1F *hcosthetastarNCfromB=
new TH1F(
"hcosthetastarNCfromB",
"hCosThetaStar_NoCuts_FromB",50,-1.,1.);
1576 hcosthetastarNCfromB->SetXTitle(
"cos #theta^{*}");
1577 hcosthetastarNCfromB->SetYTitle(
"Entries");
1578 TH1F *hptD0NCfromB=
new TH1F(
"hptD0NCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1579 hptD0NCfromB->SetXTitle(
"p_{t} [GeV/c]");
1580 hptD0NCfromB->SetYTitle(
"Entries");
1581 TH1F *hptD0VsMaxPtNCfromB=
new TH1F(
"hptD0VsMaxPtNCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1582 TH2F *hptD0PTallsqrtNCfromB=
new TH2F(
"hptD0PTallsqrtNCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1583 TH2F *hptD0PTallNCfromB=
new TH2F(
"hptD0PTallNCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1584 TH2F *hptD0vsptBNCfromB=
new TH2F(
"hptD0vsptBNCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1585 TH2F *hpD0vspBNCfromB=
new TH2F(
"hpD0vspBNCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1586 TH2F *hptD0vsptcquarkNCfromB=
new TH2F(
"hptD0vsptcquarkNCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1587 TH2F *hpD0vspcquarkNCfromB=
new TH2F(
"hpD0vspcquarkNCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1599 TH1F *hd0zD0ptNCfromB;
1600 TH1F *hInvMassD0NCfromB,*hInvMassD0barNCfromB;
1601 TH2F *hInvMassPtNCfromB=
new TH2F(
"hInvMassPtNCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1602 TH3F *hInvMassPtSelSignOnlyNCfromB=
new TH3F(
"hInvMassPtSelSignOnlyNCfromB",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
1604 TH3F *hInvMassPtSelReflOnlyNCfromB=
new TH3F(
"hInvMassPtSelReflOnlyNCfromB",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
1607 THnSparseF *hSparseNCfromB=
new THnSparseF(
"hSparseNCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1608 hSparseNCfromB->SetBinEdges(0,massbins);
1609 hSparseNCfromB->SetBinEdges(1,massbins);
1610 hSparseNCfromB->SetBinEdges(2,ptbinsForNsparse);
1611 hSparseNCfromB->SetBinEdges(3,impparbins);
1612 hSparseNCfromB->SetBinEdges(4,massHypoBins);
1622 THnSparseF *hSparseRecoNCfromB=
new THnSparseF(
"hSparseRecoNCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1623 hSparseRecoNCfromB->SetBinEdges(0,massbins);
1624 hSparseRecoNCfromB->SetBinEdges(1,massbins);
1625 hSparseRecoNCfromB->SetBinEdges(2,ptbinsForNsparse);
1626 hSparseRecoNCfromB->SetBinEdges(3,impparbins);
1627 hSparseRecoNCfromB->SetBinEdges(4,massHypoBins);
1639 TH1F *hCosPDPBNCfromB;
1640 TH1F *hCosPcPDNCfromB;
1643 TH2F *hd0D0VSd0xd0NCfromBpt;
1644 TH2F *hangletracksVSd0xd0NCfromBpt;
1645 TH2F *hangletracksVSd0D0NCfromBpt;
1646 TH1F *hd0xd0NCfromBpt;
1649 TH2F *hTOFpidNCfromB=
new TH2F(
"hTOFpidNCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1653 namehist=
"hd0zD0ptNCfromB_pt";
1655 titlehist=
"d0(z) No Cuts FromB ptbin=";
1657 hd0zD0ptNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1658 hd0zD0ptNCfromB->SetXTitle(
"d_{0}(z) [#mum]");
1659 hd0zD0ptNCfromB->SetYTitle(
"Entries");
1662 namehist=
"hInvMassD0NCfromB_pt";
1664 titlehist=
"Invariant Mass No Cuts FromB ptbin=";
1666 hInvMassD0NCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1667 hInvMassD0NCfromB->SetXTitle(
"Invariant Mass [GeV]");
1668 hInvMassD0NCfromB->SetYTitle(
"Entries");
1672 namehist=
"hInvMassD0barNCfromB_pt";
1674 titlehist=
"Invariant Mass D0bar No Cuts FromB ptbin=";
1676 hInvMassD0barNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1677 hInvMassD0barNCfromB->SetXTitle(
"Invariant Mass [GeV]");
1678 hInvMassD0barNCfromB->SetYTitle(
"Entries");
1683 namehist=
"hetaNCfromB_pt";
1685 titlehist=
"eta No Cuts FromB ptbin=";
1687 hetaNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1688 hetaNCfromB->SetXTitle(
"Pseudorapidity");
1689 hetaNCfromB->SetYTitle(
"Entries");
1692 namehist=
"hCosPDPBNCfromB_pt";
1694 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1696 hCosPDPBNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1697 hCosPDPBNCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
1698 hCosPDPBNCfromB->SetYTitle(
"Entries");
1701 namehist=
"hCosPcPDNCfromB_pt";
1703 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1705 hCosPcPDNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1706 hCosPcPDNCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1707 hCosPcPDNCfromB->SetYTitle(
"Entries");
1711 namehist=
"hd0xd0NCfromB_pt";
1713 titlehist=
"d0xd0 No Cuts FromB ptbin=";
1715 hd0xd0NCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1716 hd0xd0NCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1717 hd0xd0NCfromBpt->SetYTitle(
"Entries");
1721 namehist=
"hd0D0VSd0xd0NCfromB_pt";
1723 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1725 hd0D0VSd0xd0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1726 hd0D0VSd0xd0NCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1727 hd0D0VSd0xd0NCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1731 namehist=
"hangletracksVSd0xd0NCfromB_pt";
1733 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1735 hangletracksVSd0xd0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1736 hangletracksVSd0xd0NCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1737 hangletracksVSd0xd0NCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
1741 namehist=
"hangletracksVSd0D0NCfromB_pt";
1743 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromB ptbin=";
1745 hangletracksVSd0D0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1746 hangletracksVSd0D0NCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1747 hangletracksVSd0D0NCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
1758 TH1F *hd0D0NCfromBPM =
new TH1F(
"hd0D0NCfromBPM",
"D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1759 hd0D0NCfromBPM->SetXTitle(
"Impact parameter [#mum]");
1760 hd0D0NCfromBPM->SetYTitle(
"Entries");
1762 TH1F *hd0D0VtxTrueNCfromBPM =
new TH1F(
"hd0D0VtxTrueNCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1763 hd0D0VtxTrueNCfromBPM->SetXTitle(
"Impact parameter [#mum]");
1764 hd0D0VtxTrueNCfromBPM->SetYTitle(
"Entries");
1766 TH1F *hMCd0D0NCfromBPM =
new TH1F(
"hMCd0D0NCfromBPM",
"D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1767 hMCd0D0NCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
1768 hMCd0D0NCfromBPM->SetYTitle(
"Entries");
1770 TH1F *hd0D0NCfromBSB =
new TH1F(
"hd0D0NCfromBSB",
"D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1771 hd0D0NCfromBSB->SetXTitle(
"Impact parameter [#mum]");
1772 hd0D0NCfromBSB->SetYTitle(
"Entries");
1774 TH1F *hd0D0VtxTrueNCfromBSB =
new TH1F(
"hd0D0VtxTrueNCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1775 hd0D0VtxTrueNCfromBSB->SetXTitle(
"Impact parameter [#mum]");
1776 hd0D0VtxTrueNCfromBSB->SetYTitle(
"Entries");
1778 TH1F *hMCd0D0NCfromBSB =
new TH1F(
"hMCd0D0NCfromBSB",
"D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1779 hMCd0D0NCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
1780 hMCd0D0NCfromBSB->SetYTitle(
"Entries");
1789 TH1F *hd0D0ptNCfromBPM;
1790 TH1F *hMCd0D0ptNCfromBPM;
1791 TH1F *hd0D0VtxTrueptNCfromBPM;
1792 TH1F *hd0D0ptNCfromBSB;
1793 TH1F *hMCd0D0ptNCfromBSB;
1794 TH1F *hd0D0VtxTrueptNCfromBSB;
1795 namehist=
"hd0D0ptNCfromB_";
1796 titlehist=
"D^{0} impact par. plot, No Cuts, FromB, ";
1799 strnamept.Append(
"PkMss_pt");
1802 strtitlept=titlehist;
1803 strtitlept.Append(
" Mass Peak, ");
1805 strtitlept.Append(
"<= pt <");
1807 strtitlept.Append(
" [GeV/c]");
1809 hd0D0ptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1810 hd0D0ptNCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
1811 hd0D0ptNCfromBPM->SetYTitle(
"Entries");
1814 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1815 hMCd0D0ptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1816 hMCd0D0ptNCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
1817 hMCd0D0ptNCfromBPM->SetYTitle(
"Entries");
1821 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1822 hd0D0VtxTrueptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1823 hd0D0VtxTrueptNCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1824 hd0D0VtxTrueptNCfromBPM->SetYTitle(
"Entries");
1828 strnamept.Append(
"SBMss_pt");
1831 strtitlept=titlehist;
1832 strtitlept.Append(
" Side Bands, ");
1834 strtitlept.Append(
"<= pt <");
1836 strtitlept.Append(
" [GeV/c]");
1838 hd0D0ptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1839 hd0D0ptNCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
1840 hd0D0ptNCfromBSB->SetYTitle(
"Entries");
1843 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1844 hMCd0D0ptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1845 hMCd0D0ptNCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
1846 hMCd0D0ptNCfromBSB->SetYTitle(
"Entries");
1849 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1850 hd0D0VtxTrueptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1851 hd0D0VtxTrueptNCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1852 hd0D0VtxTrueptNCfromBSB->SetYTitle(
"Entries");
1862 TH2F *hCPtaVSd0d0NCfromDstar=
new TH2F(
"hCPtaVSd0d0NCfromDstar",
"hCPtaVSd0d0_NoCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
1863 TH1F *hSecVtxZNCfromDstar=
new TH1F(
"hSecVtxZNCfromDstar",
"hSecVtxZ_NoCuts_FromDStar",1000,-8.,8.);
1864 TH1F *hSecVtxXNCfromDstar=
new TH1F(
"hSecVtxXNCfromDstar",
"hSecVtxX_NoCuts_FromDStar",1000,-3000.,3000.);
1865 TH1F *hSecVtxYNCfromDstar=
new TH1F(
"hSecVtxYNCfromDstar",
"hSecVtxY_NoCuts_FromDStar",1000,-3000.,3000.);
1866 TH2F *hSecVtxXYNCfromDstar=
new TH2F(
"hSecVtxXYNCfromDstar",
"hSecVtxXY_NoCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
1867 TH1F *hSecVtxPhiNCfromDstar=
new TH1F(
"hSecVtxPhiNCfromDstar",
"hSecVtxPhi_NoCuts_FromDStar",180,-180.1,180.1);
1868 TH1F *hd0singlTrackNCfromDstar=
new TH1F(
"hd0singlTrackNCfromDstar",
"hd0singlTrackNoCuts_fromDstar",1000,-5000.,5000.);
1869 TH1F *hCPtaNCfromDstar=
new TH1F(
"hCPtaNCfromDstar",
"hCPta_NoCuts_FromDStar",100,-1.,1.);
1870 TH1F *hd0xd0NCfromDstar=
new TH1F(
"hd0xd0NCfromDstar",
"hd0xd0_NoCuts_FromDStar",1000,-100000.,100000.);
1871 TH1F *hMassTrueNCfromDstar=
new TH1F(
"hMassTrueNCfromDstar",
"D^{0} MC inv. Mass No Cuts FromDStar(All momenta)",600,1.600,2.200);
1872 TH1F *hMassNCfromDstar=
new TH1F(
"hMassNCfromDstar",
"D^{0} inv. Mass No Cuts FromDStar (All momenta)",600,1.600,2.200);
1873 hMassNCfromDstar->Sumw2();
1874 TH1F *hMassTrueNCfromDstarPM=
new TH1F(
"hMassTrueNCfromDstarPM",
"D^{0} MC inv. Mass No Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
1875 TH1F *hMassNCfromDstarPM=
new TH1F(
"hMassNCfromDstarPM",
"D^{0} inv. Mass No Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
1876 hMassNCfromDstarPM->Sumw2();
1877 TH1F *hMassTrueNCfromDstarSB=
new TH1F(
"hMassTrueNCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands No Cuts FromDStar(All momenta)",600,1.600,2.200);
1878 TH1F *hMassNCfromDstarSB=
new TH1F(
"hMassNCfromDstarSB",
"D^{0} inv. Mass in Side Bands No Cuts FromDStar (All momenta)",600,1.600,2.200);
1879 hMassNCfromDstarSB->Sumw2();
1901 TH1F *hdcaNCfromDstar=
new TH1F(
"hdcaNCfromDstar",
"hdca_NoCuts_FromDstar",100,0.,1000.);
1902 hdcaNCfromDstar->SetXTitle(
"dca [#mum]");
1903 hdcaNCfromDstar->SetYTitle(
"Entries");
1904 TH1F *hcosthetastarNCfromDstar=
new TH1F(
"hcosthetastarNCfromDstar",
"hCosThetaStar_NoCuts_FromDstar",50,-1.,1.);
1905 hcosthetastarNCfromDstar->SetXTitle(
"cos #theta^{*}");
1906 hcosthetastarNCfromDstar->SetYTitle(
"Entries");
1907 TH1F *hptD0NCfromDstar=
new TH1F(
"hptD0NCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1908 hptD0NCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
1909 hptD0NCfromDstar->SetYTitle(
"Entries");
1910 TH1F *hptD0VsMaxPtNCfromDstar=
new TH1F(
"hptD0VsMaxPtNCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1911 TH2F *hptD0PTallsqrtNCfromDstar=
new TH2F(
"hptD0PTallsqrtNCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1912 TH2F *hptD0PTallNCfromDstar=
new TH2F(
"hptD0PTallNCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1913 TH2F *hptD0vsptBNCfromDstar=
new TH2F(
"hptD0vsptBNCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1914 TH2F *hpD0vspBNCfromDstar=
new TH2F(
"hpD0vspBNCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1915 TH2F *hptD0vsptcquarkNCfromDstar=
new TH2F(
"hptD0vsptcquarkNCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1916 TH2F *hpD0vspcquarkNCfromDstar=
new TH2F(
"hpD0vspcquarkNCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1928 TH1F *hd0zD0ptNCfromDstar;
1929 TH1F *hInvMassD0NCfromDstar,*hInvMassD0barNCfromDstar;
1930 TH2F *hInvMassPtNCfromDstar=
new TH2F(
"hInvMassPtNCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1931 TH3F *hInvMassPtSelSignOnlyNCfromDstar=
new TH3F(
"hInvMassPtSelSignOnlyNCfromDstar",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
1933 TH3F *hInvMassPtSelReflOnlyNCfromDstar=
new TH3F(
"hInvMassPtSelReflOnlyNCfromDstar",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
1936 THnSparseF *hSparseNCfromDstar=
new THnSparseF(
"hSparseNCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1937 hSparseNCfromDstar->SetBinEdges(0,massbins);
1938 hSparseNCfromDstar->SetBinEdges(1,massbins);
1939 hSparseNCfromDstar->SetBinEdges(2,ptbinsForNsparse);
1940 hSparseNCfromDstar->SetBinEdges(3,impparbins);
1941 hSparseNCfromDstar->SetBinEdges(4,massHypoBins);
1952 TH1F *hetaNCfromDstar;
1953 TH1F *hCosPDPBNCfromDstar;
1954 TH1F *hCosPcPDNCfromDstar;
1957 TH2F *hd0D0VSd0xd0NCfromDstarpt;
1958 TH2F *hangletracksVSd0xd0NCfromDstarpt;
1959 TH2F *hangletracksVSd0D0NCfromDstarpt;
1960 TH1F *hd0xd0NCfromDstarpt;
1962 TH2F *hTOFpidNCfromDstar=
new TH2F(
"hTOFpidNCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1966 namehist=
"hd0zD0ptNCfromDstar_pt";
1968 titlehist=
"d0(z) No Cuts FromDstarm ptbin=";
1970 hd0zD0ptNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1971 hd0zD0ptNCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
1972 hd0zD0ptNCfromDstar->SetYTitle(
"Entries");
1975 namehist=
"hInvMassD0NCfromDstar_pt";
1977 titlehist=
"Invariant Mass No Cuts FromDstar ptbin=";
1979 hInvMassD0NCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1980 hInvMassD0NCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
1981 hInvMassD0NCfromDstar->SetYTitle(
"Entries");
1985 namehist=
"hInvMassD0barNCfromDstar_pt";
1987 titlehist=
"Invariant Mass D0bar No Cuts FromDstar ptbin=";
1989 hInvMassD0barNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1990 hInvMassD0barNCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
1991 hInvMassD0barNCfromDstar->SetYTitle(
"Entries");
1996 namehist=
"hetaNCfromDstar_pt";
1998 titlehist=
"eta No Cuts FromDstar ptbin=";
2000 hetaNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2001 hetaNCfromDstar->SetXTitle(
"Pseudorapidity");
2002 hetaNCfromDstar->SetYTitle(
"Entries");
2005 namehist=
"hCosPDPBNCfromDstar_pt";
2007 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2009 hCosPDPBNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2010 hCosPDPBNCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
2011 hCosPDPBNCfromDstar->SetYTitle(
"Entries");
2014 namehist=
"hCosPcPDNCfromDstar_pt";
2016 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2018 hCosPcPDNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2019 hCosPcPDNCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2020 hCosPcPDNCfromDstar->SetYTitle(
"Entries");
2024 namehist=
"hd0xd0NCfromDstar_pt";
2026 titlehist=
"d0xd0 No Cuts FromDstar ptbin=";
2028 hd0xd0NCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2029 hd0xd0NCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2030 hd0xd0NCfromDstarpt->SetYTitle(
"Entries");
2034 namehist=
"hd0D0VSd0xd0NCfromDstar_pt";
2036 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
2038 hd0D0VSd0xd0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2039 hd0D0VSd0xd0NCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2040 hd0D0VSd0xd0NCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2044 namehist=
"hangletracksVSd0xd0NCfromDstar_pt";
2046 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
2048 hangletracksVSd0xd0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2049 hangletracksVSd0xd0NCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2050 hangletracksVSd0xd0NCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
2054 namehist=
"hangletracksVSd0D0NCfromDstar_pt";
2056 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromDstar ptbin=";
2058 hangletracksVSd0D0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2059 hangletracksVSd0D0NCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2060 hangletracksVSd0D0NCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
2069 TH1F *hd0D0NCfromDstPM =
new TH1F(
"hd0D0NCfromDstarPM",
"D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2070 hd0D0NCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
2071 hd0D0NCfromDstPM->SetYTitle(
"Entries");
2073 TH1F *hd0D0VtxTrueNCfromDstPM =
new TH1F(
"hd0D0VtxTrueNCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2074 hd0D0VtxTrueNCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
2075 hd0D0VtxTrueNCfromDstPM->SetYTitle(
"Entries");
2077 TH1F *hMCd0D0NCfromDstPM =
new TH1F(
"hMCd0D0NCfromDstarPM",
"D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2078 hMCd0D0NCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
2079 hMCd0D0NCfromDstPM->SetYTitle(
"Entries");
2081 TH1F *hd0D0NCfromDstSB =
new TH1F(
"hd0D0NCfromDstarSB",
"D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2082 hd0D0NCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
2083 hd0D0NCfromDstSB->SetYTitle(
"Entries");
2085 TH1F *hd0D0VtxTrueNCfromDstSB =
new TH1F(
"hd0D0VtxTrueNCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2086 hd0D0VtxTrueNCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
2087 hd0D0VtxTrueNCfromDstSB->SetYTitle(
"Entries");
2089 TH1F *hMCd0D0NCfromDstSB =
new TH1F(
"hMCd0D0NCfromDstarSB",
"D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2090 hMCd0D0NCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
2091 hMCd0D0NCfromDstSB->SetYTitle(
"Entries");
2100 TH1F *hd0D0ptNCfromDstPM;
2101 TH1F *hMCd0D0ptNCfromDstPM;
2102 TH1F *hd0D0VtxTrueptNCfromDstPM;
2103 TH1F *hd0D0ptNCfromDstSB;
2104 TH1F *hMCd0D0ptNCfromDstSB;
2105 TH1F *hd0D0VtxTrueptNCfromDstSB;
2106 namehist=
"hd0D0ptNCfromDstar_";
2107 titlehist=
"D^{0} impact par. plot, No Cuts, FromDStar, ";
2110 strnamept.Append(
"PkMss_pt");
2113 strtitlept=titlehist;
2114 strtitlept.Append(
" Mass Peak, ");
2116 strtitlept.Append(
"<= pt <");
2118 strtitlept.Append(
" [GeV/c]");
2120 hd0D0ptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2121 hd0D0ptNCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
2122 hd0D0ptNCfromDstPM->SetYTitle(
"Entries");
2125 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2126 hMCd0D0ptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2127 hMCd0D0ptNCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
2128 hMCd0D0ptNCfromDstPM->SetYTitle(
"Entries");
2132 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2133 hd0D0VtxTrueptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2134 hd0D0VtxTrueptNCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2135 hd0D0VtxTrueptNCfromDstPM->SetYTitle(
"Entries");
2139 strnamept.Append(
"SBMss_pt");
2142 strtitlept=titlehist;
2143 strtitlept.Append(
" Side Bands, ");
2145 strtitlept.Append(
"<= pt <");
2147 strtitlept.Append(
" [GeV/c]");
2149 hd0D0ptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2150 hd0D0ptNCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
2151 hd0D0ptNCfromDstSB->SetYTitle(
"Entries");
2154 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2155 hMCd0D0ptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2156 hMCd0D0ptNCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
2157 hMCd0D0ptNCfromDstSB->SetYTitle(
"Entries");
2160 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2161 hd0D0VtxTrueptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2162 hd0D0VtxTrueptNCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2163 hd0D0VtxTrueptNCfromDstSB->SetYTitle(
"Entries");
2172 TH2F *hCPtaVSd0d0NCother=
new TH2F(
"hCPtaVSd0d0NCother",
"hCPtaVSd0d0_NoCuts_other",1000,-100000.,100000.,100,-1.,1.);
2173 TH1F *hSecVtxZNCother=
new TH1F(
"hSecVtxZNCother",
"hSecVtxZ_NoCuts_other",1000,-8.,8.);
2174 TH1F *hSecVtxXNCother=
new TH1F(
"hSecVtxXNCother",
"hSecVtxX_NoCuts_other",1000,-3000.,3000.);
2175 TH1F *hSecVtxYNCother=
new TH1F(
"hSecVtxYNCother",
"hSecVtxY_NoCuts_other",1000,-3000.,3000.);
2176 TH2F *hSecVtxXYNCother=
new TH2F(
"hSecVtxXYNCother",
"hSecVtxXY_NoCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
2177 TH1F *hSecVtxPhiNCother=
new TH1F(
"hSecVtxPhiNCother",
"hSecVtxPhi_NoCuts_other",180,-180.1,180.1);
2178 TH1F *hd0singlTrackNCother=
new TH1F(
"hd0singlTrackNCother",
"hd0singlTrackNoCuts_Other",1000,-5000.,5000.);
2179 TH1F *hCPtaNCother=
new TH1F(
"hCPtaNCother",
"hCPta_NoCuts_other",100,-1.,1.);
2180 TH1F *hd0xd0NCother=
new TH1F(
"hd0xd0NCother",
"hd0xd0_NoCuts_other",1000,-100000.,100000.);
2181 TH1F *hMassTrueNCother=
new TH1F(
"hMassTrueNCother",
"D^{0} MC inv. Mass No Cuts other(All momenta)",600,1.600,2.200);
2182 TH1F *hMassNCother=
new TH1F(
"hMassNCother",
"D^{0} inv. Mass No Cuts other (All momenta)",600,1.600,2.200);
2183 hMassNCother->Sumw2();
2184 TH1F *hMassTrueNCotherPM=
new TH1F(
"hMassTrueNCotherPM",
"D^{0} MC inv. Mass No Cuts Other, Mass Peak. (All momenta)",600,1.600,2.200);
2185 TH1F *hMassNCotherPM=
new TH1F(
"hMassNCotherPM",
"D^{0} inv. Mass No Cuts Other (All momenta), MassPeak",600,1.600,2.200);
2186 hMassNCotherPM->Sumw2();
2187 TH1F *hMassTrueNCotherSB=
new TH1F(
"hMassTrueNCotherSB",
"D^{0} MC inv. Mass in Side Bands No Cuts other(All momenta)",600,1.600,2.200);
2188 TH1F *hMassNCotherSB=
new TH1F(
"hMassNCotherSB",
"D^{0} inv. Mass in Side Bands No Cuts other (All momenta)",600,1.600,2.200);
2189 hMassNCotherSB->Sumw2();
2210 TH1F *hdcaNCother=
new TH1F(
"hdcaNCother",
"hdca_NoCuts_Other",100,0.,1000.);
2211 hdcaNCother->SetXTitle(
"dca [#mum]");
2212 hdcaNCother->SetYTitle(
"Entries");
2213 TH1F *hcosthetastarNCother=
new TH1F(
"hcosthetastarNCother",
"hCosThetaStar_NoCuts_Other",50,-1.,1.);
2214 hcosthetastarNCother->SetXTitle(
"cos #theta^{*}");
2215 hcosthetastarNCother->SetYTitle(
"Entries");
2216 TH1F *hptD0NCother=
new TH1F(
"hptD0NCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2217 hptD0NCother->SetXTitle(
"p_{t} [GeV/c]");
2218 hptD0NCother->SetYTitle(
"Entries");
2219 TH1F *hptD0VsMaxPtNCother=
new TH1F(
"hptD0VsMaxPtNCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2220 TH2F *hptD0PTallsqrtNCother=
new TH2F(
"hptD0PTallsqrtNCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2221 TH2F *hptD0PTallNCother=
new TH2F(
"hptD0PTallNCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2222 TH2F *hptD0vsptBNCother=
new TH2F(
"hptD0vsptBNCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2223 TH2F *hpD0vspBNCother=
new TH2F(
"hpD0vspBNCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2224 TH2F *hptD0vsptcquarkNCother=
new TH2F(
"hptD0vsptcquarkNCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2225 TH2F *hpD0vspcquarkNCother=
new TH2F(
"hpD0vspcquarkNCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2237 TH1F *hd0zD0ptNCother;
2238 TH1F *hInvMassD0NCother,*hInvMassD0barNCother;
2239 TH2F *hInvMassPtNCother=
new TH2F(
"hInvMassPtNCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2240 THnSparseF *hSparseNCother=
new THnSparseF(
"hSparseNCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2241 hSparseNCother->SetBinEdges(0,massbins);
2242 hSparseNCother->SetBinEdges(1,massbins);
2243 hSparseNCother->SetBinEdges(2,ptbinsForNsparse);
2244 hSparseNCother->SetBinEdges(3,impparbins);
2245 hSparseNCother->SetBinEdges(4,massHypoBins);
2258 TH1F *hCosPDPBNCother;
2259 TH1F *hCosPcPDNCother;
2262 TH2F *hd0D0VSd0xd0NCotherpt;
2263 TH2F *hangletracksVSd0xd0NCotherpt;
2264 TH2F *hangletracksVSd0D0NCotherpt;
2265 TH1F *hd0xd0NCotherpt;
2267 TH2F *hTOFpidNCother=
new TH2F(
"hTOFpidNCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2271 namehist=
"hd0zD0ptNCother_pt";
2273 titlehist=
"d0(z) No Cuts Otherm ptbin=";
2275 hd0zD0ptNCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2276 hd0zD0ptNCother->SetXTitle(
"d_{0}(z) [#mum]");
2277 hd0zD0ptNCother->SetYTitle(
"Entries");
2280 namehist=
"hInvMassD0NCother_pt";
2282 titlehist=
"Invariant Mass No Cuts Other ptbin=";
2284 hInvMassD0NCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2285 hInvMassD0NCother->SetXTitle(
"Invariant Mass [GeV]");
2286 hInvMassD0NCother->SetYTitle(
"Entries");
2290 namehist=
"hInvMassD0barNCother_pt";
2292 titlehist=
"Invariant Mass D0bar No Cuts Other ptbin=";
2294 hInvMassD0barNCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2295 hInvMassD0barNCother->SetXTitle(
"Invariant Mass [GeV]");
2296 hInvMassD0barNCother->SetYTitle(
"Entries");
2300 namehist=
"hetaNCother_pt";
2302 titlehist=
"eta No Cuts Other ptbin=";
2304 hetaNCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2305 hetaNCother->SetXTitle(
"Pseudorapidity");
2306 hetaNCother->SetYTitle(
"Entries");
2309 namehist=
"hCosPDPBNCother_pt";
2311 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2313 hCosPDPBNCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2314 hCosPDPBNCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
2315 hCosPDPBNCother->SetYTitle(
"Entries");
2318 namehist=
"hCosPcPDNCother_pt";
2320 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2322 hCosPcPDNCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2323 hCosPcPDNCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2324 hCosPcPDNCother->SetYTitle(
"Entries");
2329 namehist=
"hd0xd0NCother_pt";
2331 titlehist=
"d0xd0 No Cuts Other ptbin=";
2333 hd0xd0NCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2334 hd0xd0NCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2335 hd0xd0NCotherpt->SetYTitle(
"Entries");
2339 namehist=
"hd0D0VSd0xd0NCother_pt";
2341 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
2343 hd0D0VSd0xd0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2344 hd0D0VSd0xd0NCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2345 hd0D0VSd0xd0NCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2349 namehist=
"hangletracksVSd0xd0NCother_pt";
2351 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
2353 hangletracksVSd0xd0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2354 hangletracksVSd0xd0NCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2355 hangletracksVSd0xd0NCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
2359 namehist=
"hangletracksVSd0D0NCother_pt";
2361 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Other ptbin=";
2363 hangletracksVSd0D0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2364 hangletracksVSd0D0NCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2365 hangletracksVSd0D0NCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
2376 TH1F *hd0D0NCotherPM =
new TH1F(
"hd0D0NCotherPM",
"D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2377 hd0D0NCotherPM->SetXTitle(
"Impact parameter [#mum]");
2378 hd0D0NCotherPM->SetYTitle(
"Entries");
2380 TH1F *hd0D0VtxTrueNCotherPM =
new TH1F(
"hd0D0VtxTrueNCotherPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2381 hd0D0VtxTrueNCotherPM->SetXTitle(
"Impact parameter [#mum]");
2382 hd0D0VtxTrueNCotherPM->SetYTitle(
"Entries");
2384 TH1F *hMCd0D0NCotherPM =
new TH1F(
"hMCd0D0NCotherPM",
"D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2385 hMCd0D0NCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
2386 hMCd0D0NCotherPM->SetYTitle(
"Entries");
2388 TH1F *hd0D0NCotherSB =
new TH1F(
"hd0D0NCotherSB",
"D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2389 hd0D0NCotherSB->SetXTitle(
"Impact parameter [#mum]");
2390 hd0D0NCotherSB->SetYTitle(
"Entries");
2392 TH1F *hd0D0VtxTrueNCotherSB =
new TH1F(
"hd0D0VtxTrueNCotherSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2393 hd0D0VtxTrueNCotherSB->SetXTitle(
"Impact parameter [#mum]");
2394 hd0D0VtxTrueNCotherSB->SetYTitle(
"Entries");
2396 TH1F *hMCd0D0NCotherSB =
new TH1F(
"hMCd0D0NCotherSB",
"D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2397 hMCd0D0NCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
2398 hMCd0D0NCotherSB->SetYTitle(
"Entries");
2407 TH1F *hd0D0ptNCotherPM;
2408 TH1F *hMCd0D0ptNCotherPM;
2409 TH1F *hd0D0VtxTrueptNCotherPM;
2410 TH1F *hd0D0ptNCotherSB;
2411 TH1F *hMCd0D0ptNCotherSB;
2412 TH1F *hd0D0VtxTrueptNCotherSB;
2413 namehist=
"hd0D0ptNCother_";
2414 titlehist=
"D^{0} impact par. plot, No Cuts, Other, ";
2417 strnamept.Append(
"PkMss_pt");
2420 strtitlept=titlehist;
2421 strtitlept.Append(
" Mass Peak, ");
2423 strtitlept.Append(
"<= pt <");
2425 strtitlept.Append(
" [GeV/c]");
2427 hd0D0ptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2428 hd0D0ptNCotherPM->SetXTitle(
"Impact parameter [#mum] ");
2429 hd0D0ptNCotherPM->SetYTitle(
"Entries");
2432 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2433 hMCd0D0ptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2434 hMCd0D0ptNCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
2435 hMCd0D0ptNCotherPM->SetYTitle(
"Entries");
2439 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2440 hd0D0VtxTrueptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2441 hd0D0VtxTrueptNCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2442 hd0D0VtxTrueptNCotherPM->SetYTitle(
"Entries");
2446 strnamept.Append(
"SBMss_pt");
2449 strtitlept=titlehist;
2450 strtitlept.Append(
" Side Bands, ");
2452 strtitlept.Append(
"<= pt <");
2454 strtitlept.Append(
" [GeV/c]");
2456 hd0D0ptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2457 hd0D0ptNCotherSB->SetXTitle(
"Impact parameter [#mum] ");
2458 hd0D0ptNCotherSB->SetYTitle(
"Entries");
2461 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2462 hMCd0D0ptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2463 hMCd0D0ptNCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
2464 hMCd0D0ptNCotherSB->SetYTitle(
"Entries");
2467 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2468 hd0D0VtxTrueptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2469 hd0D0VtxTrueptNCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2470 hd0D0VtxTrueptNCotherSB->SetYTitle(
"Entries");
2485 TH2F *hCPtaVSd0d0LSCsign=
new TH2F(
"hCPtaVSd0d0LSCsign",
"hCPtaVSd0d0_LooseCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
2486 TH1F *hSecVtxZLSCsign=
new TH1F(
"hSecVtxZLSCsign",
"hSecVtxZ_LooseCuts_Signal",1000,-8.,8.);
2487 TH1F *hSecVtxXLSCsign=
new TH1F(
"hSecVtxXLSCsign",
"hSecVtxX_LooseCuts_Signal",1000,-3000.,3000.);
2488 TH1F *hSecVtxYLSCsign=
new TH1F(
"hSecVtxYLSCsign",
"hSecVtxY_LooseCuts_Signal",1000,-3000.,3000.);
2489 TH2F *hSecVtxXYLSCsign=
new TH2F(
"hSecVtxXYLSCsign",
"hSecVtxXY_LooseCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
2490 TH1F *hSecVtxPhiLSCsign=
new TH1F(
"hSecVtxPhiLSCsign",
"hSecVtxPhi_LooseCuts_Signal",180,-180.1,180.1);
2491 TH1F *hd0singlTrackLSCsign=
new TH1F(
"hd0singlTrackLSCsign",
"hd0singlTrackLooseCuts_Signal",1000,-5000.,5000.);
2492 TH1F *hCPtaLSCsign=
new TH1F(
"hCPtaLSCsign",
"hCPta_LooseCuts_Signal",100,-1.,1.);
2493 TH1F *hd0xd0LSCsign=
new TH1F(
"hd0xd0LSCsign",
"hd0xd0_LooseCuts_Signal",1000,-100000.,100000.);
2494 TH1F *hMassTrueLSCsign=
new TH1F(
"hMassTrueLSCsign",
"D^{0} MC inv. Mass Loose Cuts Signal(All momenta)",600,1.600,2.200);
2495 TH1F *hMassLSCsign=
new TH1F(
"hMassLSCsign",
"D^{0} inv. Mass Loose Cuts Signal (All momenta)",600,1.600,2.200);
2496 hMassLSCsign->Sumw2();
2497 TH1F *hMassTrueLSCsignPM=
new TH1F(
"hMassTrueLSCsignPM",
"D^{0} MC inv. Mass Loose Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
2498 TH1F *hMassLSCsignPM=
new TH1F(
"hMassLSCsignPM",
"D^{0} inv. Mass Loose Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
2499 hMassLSCsignPM->Sumw2();
2500 TH1F *hMassTrueLSCsignSB=
new TH1F(
"hMassTrueLSCsignSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts Signal(All momenta)",600,1.600,2.200);
2501 TH1F *hMassLSCsignSB=
new TH1F(
"hMassLSCsignSB",
"D^{0} inv. Mass in Side Bands Loose Cuts Signal (All momenta)",600,1.600,2.200);
2502 hMassLSCsignSB->Sumw2();
2522 TH1F *hdcaLSCsign=
new TH1F(
"hdcaLSCsign",
"hdca_LooseCuts_Sign",100,0.,1000.);
2523 hdcaLSCsign->SetXTitle(
"dca [#mum]");
2524 hdcaLSCsign->SetYTitle(
"Entries");
2525 TH1F *hcosthetastarLSCsign=
new TH1F(
"hcosthetastarLSCsign",
"hCosThetaStar_LooseCuts_Sign",50,-1.,1.);
2526 hcosthetastarLSCsign->SetXTitle(
"cos #theta^{*}");
2527 hcosthetastarLSCsign->SetYTitle(
"Entries");
2528 TH1F *hptD0LSCsign=
new TH1F(
"hptD0LSCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2529 hptD0LSCsign->SetXTitle(
"p_{t} [GeV/c]");
2530 hptD0LSCsign->SetYTitle(
"Entries");
2531 TH1F *hptD0VsMaxPtLSCsign=
new TH1F(
"hptD0VsMaxPtLSCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2532 TH2F *hptD0PTallsqrtLSCsign=
new TH2F(
"hptD0PTallsqrtLSCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2533 TH2F *hptD0PTallLSCsign=
new TH2F(
"hptD0PTallLSCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2534 TH2F *hptD0vsptBLSCsign=
new TH2F(
"hptD0vsptBLSCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2535 TH2F *hpD0vspBLSCsign=
new TH2F(
"hpD0vspBLSCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2536 TH2F *hptD0vsptcquarkLSCsign=
new TH2F(
"hptD0vsptcquarkLSCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2537 TH2F *hpD0vspcquarkLSCsign=
new TH2F(
"hpD0vspcquarkLSCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2549 TH1F *hd0zD0ptLSCsign;
2550 TH1F *hInvMassD0LSCsign,*hInvMassD0barLSCsign;
2551 TH2F *hInvMassPtLSCsign=
new TH2F(
"hInvMassPtLSCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2552 TH3F *hInvMassPtSelSignOnlyLSCsign=
new TH3F(
"hInvMassPtSelSignOnlyLSCsign",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
2554 TH3F *hInvMassPtSelReflOnlyLSCsign=
new TH3F(
"hInvMassPtSelReflOnlyLSCsign",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
2557 THnSparseF *hSparseLSCsign=
new THnSparseF(
"hSparseLSCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2558 hSparseLSCsign->SetBinEdges(0,massbins);
2559 hSparseLSCsign->SetBinEdges(1,massbins);
2560 hSparseLSCsign->SetBinEdges(2,ptbinsForNsparse);
2561 hSparseLSCsign->SetBinEdges(3,impparbins);
2562 hSparseLSCsign->SetBinEdges(4,massHypoBins);
2565 TH1F *hCosPDPBLSCsign;
2566 TH1F *hCosPcPDLSCsign;
2578 THnSparseF *hSparseCxyLxyLSCsign=
new THnSparseF(
"hSparseCxyLxyLSCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
2579 hSparseCxyLxyLSCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
2580 hSparseCxyLxyLSCsign->GetAxis(0)->SetName(
"mass");
2581 hSparseCxyLxyLSCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
2582 hSparseCxyLxyLSCsign->GetAxis(1)->SetName(
"pt");
2583 hSparseCxyLxyLSCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
2584 hSparseCxyLxyLSCsign->GetAxis(2)->SetName(
"CosPointXY");
2585 hSparseCxyLxyLSCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
2586 hSparseCxyLxyLSCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
2587 hSparseCxyLxyLSCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
2591 TH2F *hd0D0VSd0xd0LSCsignpt;
2592 TH2F *hangletracksVSd0xd0LSCsignpt;
2593 TH2F *hangletracksVSd0D0LSCsignpt;
2594 TH1F *hd0xd0LSCsignpt;
2595 TH1F *hPhiHistPMLSCsignpt,*hPhiHistSBLSCsignpt;
2597 TH2F *hTOFpidLSCsign=
new TH2F(
"hTOFpidLSCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2602 namehist=
"hPhiHistPMLSCsign_pt";
2604 titlehist=
"Azimuthal correlation LS Cuts Sign PM ptbin=";
2606 hPhiHistPMLSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
2607 hPhiHistPMLSCsignpt->Sumw2();
2610 namehist=
"hPhiHistSBLSCsign_pt";
2612 titlehist=
"Azimuthal correlation LS Cuts Sign SB ptbin=";
2614 hPhiHistSBLSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
2615 hPhiHistSBLSCsignpt->Sumw2();
2620 namehist=
"hd0zD0ptLSCsign_pt";
2622 titlehist=
"d0(z) Loose Cuts Signm ptbin=";
2624 hd0zD0ptLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2625 hd0zD0ptLSCsign->SetXTitle(
"d_{0}(z) [#mum]");
2626 hd0zD0ptLSCsign->SetYTitle(
"Entries");
2629 namehist=
"hInvMassD0LSCsign_pt";
2631 titlehist=
"Invariant Mass Loose Cuts Sign ptbin=";
2633 hInvMassD0LSCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2634 hInvMassD0LSCsign->SetXTitle(
"Invariant Mass [GeV]");
2635 hInvMassD0LSCsign->SetYTitle(
"Entries");
2639 namehist=
"hInvMassD0barLSCsign_pt";
2641 titlehist=
"Invariant Mass D0bar Loose Cuts Signal ptbin=";
2643 hInvMassD0barLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2644 hInvMassD0barLSCsign->SetXTitle(
"Invariant Mass [GeV]");
2645 hInvMassD0barLSCsign->SetYTitle(
"Entries");
2648 namehist=
"hetaLSCsign_pt";
2650 titlehist=
"eta Loose Cuts Sign ptbin=";
2652 hetaLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2653 hetaLSCsign->SetXTitle(
"Pseudorapidity");
2654 hetaLSCsign->SetYTitle(
"Entries");
2657 namehist=
"hCosPDPBLSCsign_pt";
2659 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2661 hCosPDPBLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2662 hCosPDPBLSCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
2663 hCosPDPBLSCsign->SetYTitle(
"Entries");
2666 namehist=
"hCosPcPDLSCsign_pt";
2668 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2670 hCosPcPDLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2671 hCosPcPDLSCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2672 hCosPcPDLSCsign->SetYTitle(
"Entries");
2677 namehist=
"hd0xd0LSCsign_pt";
2679 titlehist=
"d0xd0 Loose Cuts Sign ptbin=";
2681 hd0xd0LSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2682 hd0xd0LSCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2683 hd0xd0LSCsignpt->SetYTitle(
"Entries");
2687 namehist=
"hd0D0VSd0xd0LSCsign_pt";
2689 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2691 hd0D0VSd0xd0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2692 hd0D0VSd0xd0LSCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2693 hd0D0VSd0xd0LSCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2697 namehist=
"hangletracksVSd0xd0LSCsign_pt";
2699 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2701 hangletracksVSd0xd0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2702 hangletracksVSd0xd0LSCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2703 hangletracksVSd0xd0LSCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
2707 namehist=
"hangletracksVSd0D0LSCsign_pt";
2709 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Sign ptbin=";
2711 hangletracksVSd0D0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2712 hangletracksVSd0D0LSCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2713 hangletracksVSd0D0LSCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
2723 TH1F *hd0D0LSCsignPM =
new TH1F(
"hd0D0LSCsignPM",
"D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2724 hd0D0LSCsignPM->SetXTitle(
"Impact parameter [#mum]");
2725 hd0D0LSCsignPM->SetYTitle(
"Entries");
2727 TH1F *hd0D0VtxTrueLSCsignPM =
new TH1F(
"hd0D0VtxTrueLSCsignPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2728 hd0D0VtxTrueLSCsignPM->SetXTitle(
"Impact parameter [#mum]");
2729 hd0D0VtxTrueLSCsignPM->SetYTitle(
"Entries");
2731 TH1F *hMCd0D0LSCsignPM =
new TH1F(
"hMCd0D0LSCsignPM",
"D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2732 hMCd0D0LSCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
2733 hMCd0D0LSCsignPM->SetYTitle(
"Entries");
2735 TH1F *hd0D0LSCsignSB =
new TH1F(
"hd0D0LSCsignSB",
"D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2736 hd0D0LSCsignSB->SetXTitle(
"Impact parameter [#mum]");
2737 hd0D0LSCsignSB->SetYTitle(
"Entries");
2739 TH1F *hd0D0VtxTrueLSCsignSB =
new TH1F(
"hd0D0VtxTrueLSCsignSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2740 hd0D0VtxTrueLSCsignSB->SetXTitle(
"Impact parameter [#mum]");
2741 hd0D0VtxTrueLSCsignSB->SetYTitle(
"Entries");
2743 TH1F *hMCd0D0LSCsignSB =
new TH1F(
"hMCd0D0LSCsignSB",
"D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2744 hMCd0D0LSCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
2745 hMCd0D0LSCsignSB->SetYTitle(
"Entries");
2754 TH1F *hd0D0ptLSCsignPM;
2755 TH1F *hMCd0D0ptLSCsignPM;
2756 TH1F *hd0D0VtxTrueptLSCsignPM;
2757 TH1F *hd0D0ptLSCsignSB;
2758 TH1F *hMCd0D0ptLSCsignSB;
2759 TH1F *hd0D0VtxTrueptLSCsignSB;
2760 namehist=
"hd0D0ptLSCsign_";
2761 titlehist=
"D^{0} impact par. plot, Loose Cuts, Signal, ";
2764 strnamept.Append(
"PkMss_pt");
2767 strtitlept=titlehist;
2768 strtitlept.Append(
" Mass Peak, ");
2770 strtitlept.Append(
"<= pt <");
2772 strtitlept.Append(
" [GeV/c]");
2774 hd0D0ptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2775 hd0D0ptLSCsignPM->SetXTitle(
"Impact parameter [#mum] ");
2776 hd0D0ptLSCsignPM->SetYTitle(
"Entries");
2779 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2780 hMCd0D0ptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2781 hMCd0D0ptLSCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
2782 hMCd0D0ptLSCsignPM->SetYTitle(
"Entries");
2786 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2787 hd0D0VtxTrueptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2788 hd0D0VtxTrueptLSCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2789 hd0D0VtxTrueptLSCsignPM->SetYTitle(
"Entries");
2793 strnamept.Append(
"SBMss_pt");
2796 strtitlept=titlehist;
2797 strtitlept.Append(
" Side Bands, ");
2799 strtitlept.Append(
"<= pt <");
2801 strtitlept.Append(
" [GeV/c]");
2803 hd0D0ptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2804 hd0D0ptLSCsignSB->SetXTitle(
"Impact parameter [#mum] ");
2805 hd0D0ptLSCsignSB->SetYTitle(
"Entries");
2808 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2809 hMCd0D0ptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2810 hMCd0D0ptLSCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
2811 hMCd0D0ptLSCsignSB->SetYTitle(
"Entries");
2814 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2815 hd0D0VtxTrueptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2816 hd0D0VtxTrueptLSCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2817 hd0D0VtxTrueptLSCsignSB->SetYTitle(
"Entries");
2825 TH2F *hCPtaVSd0d0LSCback=
new TH2F(
"hCPtaVSd0d0LSCback",
"hCPtaVSd0d0_LooseCuts_Background",1000,-100000.,100000.,100,-1.,1.);
2826 TH1F *hSecVtxZLSCback=
new TH1F(
"hSecVtxZLSCback",
"hSecVtxZ_LooseCuts_Background",1000,-8.,8.);
2827 TH1F *hSecVtxXLSCback=
new TH1F(
"hSecVtxXLSCback",
"hSecVtxX_LooseCuts_Background",1000,-3000.,3000.);
2828 TH1F *hSecVtxYLSCback=
new TH1F(
"hSecVtxYLSCback",
"hSecVtxY_LooseCuts_Background",1000,-3000.,3000.);
2829 TH2F *hSecVtxXYLSCback=
new TH2F(
"hSecVtxXYLSCback",
"hSecVtxXY_LooseCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
2830 TH1F *hSecVtxPhiLSCback=
new TH1F(
"hSecVtxPhiLSCback",
"hSecVtxPhi_LooseCuts_Background",180,-180.1,180.1);
2831 TH1F *hd0singlTrackLSCback=
new TH1F(
"hd0singlTrackLSCback",
"hd0singlTrackLooseCuts_Back",1000,-5000.,5000.);
2832 TH1F *hCPtaLSCback=
new TH1F(
"hCPtaLSCback",
"hCPta_LooseCuts_Background",100,-1.,1.);
2833 TH1F *hd0xd0LSCback=
new TH1F(
"hd0xd0LSCback",
"hd0xd0_LooseCuts_Background",1000,-100000.,100000.);
2834 TH1F *hMassTrueLSCback=
new TH1F(
"hMassTrueLSCback",
"D^{0} MC inv. Mass Loose Cuts Background(All momenta)",600,1.600,2.200);
2835 TH1F *hMassLSCback=
new TH1F(
"hMassLSCback",
"D^{0} inv. Mass Loose Cuts Background (All momenta)",600,1.600,2.200);
2836 hMassLSCback->Sumw2();
2837 TH1F *hMassTrueLSCbackPM=
new TH1F(
"hMassTrueLSCbackPM",
"D^{0} MC inv. Mass Loose Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
2838 TH1F *hMassLSCbackPM=
new TH1F(
"hMassLSCbackPM",
"D^{0} inv. Mass Loose Cuts Background (All momenta), MassPeak",600,1.600,2.200);
2839 hMassLSCbackPM->Sumw2();
2840 TH1F *hMassTrueLSCbackSB=
new TH1F(
"hMassTrueLSCbackSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts Background(All momenta)",600,1.600,2.200);
2841 TH1F *hMassLSCbackSB=
new TH1F(
"hMassLSCbackSB",
"D^{0} inv. Mass in Side Bands Loose Cuts Background (All momenta)",600,1.600,2.200);
2842 hMassLSCbackSB->Sumw2();
2868 TH1F *hdcaLSCback=
new TH1F(
"hdcaLSCback",
"hdca_LooseCuts_Backgr",100,0.,1000.);
2869 hdcaLSCback->SetXTitle(
"dca [#mum]");
2870 hdcaLSCback->SetYTitle(
"Entries");
2871 TH1F *hcosthetastarLSCback=
new TH1F(
"hcosthetastarLSCback",
"hCosThetaStar_LooseCuts_Backgr",50,-1.,1.);
2872 hcosthetastarLSCback->SetXTitle(
"cos #theta^{*}");
2873 hcosthetastarLSCback->SetYTitle(
"Entries");
2874 TH1F *hptD0LSCback=
new TH1F(
"hptD0LSCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2875 hptD0LSCback->SetXTitle(
"p_{t} [GeV/c]");
2876 hptD0LSCback->SetYTitle(
"Entries");
2877 TH1F *hptD0VsMaxPtLSCback=
new TH1F(
"hptD0VsMaxPtLSCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2878 TH2F *hptD0PTallsqrtLSCback=
new TH2F(
"hptD0PTallsqrtLSCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2879 TH2F *hptD0PTallLSCback=
new TH2F(
"hptD0PTallLSCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2880 TH2F *hptD0vsptBLSCback=
new TH2F(
"hptD0vsptBLSCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2881 TH2F *hpD0vspBLSCback=
new TH2F(
"hpD0vspBLSCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2882 TH2F *hptD0vsptcquarkLSCback=
new TH2F(
"hptD0vsptcquarkLSCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2883 TH2F *hpD0vspcquarkLSCback=
new TH2F(
"hpD0vspcquarkLSCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2895 TH1F *hd0zD0ptLSCback;
2896 TH1F *hInvMassD0LSCback,*hInvMassD0barLSCback;
2897 TH2F *hInvMassPtLSCback=
new TH2F(
"hInvMassPtLSCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2898 THnSparseF *hSparseLSCback=
new THnSparseF(
"hSparseLSCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2899 hSparseLSCback->SetBinEdges(0,massbins);
2900 hSparseLSCback->SetBinEdges(1,massbins);
2901 hSparseLSCback->SetBinEdges(2,ptbinsForNsparse);
2902 hSparseLSCback->SetBinEdges(3,impparbins);
2903 hSparseLSCback->SetBinEdges(4,massHypoBins);
2914 TH1F *hCosPDPBLSCback;
2915 TH1F *hCosPcPDLSCback;
2918 TH2F *hd0D0VSd0xd0LSCbackpt;
2919 TH2F *hangletracksVSd0xd0LSCbackpt;
2920 TH2F *hangletracksVSd0D0LSCbackpt;
2921 TH1F *hd0xd0LSCbackpt;
2923 TH2F *hTOFpidLSCback=
new TH2F(
"hTOFpidLSCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2927 namehist=
"hd0zD0ptLSCback_pt";
2929 titlehist=
"d0(z) Loose Cuts Backgr ptbin=";
2931 hd0zD0ptLSCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2932 hd0zD0ptLSCback->SetXTitle(
"d_{0}(z) [#mum]");
2933 hd0zD0ptLSCback->SetYTitle(
"Entries");
2936 namehist=
"hInvMassD0LSCback_pt";
2938 titlehist=
"Invariant Mass Loose Cuts Backgr ptbin=";
2940 hInvMassD0LSCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2941 hInvMassD0LSCback->SetXTitle(
"Invariant Mass [GeV]");
2942 hInvMassD0LSCback->SetYTitle(
"Entries");
2945 namehist=
"hInvMassD0barLSCback_pt";
2947 titlehist=
"Invariant Mass D0bar Loose Cuts Back ptbin=";
2949 hInvMassD0barLSCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2950 hInvMassD0barLSCback->SetXTitle(
"Invariant Mass [GeV]");
2951 hInvMassD0barLSCback->SetYTitle(
"Entries");
2955 namehist=
"hetaLSCback_pt";
2957 titlehist=
"eta Loose Cuts Backgr ptbin=";
2959 hetaLSCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2960 hetaLSCback->SetXTitle(
"Pseudorapidity");
2961 hetaLSCback->SetYTitle(
"Entries");
2964 namehist=
"hCosPDPBLSCback_pt";
2966 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2968 hCosPDPBLSCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2969 hCosPDPBLSCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
2970 hCosPDPBLSCback->SetYTitle(
"Entries");
2973 namehist=
"hCosPcPDLSCback_pt";
2975 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2977 hCosPcPDLSCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2978 hCosPcPDLSCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2979 hCosPcPDLSCback->SetYTitle(
"Entries");
2983 namehist=
"hd0xd0LSCback_pt";
2985 titlehist=
"d0xd0 Loose Cuts Back ptbin=";
2987 hd0xd0LSCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2988 hd0xd0LSCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2989 hd0xd0LSCbackpt->SetYTitle(
"Entries");
2993 namehist=
"hd0D0VSd0xd0LSCback_pt";
2995 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
2997 hd0D0VSd0xd0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2998 hd0D0VSd0xd0LSCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2999 hd0D0VSd0xd0LSCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3003 namehist=
"hangletracksVSd0xd0LSCback_pt";
3005 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
3007 hangletracksVSd0xd0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3008 hangletracksVSd0xd0LSCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3009 hangletracksVSd0xd0LSCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
3013 namehist=
"hangletracksVSd0D0LSCback_pt";
3015 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Back ptbin=";
3017 hangletracksVSd0D0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3018 hangletracksVSd0D0LSCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3019 hangletracksVSd0D0LSCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
3034 TH1F *hd0D0LSCbackPM =
new TH1F(
"hd0D0LSCbackPM",
"D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3035 hd0D0LSCbackPM->SetXTitle(
"Impact parameter [#mum]");
3036 hd0D0LSCbackPM->SetYTitle(
"Entries");
3038 TH1F *hd0D0VtxTrueLSCbackPM =
new TH1F(
"hd0D0VtxTrueLSCbackPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3039 hd0D0VtxTrueLSCbackPM->SetXTitle(
"Impact parameter [#mum]");
3040 hd0D0VtxTrueLSCbackPM->SetYTitle(
"Entries");
3042 TH1F *hMCd0D0LSCbackPM =
new TH1F(
"hMCd0D0LSCbackPM",
"D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3043 hMCd0D0LSCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
3044 hMCd0D0LSCbackPM->SetYTitle(
"Entries");
3046 TH1F *hd0D0LSCbackSB =
new TH1F(
"hd0D0LSCbackSB",
"D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3047 hd0D0LSCbackSB->SetXTitle(
"Impact parameter [#mum]");
3048 hd0D0LSCbackSB->SetYTitle(
"Entries");
3050 TH1F *hd0D0VtxTrueLSCbackSB =
new TH1F(
"hd0D0VtxTrueLSCbackSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3051 hd0D0VtxTrueLSCbackSB->SetXTitle(
"Impact parameter [#mum]");
3052 hd0D0VtxTrueLSCbackSB->SetYTitle(
"Entries");
3054 TH1F *hMCd0D0LSCbackSB =
new TH1F(
"hMCd0D0LSCbackSB",
"D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3055 hMCd0D0LSCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
3056 hMCd0D0LSCbackSB->SetYTitle(
"Entries");
3065 TH1F *hd0D0ptLSCbackPM;
3066 TH1F *hMCd0D0ptLSCbackPM;
3067 TH1F *hd0D0VtxTrueptLSCbackPM;
3068 TH1F *hd0D0ptLSCbackSB;
3069 TH1F *hMCd0D0ptLSCbackSB;
3070 TH1F *hd0D0VtxTrueptLSCbackSB;
3071 namehist=
"hd0D0ptLSCback_";
3072 titlehist=
"D^{0} impact par. plot, Loose Cuts, Background, ";
3075 strnamept.Append(
"PkMss_pt");
3078 strtitlept=titlehist;
3079 strtitlept.Append(
" Mass Peak, ");
3081 strtitlept.Append(
"<= pt <");
3083 strtitlept.Append(
" [GeV/c]");
3085 hd0D0ptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3086 hd0D0ptLSCbackPM->SetXTitle(
"Impact parameter [#mum] ");
3087 hd0D0ptLSCbackPM->SetYTitle(
"Entries");
3090 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3091 hMCd0D0ptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3092 hMCd0D0ptLSCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
3093 hMCd0D0ptLSCbackPM->SetYTitle(
"Entries");
3097 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3098 hd0D0VtxTrueptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3099 hd0D0VtxTrueptLSCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3100 hd0D0VtxTrueptLSCbackPM->SetYTitle(
"Entries");
3104 strnamept.Append(
"SBMss_pt");
3107 strtitlept=titlehist;
3108 strtitlept.Append(
" Side Bands, ");
3110 strtitlept.Append(
"<= pt <");
3112 strtitlept.Append(
" [GeV/c]");
3114 hd0D0ptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3115 hd0D0ptLSCbackSB->SetXTitle(
"Impact parameter [#mum] ");
3116 hd0D0ptLSCbackSB->SetYTitle(
"Entries");
3119 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3120 hMCd0D0ptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3121 hMCd0D0ptLSCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
3122 hMCd0D0ptLSCbackSB->SetYTitle(
"Entries");
3125 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3126 hd0D0VtxTrueptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3127 hd0D0VtxTrueptLSCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3128 hd0D0VtxTrueptLSCbackSB->SetYTitle(
"Entries");
3138 TH2F *hCPtaVSd0d0LSCfromB=
new TH2F(
"hCPtaVSd0d0LSCfromB",
"hCPtaVSd0d0_LooseCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
3139 TH1F *hSecVtxZLSCfromB=
new TH1F(
"hSecVtxZLSCfromB",
"hSecVtxZ_LooseCuts_FromB",1000,-8.,8.);
3140 TH1F *hSecVtxXLSCfromB=
new TH1F(
"hSecVtxXLSCfromB",
"hSecVtxX_LooseCuts_FromB",1000,-3000.,3000.);
3141 TH1F *hSecVtxYLSCfromB=
new TH1F(
"hSecVtxYLSCfromB",
"hSecVtxY_LooseCuts_FromB",1000,-3000.,3000.);
3142 TH2F *hSecVtxXYLSCfromB=
new TH2F(
"hSecVtxXYLSCfromB",
"hSecVtxXY_LooseCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
3143 TH1F *hSecVtxPhiLSCfromB=
new TH1F(
"hSecVtxPhiLSCfromB",
"hSecVtxPhi_LooseCuts_FromB",180,-180.1,180.1);
3144 TH1F *hd0singlTrackLSCfromB=
new TH1F(
"hd0singlTrackLSCfromB",
"hd0singlTrackLooseCuts_FromB",1000,-5000.,5000.);
3145 TH1F *hCPtaLSCfromB=
new TH1F(
"hCPtaLSCfromB",
"hCPta_LooseCuts_FromB",100,-1.,1.);
3146 TH1F *hd0xd0LSCfromB=
new TH1F(
"hd0xd0LSCfromB",
"hd0xd0_LooseCuts_FromB",1000,-100000.,100000.);
3147 TH1F *hMassTrueLSCfromB=
new TH1F(
"hMassTrueLSCfromB",
"D^{0} MC inv. Mass Loose Cuts FromB(All momenta)",600,1.600,2.200);
3148 TH1F *hMassLSCfromB=
new TH1F(
"hMassLSCfromB",
"D^{0} inv. Mass Loose Cuts FromB (All momenta)",600,1.600,2.200);
3149 hMassLSCfromB->Sumw2();
3150 TH1F *hMassTrueLSCfromBPM=
new TH1F(
"hMassTrueLSCfromBPM",
"D^{0} MC inv. Mass Loose Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
3151 TH1F *hMassLSCfromBPM=
new TH1F(
"hMassLSCfromBPM",
"D^{0} inv. Mass Loose Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
3152 hMassLSCfromBPM->Sumw2();
3153 TH1F *hMassTrueLSCfromBSB=
new TH1F(
"hMassTrueLSCfromBSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts FromB(All momenta)",600,1.600,2.200);
3154 TH1F *hMassLSCfromBSB=
new TH1F(
"hMassLSCfromBSB",
"D^{0} inv. Mass in Side Bands Loose Cuts FromB (All momenta)",600,1.600,2.200);
3155 hMassLSCfromBSB->Sumw2();
3177 TH1F *hdcaLSCfromB=
new TH1F(
"hdcaLSCfromB",
"hdca_LooseCuts_FromB",100,0.,1000.);
3178 hdcaLSCfromB->SetXTitle(
"dca [#mum]");
3179 hdcaLSCfromB->SetYTitle(
"Entries");
3180 TH1F *hcosthetastarLSCfromB=
new TH1F(
"hcosthetastarLSCfromB",
"hCosThetaStar_LooseCuts_FromB",50,-1.,1.);
3181 hcosthetastarLSCfromB->SetXTitle(
"cos #theta^{*}");
3182 hcosthetastarLSCfromB->SetYTitle(
"Entries");
3183 TH1F *hptD0LSCfromB=
new TH1F(
"hptD0LSCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3184 hptD0LSCfromB->SetXTitle(
"p_{t} [GeV/c]");
3185 hptD0LSCfromB->SetYTitle(
"Entries");
3186 TH1F *hptD0VsMaxPtLSCfromB=
new TH1F(
"hptD0VsMaxPtLSCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3187 TH2F *hptD0PTallsqrtLSCfromB=
new TH2F(
"hptD0PTallsqrtLSCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3188 TH2F *hptD0PTallLSCfromB=
new TH2F(
"hptD0PTallLSCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3189 TH2F *hptD0vsptBLSCfromB=
new TH2F(
"hptD0vsptBLSCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3190 TH2F *hpD0vspBLSCfromB=
new TH2F(
"hpD0vspBLSCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3191 TH2F *hptD0vsptcquarkLSCfromB=
new TH2F(
"hptD0vsptcquarkLSCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3192 TH2F *hpD0vspcquarkLSCfromB=
new TH2F(
"hpD0vspcquarkLSCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3204 TH1F *hd0zD0ptLSCfromB;
3205 TH1F *hInvMassD0LSCfromB,*hInvMassD0barLSCfromB;
3206 TH2F *hInvMassPtLSCfromB=
new TH2F(
"hInvMassPtLSCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3208 TH3F *hInvMassPtSelSignOnlyLSCfromB=
new TH3F(
"hInvMassPtSelSignOnlyLSCfromB",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
3210 TH3F *hInvMassPtSelReflOnlyLSCfromB=
new TH3F(
"hInvMassPtSelReflOnlyLSCfromB",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
3213 THnSparseF *hSparseLSCfromB=
new THnSparseF(
"hSparseLSCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3214 hSparseLSCfromB->SetBinEdges(0,massbins);
3215 hSparseLSCfromB->SetBinEdges(1,massbins);
3216 hSparseLSCfromB->SetBinEdges(2,ptbinsForNsparse);
3217 hSparseLSCfromB->SetBinEdges(3,impparbins);
3218 hSparseLSCfromB->SetBinEdges(4,massHypoBins);
3229 THnSparseF *hSparseRecoLSCfromB=
new THnSparseF(
"hSparseRecoLSCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3230 hSparseRecoLSCfromB->SetBinEdges(0,massbins);
3231 hSparseRecoLSCfromB->SetBinEdges(1,massbins);
3232 hSparseRecoLSCfromB->SetBinEdges(2,ptbinsForNsparse);
3233 hSparseRecoLSCfromB->SetBinEdges(3,impparbins);
3234 hSparseRecoLSCfromB->SetBinEdges(4,massHypoBins);
3246 TH1F *hCosPDPBLSCfromB;
3247 TH1F *hCosPcPDLSCfromB;
3250 TH2F *hd0D0VSd0xd0LSCfromBpt;
3251 TH2F *hangletracksVSd0xd0LSCfromBpt;
3252 TH2F *hangletracksVSd0D0LSCfromBpt;
3253 TH1F *hd0xd0LSCfromBpt;
3256 TH2F *hTOFpidLSCfromB=
new TH2F(
"hTOFpidLSCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3260 namehist=
"hd0zD0ptLSCfromB_pt";
3262 titlehist=
"d0(z) Loose Cuts FromBm ptbin=";
3264 hd0zD0ptLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3265 hd0zD0ptLSCfromB->SetXTitle(
"d_{0}(z) [#mum]");
3266 hd0zD0ptLSCfromB->SetYTitle(
"Entries");
3269 namehist=
"hInvMassD0LSCfromB_pt";
3271 titlehist=
"Invariant Mass Loose Cuts FromB ptbin=";
3273 hInvMassD0LSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3274 hInvMassD0LSCfromB->SetXTitle(
"Invariant Mass [GeV]");
3275 hInvMassD0LSCfromB->SetYTitle(
"Entries");
3278 namehist=
"hInvMassD0barLSCfromB_pt";
3280 titlehist=
"Invariant Mass D0bar Loose Cuts FromB ptbin=";
3282 hInvMassD0barLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3283 hInvMassD0barLSCfromB->SetXTitle(
"Invariant Mass [GeV]");
3284 hInvMassD0barLSCfromB->SetYTitle(
"Entries");
3287 namehist=
"hetaLSCfromB_pt";
3289 titlehist=
"eta Loose Cuts FromB ptbin=";
3291 hetaLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3292 hetaLSCfromB->SetXTitle(
"Pseudorapidity");
3293 hetaLSCfromB->SetYTitle(
"Entries");
3296 namehist=
"hCosPDPBLSCfromB_pt";
3298 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3300 hCosPDPBLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3301 hCosPDPBLSCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
3302 hCosPDPBLSCfromB->SetYTitle(
"Entries");
3305 namehist=
"hCosPcPDLSCfromB_pt";
3307 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3309 hCosPcPDLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3310 hCosPcPDLSCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3311 hCosPcPDLSCfromB->SetYTitle(
"Entries");
3315 namehist=
"hd0xd0LSCfromB_pt";
3317 titlehist=
"d0xd0 Loose Cuts FromB ptbin=";
3319 hd0xd0LSCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3320 hd0xd0LSCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3321 hd0xd0LSCfromBpt->SetYTitle(
"Entries");
3325 namehist=
"hd0D0VSd0xd0LSCfromB_pt";
3327 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
3329 hd0D0VSd0xd0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3330 hd0D0VSd0xd0LSCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3331 hd0D0VSd0xd0LSCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3335 namehist=
"hangletracksVSd0xd0LSCfromB_pt";
3337 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
3339 hangletracksVSd0xd0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3340 hangletracksVSd0xd0LSCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3341 hangletracksVSd0xd0LSCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
3345 namehist=
"hangletracksVSd0D0LSCfromB_pt";
3347 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromB ptbin=";
3349 hangletracksVSd0D0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3350 hangletracksVSd0D0LSCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3351 hangletracksVSd0D0LSCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
3363 TH1F *hd0D0LSCfromBPM =
new TH1F(
"hd0D0LSCfromBPM",
"D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3364 hd0D0LSCfromBPM->SetXTitle(
"Impact parameter [#mum]");
3365 hd0D0LSCfromBPM->SetYTitle(
"Entries");
3367 TH1F *hd0D0VtxTrueLSCfromBPM =
new TH1F(
"hd0D0VtxTrueLSCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3368 hd0D0VtxTrueLSCfromBPM->SetXTitle(
"Impact parameter [#mum]");
3369 hd0D0VtxTrueLSCfromBPM->SetYTitle(
"Entries");
3371 TH1F *hMCd0D0LSCfromBPM =
new TH1F(
"hMCd0D0LSCfromBPM",
"D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3372 hMCd0D0LSCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
3373 hMCd0D0LSCfromBPM->SetYTitle(
"Entries");
3375 TH1F *hd0D0LSCfromBSB =
new TH1F(
"hd0D0LSCfromBSB",
"D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3376 hd0D0LSCfromBSB->SetXTitle(
"Impact parameter [#mum]");
3377 hd0D0LSCfromBSB->SetYTitle(
"Entries");
3379 TH1F *hd0D0VtxTrueLSCfromBSB =
new TH1F(
"hd0D0VtxTrueLSCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3380 hd0D0VtxTrueLSCfromBSB->SetXTitle(
"Impact parameter [#mum]");
3381 hd0D0VtxTrueLSCfromBSB->SetYTitle(
"Entries");
3383 TH1F *hMCd0D0LSCfromBSB =
new TH1F(
"hMCd0D0LSCfromBSB",
"D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3384 hMCd0D0LSCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
3385 hMCd0D0LSCfromBSB->SetYTitle(
"Entries");
3394 TH1F *hd0D0ptLSCfromBPM;
3395 TH1F *hMCd0D0ptLSCfromBPM;
3396 TH1F *hd0D0VtxTrueptLSCfromBPM;
3397 TH1F *hd0D0ptLSCfromBSB;
3398 TH1F *hMCd0D0ptLSCfromBSB;
3399 TH1F *hd0D0VtxTrueptLSCfromBSB;
3400 namehist=
"hd0D0ptLSCfromB_";
3401 titlehist=
"D^{0} impact par. plot, Loose Cuts, FromB, ";
3404 strnamept.Append(
"PkMss_pt");
3407 strtitlept=titlehist;
3408 strtitlept.Append(
" Mass Peak, ");
3410 strtitlept.Append(
"<= pt <");
3412 strtitlept.Append(
" [GeV/c]");
3414 hd0D0ptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3415 hd0D0ptLSCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
3416 hd0D0ptLSCfromBPM->SetYTitle(
"Entries");
3419 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3420 hMCd0D0ptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3421 hMCd0D0ptLSCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
3422 hMCd0D0ptLSCfromBPM->SetYTitle(
"Entries");
3426 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3427 hd0D0VtxTrueptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3428 hd0D0VtxTrueptLSCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3429 hd0D0VtxTrueptLSCfromBPM->SetYTitle(
"Entries");
3433 strnamept.Append(
"SBMss_pt");
3436 strtitlept=titlehist;
3437 strtitlept.Append(
" Side Bands, ");
3439 strtitlept.Append(
"<= pt <");
3441 strtitlept.Append(
" [GeV/c]");
3443 hd0D0ptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3444 hd0D0ptLSCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
3445 hd0D0ptLSCfromBSB->SetYTitle(
"Entries");
3448 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3449 hMCd0D0ptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3450 hMCd0D0ptLSCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
3451 hMCd0D0ptLSCfromBSB->SetYTitle(
"Entries");
3454 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3455 hd0D0VtxTrueptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3456 hd0D0VtxTrueptLSCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3457 hd0D0VtxTrueptLSCfromBSB->SetYTitle(
"Entries");
3466 TH2F *hCPtaVSd0d0LSCfromDstar=
new TH2F(
"hCPtaVSd0d0LSCfromDstar",
"hCPtaVSd0d0_LooseCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
3467 TH1F *hSecVtxZLSCfromDstar=
new TH1F(
"hSecVtxZLSCfromDstar",
"hSecVtxZ_LooseCuts_FromDStar",1000,-8.,8.);
3468 TH1F *hSecVtxXLSCfromDstar=
new TH1F(
"hSecVtxXLSCfromDstar",
"hSecVtxX_LooseCuts_FromDStar",1000,-3000.,3000.);
3469 TH1F *hSecVtxYLSCfromDstar=
new TH1F(
"hSecVtxYLSCfromDstar",
"hSecVtxY_LooseCuts_FromDStar",1000,-3000.,3000.);
3470 TH2F *hSecVtxXYLSCfromDstar=
new TH2F(
"hSecVtxXYLSCfromDstar",
"hSecVtxXY_LooseCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
3471 TH1F *hSecVtxPhiLSCfromDstar=
new TH1F(
"hSecVtxPhiLSCfromDstar",
"hSecVtxPhi_LooseCuts_FromDStar",180,-180.1,180.1);
3472 TH1F *hd0singlTrackLSCfromDstar=
new TH1F(
"hd0singlTrackLSCfromDstar",
"hd0singlTrackLooseCuts_FromDstar",1000,-5000.,5000.);
3473 TH1F *hCPtaLSCfromDstar=
new TH1F(
"hCPtaLSCfromDstar",
"hCPta_LooseCuts_FromDStar",100,-1.,1.);
3474 TH1F *hd0xd0LSCfromDstar=
new TH1F(
"hd0xd0LSCfromDstar",
"hd0xd0_LooseCuts_FromDStar",1000,-100000.,100000.);
3475 TH1F *hMassTrueLSCfromDstar=
new TH1F(
"hMassTrueLSCfromDstar",
"D^{0} MC inv. Mass Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
3476 TH1F *hMassLSCfromDstar=
new TH1F(
"hMassLSCfromDstar",
"D^{0} inv. Mass Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
3477 hMassLSCfromDstar->Sumw2();
3478 TH1F *hMassTrueLSCfromDstarPM=
new TH1F(
"hMassTrueLSCfromDstarPM",
"D^{0} MC inv. Mass Loose Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
3479 TH1F *hMassLSCfromDstarPM=
new TH1F(
"hMassLSCfromDstarPM",
"D^{0} inv. Mass Loose Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
3480 hMassLSCfromDstarPM->Sumw2();
3481 TH1F *hMassTrueLSCfromDstarSB=
new TH1F(
"hMassTrueLSCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
3482 TH1F *hMassLSCfromDstarSB=
new TH1F(
"hMassLSCfromDstarSB",
"D^{0} inv. Mass in Side Bands Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
3483 hMassLSCfromDstarSB->Sumw2();
3508 TH1F *hdcaLSCfromDstar=
new TH1F(
"hdcaLSCfromDstar",
"hdca_LooseCuts_FromDstar",100,0.,1000.);
3509 hdcaLSCfromDstar->SetXTitle(
"dca [#mum]");
3510 hdcaLSCfromDstar->SetYTitle(
"Entries");
3511 TH1F *hcosthetastarLSCfromDstar=
new TH1F(
"hcosthetastarLSCfromDstar",
"hCosThetaStar_LooseCuts_FromDstar",50,-1.,1.);
3512 hcosthetastarLSCfromDstar->SetXTitle(
"cos #theta^{*}");
3513 hcosthetastarLSCfromDstar->SetYTitle(
"Entries");
3514 TH1F *hptD0LSCfromDstar=
new TH1F(
"hptD0LSCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3515 hptD0LSCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
3516 hptD0LSCfromDstar->SetYTitle(
"Entries");
3517 TH1F *hptD0VsMaxPtLSCfromDstar=
new TH1F(
"hptD0VsMaxPtLSCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3518 TH2F *hptD0PTallsqrtLSCfromDstar=
new TH2F(
"hptD0PTallsqrtLSCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3519 TH2F *hptD0PTallLSCfromDstar=
new TH2F(
"hptD0PTallLSCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3520 TH2F *hptD0vsptBLSCfromDstar=
new TH2F(
"hptD0vsptBLSCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3521 TH2F *hpD0vspBLSCfromDstar=
new TH2F(
"hpD0vspBLSCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3522 TH2F *hptD0vsptcquarkLSCfromDstar=
new TH2F(
"hptD0vsptcquarkLSCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3523 TH2F *hpD0vspcquarkLSCfromDstar=
new TH2F(
"hpD0vspcquarkLSCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3535 TH1F *hd0zD0ptLSCfromDstar;
3536 TH1F *hInvMassD0LSCfromDstar,*hInvMassD0barLSCfromDstar;
3537 TH2F *hInvMassPtLSCfromDstar=
new TH2F(
"hInvMassPtLSCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3538 TH3F *hInvMassPtSelSignOnlyLSCfromDstar=
new TH3F(
"hInvMassPtSelSignOnlyLSCfromDstar",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
3540 TH3F *hInvMassPtSelReflOnlyLSCfromDstar=
new TH3F(
"hInvMassPtSelReflOnlyLSCfromDstar",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
3543 THnSparseF *hSparseLSCfromDstar=
new THnSparseF(
"hSparseLSCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3544 hSparseLSCfromDstar->SetBinEdges(0,massbins);
3545 hSparseLSCfromDstar->SetBinEdges(1,massbins);
3546 hSparseLSCfromDstar->SetBinEdges(2,ptbinsForNsparse);
3547 hSparseLSCfromDstar->SetBinEdges(3,impparbins);
3548 hSparseLSCfromDstar->SetBinEdges(4,massHypoBins);
3558 TH1F *hetaLSCfromDstar;
3559 TH1F *hCosPDPBLSCfromDstar;
3560 TH1F *hCosPcPDLSCfromDstar;
3563 TH2F *hd0D0VSd0xd0LSCfromDstarpt;
3564 TH2F *hangletracksVSd0xd0LSCfromDstarpt;
3565 TH2F *hangletracksVSd0D0LSCfromDstarpt;
3566 TH1F *hd0xd0LSCfromDstarpt;
3568 TH2F *hTOFpidLSCfromDstar=
new TH2F(
"hTOFpidLSCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3572 namehist=
"hd0zD0ptLSCfromDstar_pt";
3574 titlehist=
"d0(z) Loose Cuts FromDstarm ptbin=";
3576 hd0zD0ptLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3577 hd0zD0ptLSCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
3578 hd0zD0ptLSCfromDstar->SetYTitle(
"Entries");
3581 namehist=
"hInvMassD0LSCfromDstar_pt";
3583 titlehist=
"Invariant Mass Loose Cuts FromDstar ptbin=";
3585 hInvMassD0LSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3586 hInvMassD0LSCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
3587 hInvMassD0LSCfromDstar->SetYTitle(
"Entries");
3590 namehist=
"hInvMassD0barLSCfromDstar_pt";
3592 titlehist=
"Invariant Mass D0bar Loose Cuts FromDstar ptbin=";
3594 hInvMassD0barLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3595 hInvMassD0barLSCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
3596 hInvMassD0barLSCfromDstar->SetYTitle(
"Entries");
3599 namehist=
"hetaLSCfromDstar_pt";
3601 titlehist=
"eta Loose Cuts FromDstar ptbin=";
3603 hetaLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3604 hetaLSCfromDstar->SetXTitle(
"Pseudorapidity");
3605 hetaLSCfromDstar->SetYTitle(
"Entries");
3608 namehist=
"hCosPDPBLSCfromDstar_pt";
3610 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3612 hCosPDPBLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3613 hCosPDPBLSCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
3614 hCosPDPBLSCfromDstar->SetYTitle(
"Entries");
3617 namehist=
"hCosPcPDLSCfromDstar_pt";
3619 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3621 hCosPcPDLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3622 hCosPcPDLSCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3623 hCosPcPDLSCfromDstar->SetYTitle(
"Entries");
3627 namehist=
"hd0xd0LSCfromDstar_pt";
3629 titlehist=
"d0xd0 Loose Cuts FromDstar ptbin=";
3631 hd0xd0LSCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3632 hd0xd0LSCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3633 hd0xd0LSCfromDstarpt->SetYTitle(
"Entries");
3637 namehist=
"hd0D0VSd0xd0LSCfromDstar_pt";
3639 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromDstar ptbin=";
3641 hd0D0VSd0xd0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3642 hd0D0VSd0xd0LSCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3643 hd0D0VSd0xd0LSCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3647 namehist=
"hangletracksVSd0xd0LSCfromDstar_pt";
3649 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromDstar ptbin=";
3651 hangletracksVSd0xd0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3652 hangletracksVSd0xd0LSCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3653 hangletracksVSd0xd0LSCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
3657 namehist=
"hangletracksVSd0D0LSCfromDstar_pt";
3659 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromDstar ptbin=";
3661 hangletracksVSd0D0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3662 hangletracksVSd0D0LSCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3663 hangletracksVSd0D0LSCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
3677 TH1F *hd0D0LSCfromDstPM =
new TH1F(
"hd0D0LSCfromDstarPM",
"D^{0} impact par. plot , Loose Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3678 hd0D0LSCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
3679 hd0D0LSCfromDstPM->SetYTitle(
"Entries");
3681 TH1F *hd0D0VtxTrueLSCfromDstPM =
new TH1F(
"hd0D0VtxTrueLSCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3682 hd0D0VtxTrueLSCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
3683 hd0D0VtxTrueLSCfromDstPM->SetYTitle(
"Entries");
3685 TH1F *hMCd0D0LSCfromDstPM =
new TH1F(
"hMCd0D0LSCfromDstarPM",
"D^{0} impact par. plot, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3686 hMCd0D0LSCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
3687 hMCd0D0LSCfromDstPM->SetYTitle(
"Entries");
3689 TH1F *hd0D0LSCfromDstSB =
new TH1F(
"hd0D0LSCfromDstarSB",
"D^{0} impact par. plot , Loose Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3690 hd0D0LSCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
3691 hd0D0LSCfromDstSB->SetYTitle(
"Entries");
3693 TH1F *hd0D0VtxTrueLSCfromDstSB =
new TH1F(
"hd0D0VtxTrueLSCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3694 hd0D0VtxTrueLSCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
3695 hd0D0VtxTrueLSCfromDstSB->SetYTitle(
"Entries");
3697 TH1F *hMCd0D0LSCfromDstSB =
new TH1F(
"hMCd0D0LSCfromDstarSB",
"D^{0} impact par. plot, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3698 hMCd0D0LSCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
3699 hMCd0D0LSCfromDstSB->SetYTitle(
"Entries");
3708 TH1F *hd0D0ptLSCfromDstPM;
3709 TH1F *hMCd0D0ptLSCfromDstPM;
3710 TH1F *hd0D0VtxTrueptLSCfromDstPM;
3711 TH1F *hd0D0ptLSCfromDstSB;
3712 TH1F *hMCd0D0ptLSCfromDstSB;
3713 TH1F *hd0D0VtxTrueptLSCfromDstSB;
3714 namehist=
"hd0D0ptLSCfromDstar_";
3715 titlehist=
"D^{0} impact par. plot, Loose Cuts, FromDStar, ";
3718 strnamept.Append(
"PkMss_pt");
3721 strtitlept=titlehist;
3722 strtitlept.Append(
" Mass Peak, ");
3724 strtitlept.Append(
"<= pt <");
3726 strtitlept.Append(
" [GeV/c]");
3728 hd0D0ptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3729 hd0D0ptLSCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
3730 hd0D0ptLSCfromDstPM->SetYTitle(
"Entries");
3733 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3734 hMCd0D0ptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3735 hMCd0D0ptLSCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
3736 hMCd0D0ptLSCfromDstPM->SetYTitle(
"Entries");
3740 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3741 hd0D0VtxTrueptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3742 hd0D0VtxTrueptLSCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3743 hd0D0VtxTrueptLSCfromDstPM->SetYTitle(
"Entries");
3747 strnamept.Append(
"SBMss_pt");
3750 strtitlept=titlehist;
3751 strtitlept.Append(
" Side Bands, ");
3753 strtitlept.Append(
"<= pt <");
3755 strtitlept.Append(
" [GeV/c]");
3757 hd0D0ptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3758 hd0D0ptLSCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
3759 hd0D0ptLSCfromDstSB->SetYTitle(
"Entries");
3762 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3763 hMCd0D0ptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3764 hMCd0D0ptLSCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
3765 hMCd0D0ptLSCfromDstSB->SetYTitle(
"Entries");
3768 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3769 hd0D0VtxTrueptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3770 hd0D0VtxTrueptLSCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3771 hd0D0VtxTrueptLSCfromDstSB->SetYTitle(
"Entries");
3780 TH2F *hCPtaVSd0d0LSCother=
new TH2F(
"hCPtaVSd0d0LSCother",
"hCPtaVSd0d0_LooseCuts_other",1000,-100000.,100000.,100,-1.,1.);
3781 TH1F *hSecVtxZLSCother=
new TH1F(
"hSecVtxZLSCother",
"hSecVtxZ_LooseCuts_other",1000,-8.,8.);
3782 TH1F *hSecVtxXLSCother=
new TH1F(
"hSecVtxXLSCother",
"hSecVtxX_LooseCuts_other",1000,-3000.,3000.);
3783 TH1F *hSecVtxYLSCother=
new TH1F(
"hSecVtxYLSCother",
"hSecVtxY_LooseCuts_other",1000,-3000.,3000.);
3784 TH2F *hSecVtxXYLSCother=
new TH2F(
"hSecVtxXYLSCother",
"hSecVtxXY_LooseCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
3785 TH1F *hSecVtxPhiLSCother=
new TH1F(
"hSecVtxPhiLSCother",
"hSecVtxPhi_LooseCuts_other",180,-180.1,180.1);
3786 TH1F *hd0singlTrackLSCother=
new TH1F(
"hd0singlTrackLSCother",
"hd0singlTrackLooseCuts_Other",1000,-5000.,5000.);
3787 TH1F *hCPtaLSCother=
new TH1F(
"hCPtaLSCother",
"hCPta_LooseCuts_other",100,-1.,1.);
3788 TH1F *hd0xd0LSCother=
new TH1F(
"hd0xd0LSCother",
"hd0xd0_LooseCuts_other",1000,-100000.,100000.);
3789 TH1F *hMassTrueLSCother=
new TH1F(
"hMassTrueLSCother",
"D^{0} MC inv. Mass Loose Cuts other(All momenta)",600,1.600,2.200);
3790 TH1F *hMassLSCother=
new TH1F(
"hMassLSCother",
"D^{0} inv. Mass Loose Cuts other (All momenta)",600,1.600,2.200);
3791 hMassLSCother->Sumw2();
3792 TH1F *hMassTrueLSCotherPM=
new TH1F(
"hMassTrueLSCotherPM",
"D^{0} MC inv. Mass Loose Cuts other, Mass Peak. (All momenta)",600,1.600,2.200);
3793 TH1F *hMassLSCotherPM=
new TH1F(
"hMassLSCotherPM",
"D^{0} inv. Mass Loose Cuts other (All momenta), MassPeak",600,1.600,2.200);
3794 hMassLSCotherPM->Sumw2();
3795 TH1F *hMassTrueLSCotherSB=
new TH1F(
"hMassTrueLSCotherSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts other(All momenta)",600,1.600,2.200);
3796 TH1F *hMassLSCotherSB=
new TH1F(
"hMassLSCotherSB",
"D^{0} inv. Mass in Side Bands Loose Cuts other (All momenta)",600,1.600,2.200);
3797 hMassLSCotherSB->Sumw2();
3819 TH1F *hdcaLSCother=
new TH1F(
"hdcaLSCother",
"hdca_LooseCuts_Other",100,0.,1000.);
3820 hdcaLSCother->SetXTitle(
"dca [#mum]");
3821 hdcaLSCother->SetYTitle(
"Entries");
3822 TH1F *hcosthetastarLSCother=
new TH1F(
"hcosthetastarLSCother",
"hCosThetaStar_LooseCuts_Other",50,-1.,1.);
3823 hcosthetastarLSCother->SetXTitle(
"cos #theta^{*}");
3824 hcosthetastarLSCother->SetYTitle(
"Entries");
3825 TH1F *hptD0LSCother=
new TH1F(
"hptD0LSCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3826 hptD0LSCother->SetXTitle(
"p_{t} [GeV/c]");
3827 hptD0LSCother->SetYTitle(
"Entries");
3828 TH1F *hptD0VsMaxPtLSCother=
new TH1F(
"hptD0VsMaxPtLSCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3829 TH2F *hptD0PTallsqrtLSCother=
new TH2F(
"hptD0PTallsqrtLSCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3830 TH2F *hptD0PTallLSCother=
new TH2F(
"hptD0PTallLSCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3831 TH2F *hptD0vsptBLSCother=
new TH2F(
"hptD0vsptBLSCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3832 TH2F *hpD0vspBLSCother=
new TH2F(
"hpD0vspBLSCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3833 TH2F *hptD0vsptcquarkLSCother=
new TH2F(
"hptD0vsptcquarkLSCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3834 TH2F *hpD0vspcquarkLSCother=
new TH2F(
"hpD0vspcquarkLSCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3846 TH1F *hd0zD0ptLSCother;
3847 TH1F *hInvMassD0LSCother,*hInvMassD0barLSCother;
3848 TH2F *hInvMassPtLSCother=
new TH2F(
"hInvMassPtLSCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3849 THnSparseF *hSparseLSCother=
new THnSparseF(
"hSparseLSCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3850 hSparseLSCother->SetBinEdges(0,massbins);
3851 hSparseLSCother->SetBinEdges(1,massbins);
3852 hSparseLSCother->SetBinEdges(2,ptbinsForNsparse);
3853 hSparseLSCother->SetBinEdges(3,impparbins);
3854 hSparseLSCother->SetBinEdges(4,massHypoBins);
3857 TH1F *hCosPDPBLSCother;
3858 TH1F *hCosPcPDLSCother;
3869 TH2F *hd0D0VSd0xd0LSCotherpt;
3870 TH2F *hangletracksVSd0xd0LSCotherpt;
3871 TH2F *hangletracksVSd0D0LSCotherpt;
3872 TH1F *hd0xd0LSCotherpt;
3874 TH2F *hTOFpidLSCother=
new TH2F(
"hTOFpidLSCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3878 namehist=
"hd0zD0ptLSCother_pt";
3880 titlehist=
"d0(z) Loose Cuts Otherm ptbin=";
3882 hd0zD0ptLSCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3883 hd0zD0ptLSCother->SetXTitle(
"d_{0}(z) [#mum]");
3884 hd0zD0ptLSCother->SetYTitle(
"Entries");
3887 namehist=
"hInvMassD0LSCother_pt";
3889 titlehist=
"Invariant Mass Loose Cuts Other ptbin=";
3891 hInvMassD0LSCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3892 hInvMassD0LSCother->SetXTitle(
"Invariant Mass [GeV]");
3893 hInvMassD0LSCother->SetYTitle(
"Entries");
3896 namehist=
"hInvMassD0barLSCother_pt";
3898 titlehist=
"Invariant Mass D0bar Loose Cuts Other ptbin=";
3900 hInvMassD0barLSCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3901 hInvMassD0barLSCother->SetXTitle(
"Invariant Mass [GeV]");
3902 hInvMassD0barLSCother->SetYTitle(
"Entries");
3905 namehist=
"hetaLSCother_pt";
3907 titlehist=
"eta Loose Cuts Other ptbin=";
3909 hetaLSCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3910 hetaLSCother->SetXTitle(
"Pseudorapidity");
3911 hetaLSCother->SetYTitle(
"Entries");
3914 namehist=
"hCosPDPBLSCother_pt";
3916 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3918 hCosPDPBLSCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3919 hCosPDPBLSCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
3920 hCosPDPBLSCother->SetYTitle(
"Entries");
3923 namehist=
"hCosPcPDLSCother_pt";
3925 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3927 hCosPcPDLSCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3928 hCosPcPDLSCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3929 hCosPcPDLSCother->SetYTitle(
"Entries");
3933 namehist=
"hd0xd0LSCother_pt";
3935 titlehist=
"d0xd0 Loose Cuts Other ptbin=";
3937 hd0xd0LSCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3938 hd0xd0LSCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3939 hd0xd0LSCotherpt->SetYTitle(
"Entries");
3943 namehist=
"hd0D0VSd0xd0LSCother_pt";
3945 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Other ptbin=";
3947 hd0D0VSd0xd0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3948 hd0D0VSd0xd0LSCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3949 hd0D0VSd0xd0LSCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3953 namehist=
"hangletracksVSd0xd0LSCother_pt";
3955 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Other ptbin=";
3957 hangletracksVSd0xd0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3958 hangletracksVSd0xd0LSCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3959 hangletracksVSd0xd0LSCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
3963 namehist=
"hangletracksVSd0D0LSCother_pt";
3965 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Other ptbin=";
3967 hangletracksVSd0D0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3968 hangletracksVSd0D0LSCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3969 hangletracksVSd0D0LSCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
3980 TH1F *hd0D0LSCotherPM =
new TH1F(
"hd0D0LSCotherPM",
"D^{0} impact par. plot , Loose Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3981 hd0D0LSCotherPM->SetXTitle(
"Impact parameter [#mum]");
3982 hd0D0LSCotherPM->SetYTitle(
"Entries");
3984 TH1F *hd0D0VtxTrueLSCotherPM =
new TH1F(
"hd0D0VtxTrueLSCotherPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3985 hd0D0VtxTrueLSCotherPM->SetXTitle(
"Impact parameter [#mum]");
3986 hd0D0VtxTrueLSCotherPM->SetYTitle(
"Entries");
3988 TH1F *hMCd0D0LSCotherPM =
new TH1F(
"hMCd0D0LSCotherPM",
"D^{0} impact par. plot, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3989 hMCd0D0LSCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
3990 hMCd0D0LSCotherPM->SetYTitle(
"Entries");
3992 TH1F *hd0D0LSCotherSB =
new TH1F(
"hd0D0LSCotherSB",
"D^{0} impact par. plot , Loose Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3993 hd0D0LSCotherSB->SetXTitle(
"Impact parameter [#mum]");
3994 hd0D0LSCotherSB->SetYTitle(
"Entries");
3996 TH1F *hd0D0VtxTrueLSCotherSB =
new TH1F(
"hd0D0VtxTrueLSCotherSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3997 hd0D0VtxTrueLSCotherSB->SetXTitle(
"Impact parameter [#mum]");
3998 hd0D0VtxTrueLSCotherSB->SetYTitle(
"Entries");
4000 TH1F *hMCd0D0LSCotherSB =
new TH1F(
"hMCd0D0LSCotherSB",
"D^{0} impact par. plot, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
4001 hMCd0D0LSCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
4002 hMCd0D0LSCotherSB->SetYTitle(
"Entries");
4011 TH1F *hd0D0ptLSCotherPM;
4012 TH1F *hMCd0D0ptLSCotherPM;
4013 TH1F *hd0D0VtxTrueptLSCotherPM;
4014 TH1F *hd0D0ptLSCotherSB;
4015 TH1F *hMCd0D0ptLSCotherSB;
4016 TH1F *hd0D0VtxTrueptLSCotherSB;
4017 namehist=
"hd0D0ptLSCother_";
4018 titlehist=
"D^{0} impact par. plot, Loose Cuts, Other, ";
4021 strnamept.Append(
"PkMss_pt");
4024 strtitlept=titlehist;
4025 strtitlept.Append(
" Mass Peak, ");
4027 strtitlept.Append(
"<= pt <");
4029 strtitlept.Append(
" [GeV/c]");
4031 hd0D0ptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4032 hd0D0ptLSCotherPM->SetXTitle(
"Impact parameter [#mum] ");
4033 hd0D0ptLSCotherPM->SetYTitle(
"Entries");
4036 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4037 hMCd0D0ptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4038 hMCd0D0ptLSCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
4039 hMCd0D0ptLSCotherPM->SetYTitle(
"Entries");
4043 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4044 hd0D0VtxTrueptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4045 hd0D0VtxTrueptLSCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4046 hd0D0VtxTrueptLSCotherPM->SetYTitle(
"Entries");
4050 strnamept.Append(
"SBMss_pt");
4053 strtitlept=titlehist;
4054 strtitlept.Append(
" Side Bands, ");
4056 strtitlept.Append(
"<= pt <");
4058 strtitlept.Append(
" [GeV/c]");
4060 hd0D0ptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4061 hd0D0ptLSCotherSB->SetXTitle(
"Impact parameter [#mum] ");
4062 hd0D0ptLSCotherSB->SetYTitle(
"Entries");
4065 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4066 hMCd0D0ptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4067 hMCd0D0ptLSCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
4068 hMCd0D0ptLSCotherSB->SetYTitle(
"Entries");
4071 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4072 hd0D0VtxTrueptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4073 hd0D0VtxTrueptLSCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4074 hd0D0VtxTrueptLSCotherSB->SetYTitle(
"Entries");
4091 TH2F *hCPtaVSd0d0TGHCsign=
new TH2F(
"hCPtaVSd0d0TGHCsign",
"hCPtaVSd0d0_TightCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
4092 TH1F *hSecVtxZTGHCsign=
new TH1F(
"hSecVtxZTGHCsign",
"hSecVtxZ_TightCuts_Signal",1000,-8.,8.);
4093 TH1F *hSecVtxXTGHCsign=
new TH1F(
"hSecVtxXTGHCsign",
"hSecVtxX_TightCuts_Signal",1000,-3000.,3000.);
4094 TH1F *hSecVtxYTGHCsign=
new TH1F(
"hSecVtxYTGHCsign",
"hSecVtxY_TightCuts_Signal",1000,-3000.,3000.);
4095 TH2F *hSecVtxXYTGHCsign=
new TH2F(
"hSecVtxXYTGHCsign",
"hSecVtxXY_TightCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
4096 TH1F *hSecVtxPhiTGHCsign=
new TH1F(
"hSecVtxPhiTGHCsign",
"hSecVtxPhi_TightCuts_Signal",180,-180.1,180.1);
4097 TH1F *hd0singlTrackTGHCsign=
new TH1F(
"hd0singlTrackTGHCsign",
"hd0singlTrackTightCuts_Signal",1000,-5000.,5000.);
4098 TH1F *hCPtaTGHCsign=
new TH1F(
"hCPtaTGHCsign",
"hCPta_TightCuts_Signal",100,-1.,1.);
4099 TH1F *hd0xd0TGHCsign=
new TH1F(
"hd0xd0TGHCsign",
"hd0xd0_TightCuts_Signal",1000,-100000.,100000.);
4100 TH1F *hMassTrueTGHCsign=
new TH1F(
"hMassTrueTGHCsign",
"D^{0} MC inv. Mass Tight Cuts Signal(All momenta)",600,1.600,2.200);
4101 TH1F *hMassTGHCsign=
new TH1F(
"hMassTGHCsign",
"D^{0} inv. Mass Tight Cuts Signal (All momenta)",600,1.600,2.200);
4102 hMassTGHCsign->Sumw2();
4103 TH1F *hMassTrueTGHCsignPM=
new TH1F(
"hMassTrueTGHCsignPM",
"D^{0} MC inv. Mass Tight Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
4104 TH1F *hMassTGHCsignPM=
new TH1F(
"hMassTGHCsignPM",
"D^{0} inv. Mass Tight Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
4105 hMassTGHCsignPM->Sumw2();
4106 TH1F *hMassTrueTGHCsignSB=
new TH1F(
"hMassTrueTGHCsignSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts Signal(All momenta)",600,1.600,2.200);
4107 TH1F *hMassTGHCsignSB=
new TH1F(
"hMassTGHCsignSB",
"D^{0} inv. Mass in Side Bands Tight Cuts Signal (All momenta)",600,1.600,2.200);
4108 hMassTGHCsignSB->Sumw2();
4133 TH1F *hdcaTGHCsign=
new TH1F(
"hdcaTGHCsign",
"hdca_TightCuts_Signal",100,0.,1000.);
4134 hdcaTGHCsign->SetXTitle(
"dca [#mum]");
4135 hdcaTGHCsign->SetYTitle(
"Entries");
4136 TH1F *hcosthetastarTGHCsign=
new TH1F(
"hcosthetastarTGHCsign",
"hCosThetaStar_TightCuts_Signal",50,-1.,1.);
4137 hcosthetastarTGHCsign->SetXTitle(
"cos #theta^{*}");
4138 hcosthetastarTGHCsign->SetYTitle(
"Entries");
4139 TH1F *hptD0TGHCsign=
new TH1F(
"hptD0TGHCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4140 hptD0TGHCsign->SetXTitle(
"p_{t} [GeV/c]");
4141 hptD0TGHCsign->SetYTitle(
"Entries");
4142 TH1F *hptD0VsMaxPtTGHCsign=
new TH1F(
"hptD0VsMaxPtTGHCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4143 TH2F *hptD0PTallsqrtTGHCsign=
new TH2F(
"hptD0PTallsqrtTGHCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4144 TH2F *hptD0PTallTGHCsign=
new TH2F(
"hptD0PTallTGHCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4145 TH2F *hptD0vsptBTGHCsign=
new TH2F(
"hptD0vsptBTGHCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4146 TH2F *hpD0vspBTGHCsign=
new TH2F(
"hpD0vspBTGHCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4147 TH2F *hptD0vsptcquarkTGHCsign=
new TH2F(
"hptD0vsptcquarkTGHCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4148 TH2F *hpD0vspcquarkTGHCsign=
new TH2F(
"hpD0vspcquarkTGHCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4160 TH1F *hd0zD0ptTGHCsign;
4161 TH1F *hInvMassD0TGHCsign,*hInvMassD0barTGHCsign;
4162 TH2F *hInvMassPtTGHCsign=
new TH2F(
"hInvMassPtTGHCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4163 TH3F *hInvMassPtSelSignOnlyTGHCsign=
new TH3F(
"hInvMassPtSelSignOnlyTGHCsign",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
4165 TH3F *hInvMassPtSelReflOnlyTGHCsign=
new TH3F(
"hInvMassPtSelReflOnlyTGHCsign",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
4169 THnSparseF *hSparseTGHCsign=
new THnSparseF(
"hSparseTGHCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4170 hSparseTGHCsign->SetBinEdges(0,massbins);
4171 hSparseTGHCsign->SetBinEdges(1,massbins);
4172 hSparseTGHCsign->SetBinEdges(2,ptbinsForNsparse);
4173 hSparseTGHCsign->SetBinEdges(3,impparbins);
4174 hSparseTGHCsign->SetBinEdges(4,massHypoBins);
4186 THnSparseF *hSparseCxyLxyTGHCsign=
new THnSparseF(
"hSparseCxyLxyTGHCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
4187 hSparseCxyLxyTGHCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
4188 hSparseCxyLxyTGHCsign->GetAxis(0)->SetName(
"mass");
4189 hSparseCxyLxyTGHCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
4190 hSparseCxyLxyTGHCsign->GetAxis(1)->SetName(
"pt");
4191 hSparseCxyLxyTGHCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
4192 hSparseCxyLxyTGHCsign->GetAxis(2)->SetName(
"CosPointXY");
4193 hSparseCxyLxyTGHCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
4194 hSparseCxyLxyTGHCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
4195 hSparseCxyLxyTGHCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
4200 TH1F *hCosPDPBTGHCsign;
4201 TH1F *hCosPcPDTGHCsign;
4204 TH2F *hd0D0VSd0xd0TGHCsignpt;
4205 TH2F *hangletracksVSd0xd0TGHCsignpt;
4206 TH2F *hangletracksVSd0D0TGHCsignpt;
4207 TH1F *hd0xd0TGHCsignpt;
4208 TH1F *hPhiHistPMTGHCsignpt,*hPhiHistSBTGHCsignpt;
4210 TH2F *hTOFpidTGHCsign=
new TH2F(
"hTOFpidTGHCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4215 namehist=
"hPhiHistPMTGHCsign_pt";
4217 titlehist=
"Azimuthal correlation TGH Cuts Sign PM ptbin=";
4219 hPhiHistPMTGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
4220 hPhiHistPMTGHCsignpt->Sumw2();
4223 namehist=
"hPhiHistSBTGHCsign_pt";
4225 titlehist=
"Azimuthal correlation TGH Cuts Sign SB ptbin=";
4227 hPhiHistSBTGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
4228 hPhiHistSBTGHCsignpt->Sumw2();
4231 namehist=
"hd0zD0ptTGHCsign_pt";
4233 titlehist=
"d0(z) Tight Cuts Signal ptbin=";
4235 hd0zD0ptTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4236 hd0zD0ptTGHCsign->SetXTitle(
"d_{0}(z) [#mum]");
4237 hd0zD0ptTGHCsign->SetYTitle(
"Entries");
4240 namehist=
"hInvMassD0TGHCsign_pt";
4242 titlehist=
"Invariant Mass Tight Cuts Signal ptbin=";
4244 hInvMassD0TGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4245 hInvMassD0TGHCsign->SetXTitle(
"Invariant Mass [GeV]");
4246 hInvMassD0TGHCsign->SetYTitle(
"Entries");
4249 namehist=
"hInvMassD0barTGHCsign_pt";
4251 titlehist=
"Invariant Mass D0bar Tight Cuts Signal ptbin=";
4253 hInvMassD0barTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4254 hInvMassD0barTGHCsign->SetXTitle(
"Invariant Mass [GeV]");
4255 hInvMassD0barTGHCsign->SetYTitle(
"Entries");
4259 namehist=
"hetaTGHCsign_pt";
4261 titlehist=
"eta Tight Cuts Signal ptbin=";
4263 hetaTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4264 hetaTGHCsign->SetXTitle(
"Pseudorapidity");
4265 hetaTGHCsign->SetYTitle(
"Entries");
4268 namehist=
"hCosPDPBTGHCsign_pt";
4270 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4272 hCosPDPBTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4273 hCosPDPBTGHCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
4274 hCosPDPBTGHCsign->SetYTitle(
"Entries");
4277 namehist=
"hCosPcPDTGHCsign_pt";
4279 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4281 hCosPcPDTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4282 hCosPcPDTGHCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4283 hCosPcPDTGHCsign->SetYTitle(
"Entries");
4287 namehist=
"hd0xd0TGHCsign_pt";
4289 titlehist=
"d0xd0 Tight Cuts Signal ptbin=";
4291 hd0xd0TGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4292 hd0xd0TGHCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4293 hd0xd0TGHCsignpt->SetYTitle(
"Entries");
4297 namehist=
"hd0D0VSd0xd0TGHCsign_pt";
4299 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Signal ptbin=";
4301 hd0D0VSd0xd0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4302 hd0D0VSd0xd0TGHCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4303 hd0D0VSd0xd0TGHCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4307 namehist=
"hangletracksVSd0xd0TGHCsign_pt";
4309 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Signal ptbin=";
4311 hangletracksVSd0xd0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4312 hangletracksVSd0xd0TGHCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4313 hangletracksVSd0xd0TGHCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
4317 namehist=
"hangletracksVSd0D0TGHCsign_pt";
4319 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Signal ptbin=";
4321 hangletracksVSd0D0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4322 hangletracksVSd0D0TGHCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4323 hangletracksVSd0D0TGHCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
4338 TH1F *hd0D0TGHCsignPM =
new TH1F(
"hd0D0TGHCsignPM",
"D^{0} impact par. plot , Tight Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4339 hd0D0TGHCsignPM->SetXTitle(
"Impact parameter [#mum]");
4340 hd0D0TGHCsignPM->SetYTitle(
"Entries");
4342 TH1F *hd0D0VtxTrueTGHCsignPM =
new TH1F(
"hd0D0VtxTrueTGHCsignPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4343 hd0D0VtxTrueTGHCsignPM->SetXTitle(
"Impact parameter [#mum]");
4344 hd0D0VtxTrueTGHCsignPM->SetYTitle(
"Entries");
4346 TH1F *hMCd0D0TGHCsignPM =
new TH1F(
"hMCd0D0TGHCsignPM",
"D^{0} impact par. plot, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4347 hMCd0D0TGHCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
4348 hMCd0D0TGHCsignPM->SetYTitle(
"Entries");
4350 TH1F *hd0D0TGHCsignSB =
new TH1F(
"hd0D0TGHCsignSB",
"D^{0} impact par. plot , Tight Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4351 hd0D0TGHCsignSB->SetXTitle(
"Impact parameter [#mum]");
4352 hd0D0TGHCsignSB->SetYTitle(
"Entries");
4354 TH1F *hd0D0VtxTrueTGHCsignSB =
new TH1F(
"hd0D0VtxTrueTGHCsignSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4355 hd0D0VtxTrueTGHCsignSB->SetXTitle(
"Impact parameter [#mum]");
4356 hd0D0VtxTrueTGHCsignSB->SetYTitle(
"Entries");
4358 TH1F *hMCd0D0TGHCsignSB =
new TH1F(
"hMCd0D0TGHCsignSB",
"D^{0} impact par. plot, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4359 hMCd0D0TGHCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
4360 hMCd0D0TGHCsignSB->SetYTitle(
"Entries");
4369 TH1F *hd0D0ptTGHCsignPM;
4370 TH1F *hMCd0D0ptTGHCsignPM;
4371 TH1F *hd0D0VtxTrueptTGHCsignPM;
4372 TH1F *hd0D0ptTGHCsignSB;
4373 TH1F *hMCd0D0ptTGHCsignSB;
4374 TH1F *hd0D0VtxTrueptTGHCsignSB;
4375 namehist=
"hd0D0ptTGHCsign_";
4376 titlehist=
"D^{0} impact par. plot, Tight Cuts, Signal, ";
4379 strnamept.Append(
"PkMss_pt");
4382 strtitlept=titlehist;
4383 strtitlept.Append(
" Mass Peak, ");
4385 strtitlept.Append(
"<= pt <");
4387 strtitlept.Append(
" [GeV/c]");
4389 hd0D0ptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4390 hd0D0ptTGHCsignPM->SetXTitle(
"Impact parameter [#mum] ");
4391 hd0D0ptTGHCsignPM->SetYTitle(
"Entries");
4394 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4395 hMCd0D0ptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4396 hMCd0D0ptTGHCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
4397 hMCd0D0ptTGHCsignPM->SetYTitle(
"Entries");
4401 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4402 hd0D0VtxTrueptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4403 hd0D0VtxTrueptTGHCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4404 hd0D0VtxTrueptTGHCsignPM->SetYTitle(
"Entries");
4408 strnamept.Append(
"SBMss_pt");
4411 strtitlept=titlehist;
4412 strtitlept.Append(
" Side Bands, ");
4414 strtitlept.Append(
"<= pt <");
4416 strtitlept.Append(
" [GeV/c]");
4418 hd0D0ptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4419 hd0D0ptTGHCsignSB->SetXTitle(
"Impact parameter [#mum] ");
4420 hd0D0ptTGHCsignSB->SetYTitle(
"Entries");
4423 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4424 hMCd0D0ptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4425 hMCd0D0ptTGHCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
4426 hMCd0D0ptTGHCsignSB->SetYTitle(
"Entries");
4429 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4430 hd0D0VtxTrueptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4431 hd0D0VtxTrueptTGHCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4432 hd0D0VtxTrueptTGHCsignSB->SetYTitle(
"Entries");
4440 TH2F *hCPtaVSd0d0TGHCback=
new TH2F(
"hCPtaVSd0d0TGHCback",
"hCPtaVSd0d0_TightCuts_Background",1000,-100000.,100000.,100,-1.,1.);
4441 TH1F *hSecVtxZTGHCback=
new TH1F(
"hSecVtxZTGHCback",
"hSecVtxZ_TightCuts_Background",1000,-8.,8.);
4442 TH1F *hSecVtxXTGHCback=
new TH1F(
"hSecVtxXTGHCback",
"hSecVtxX_TightCuts_Background",1000,-3000.,3000.);
4443 TH1F *hSecVtxYTGHCback=
new TH1F(
"hSecVtxYTGHCback",
"hSecVtxY_TightCuts_Background",1000,-3000.,3000.);
4444 TH2F *hSecVtxXYTGHCback=
new TH2F(
"hSecVtxXYTGHCback",
"hSecVtxXY_TightCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
4445 TH1F *hSecVtxPhiTGHCback=
new TH1F(
"hSecVtxPhiTGHCback",
"hSecVtxPhi_TightCuts_Background",180,-180.1,180.1);
4446 TH1F *hd0singlTrackTGHCback=
new TH1F(
"hd0singlTrackTGHCback",
"hd0singlTrackTightCuts_Back",1000,-5000.,5000.);
4447 TH1F *hCPtaTGHCback=
new TH1F(
"hCPtaTGHCback",
"hCPta_TightCuts_Background",100,-1.,1.);
4448 TH1F *hd0xd0TGHCback=
new TH1F(
"hd0xd0TGHCback",
"hd0xd0_TightCuts_Background",1000,-100000.,100000.);
4449 TH1F *hMassTrueTGHCback=
new TH1F(
"hMassTrueTGHCback",
"D^{0} MC inv. Mass Tight Cuts Background(All momenta)",600,1.600,2.200);
4450 TH1F *hMassTGHCback=
new TH1F(
"hMassTGHCback",
"D^{0} inv. Mass Tight Cuts Background (All momenta)",600,1.600,2.200);
4451 hMassTGHCback->Sumw2();
4452 TH1F *hMassTrueTGHCbackPM=
new TH1F(
"hMassTrueTGHCbackPM",
"D^{0} MC inv. Mass Tight Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
4453 TH1F *hMassTGHCbackPM=
new TH1F(
"hMassTGHCbackPM",
"D^{0} inv. Mass Tight Cuts Background (All momenta), MassPeak",600,1.600,2.200);
4454 hMassTGHCbackPM->Sumw2();
4455 TH1F *hMassTrueTGHCbackSB=
new TH1F(
"hMassTrueTGHCbackSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts Backgrround(All momenta)",600,1.600,2.200);
4456 TH1F *hMassTGHCbackSB=
new TH1F(
"hMassTGHCbackSB",
"D^{0} inv. Mass in Side Bands Tight Cuts Background (All momenta)",600,1.600,2.200);
4457 hMassTGHCbackSB->Sumw2();
4482 TH1F *hdcaTGHCback=
new TH1F(
"hdcaTGHCback",
"hdca_TightCuts_Backgr",100,0.,1000.);
4483 hdcaTGHCback->SetXTitle(
"dca [#mum]");
4484 hdcaTGHCback->SetYTitle(
"Entries");
4485 TH1F *hcosthetastarTGHCback=
new TH1F(
"hcosthetastarTGHCback",
"hCosThetaStar_TightCuts_Backgr",50,-1.,1.);
4486 hcosthetastarTGHCback->SetXTitle(
"cos #theta^{*}");
4487 hcosthetastarTGHCback->SetYTitle(
"Entries");
4488 TH1F *hptD0TGHCback=
new TH1F(
"hptD0TGHCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4489 hptD0TGHCback->SetXTitle(
"p_{t} [GeV/c]");
4490 hptD0TGHCback->SetYTitle(
"Entries");
4491 TH1F *hptD0VsMaxPtTGHCback=
new TH1F(
"hptD0VsMaxPtTGHCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4492 TH2F *hptD0PTallsqrtTGHCback=
new TH2F(
"hptD0PTallsqrtTGHCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4493 TH2F *hptD0PTallTGHCback=
new TH2F(
"hptD0PTallTGHCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4494 TH2F *hptD0vsptBTGHCback=
new TH2F(
"hptD0vsptBTGHCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4495 TH2F *hpD0vspBTGHCback=
new TH2F(
"hpD0vspBTGHCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4496 TH2F *hptD0vsptcquarkTGHCback=
new TH2F(
"hptD0vsptcquarkTGHCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4497 TH2F *hpD0vspcquarkTGHCback=
new TH2F(
"hpD0vspcquarkTGHCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4509 TH1F *hd0zD0ptTGHCback;
4510 TH1F *hInvMassD0TGHCback,*hInvMassD0barTGHCback;
4511 TH2F *hInvMassPtTGHCback=
new TH2F(
"hInvMassPtTGHCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4512 THnSparseF *hSparseTGHCback=
new THnSparseF(
"hSparseTGHCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4513 hSparseTGHCback->SetBinEdges(0,massbins);
4514 hSparseTGHCback->SetBinEdges(1,massbins);
4515 hSparseTGHCback->SetBinEdges(2,ptbinsForNsparse);
4516 hSparseTGHCback->SetBinEdges(3,impparbins);
4517 hSparseTGHCback->SetBinEdges(4,massHypoBins);
4530 TH1F *hCosPDPBTGHCback;
4531 TH1F *hCosPcPDTGHCback;
4534 TH2F *hd0D0VSd0xd0TGHCbackpt;
4535 TH2F *hangletracksVSd0xd0TGHCbackpt;
4536 TH2F *hangletracksVSd0D0TGHCbackpt;
4537 TH1F *hd0xd0TGHCbackpt;
4539 TH2F *hTOFpidTGHCback=
new TH2F(
"hTOFpidTGHCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4544 namehist=
"hd0zD0ptTGHCback_pt";
4546 titlehist=
"d0(z) Tight Cuts Backgrm ptbin=";
4548 hd0zD0ptTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4549 hd0zD0ptTGHCback->SetXTitle(
"d_{0}(z) [#mum]");
4550 hd0zD0ptTGHCback->SetYTitle(
"Entries");
4553 namehist=
"hInvMassD0TGHCback_pt";
4555 titlehist=
"Invariant Mass Tight Cuts Backgr ptbin=";
4557 hInvMassD0TGHCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4558 hInvMassD0TGHCback->SetXTitle(
"Invariant Mass [GeV]");
4559 hInvMassD0TGHCback->SetYTitle(
"Entries");
4562 namehist=
"hInvMassD0barTGHCback_pt";
4564 titlehist=
"Invariant Mass D0bar Tight Cuts Back ptbin=";
4566 hInvMassD0barTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4567 hInvMassD0barTGHCback->SetXTitle(
"Invariant Mass [GeV]");
4568 hInvMassD0barTGHCback->SetYTitle(
"Entries");
4571 namehist=
"hetaTGHCback_pt";
4573 titlehist=
"eta Tight Cuts Backgr ptbin=";
4575 hetaTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4576 hetaTGHCback->SetXTitle(
"Pseudorapidity");
4577 hetaTGHCback->SetYTitle(
"Entries");
4580 namehist=
"hCosPDPBTGHCback_pt";
4582 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4584 hCosPDPBTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4585 hCosPDPBTGHCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
4586 hCosPDPBTGHCback->SetYTitle(
"Entries");
4589 namehist=
"hCosPcPDTGHCback_pt";
4591 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4593 hCosPcPDTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4594 hCosPcPDTGHCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4595 hCosPcPDTGHCback->SetYTitle(
"Entries");
4599 namehist=
"hd0xd0TGHCback_pt";
4601 titlehist=
"d0xd0 Tight Cuts Back ptbin=";
4603 hd0xd0TGHCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4604 hd0xd0TGHCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4605 hd0xd0TGHCbackpt->SetYTitle(
"Entries");
4609 namehist=
"hd0D0VSd0xd0TGHCback_pt";
4611 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Back ptbin=";
4613 hd0D0VSd0xd0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4614 hd0D0VSd0xd0TGHCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4615 hd0D0VSd0xd0TGHCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4619 namehist=
"hangletracksVSd0xd0TGHCback_pt";
4621 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Back ptbin=";
4623 hangletracksVSd0xd0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4624 hangletracksVSd0xd0TGHCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4625 hangletracksVSd0xd0TGHCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
4629 namehist=
"hangletracksVSd0D0TGHCback_pt";
4631 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Back ptbin=";
4633 hangletracksVSd0D0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4634 hangletracksVSd0D0TGHCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4635 hangletracksVSd0D0TGHCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
4648 TH1F *hd0D0TGHCbackPM =
new TH1F(
"hd0D0TGHCbackPM",
"D^{0} impact par. plot , Tight Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4649 hd0D0TGHCbackPM->SetXTitle(
"Impact parameter [#mum]");
4650 hd0D0TGHCbackPM->SetYTitle(
"Entries");
4652 TH1F *hd0D0VtxTrueTGHCbackPM =
new TH1F(
"hd0D0VtxTrueTGHCbackPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4653 hd0D0VtxTrueTGHCbackPM->SetXTitle(
"Impact parameter [#mum]");
4654 hd0D0VtxTrueTGHCbackPM->SetYTitle(
"Entries");
4656 TH1F *hMCd0D0TGHCbackPM =
new TH1F(
"hMCd0D0TGHCbackPM",
"D^{0} impact par. plot, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4657 hMCd0D0TGHCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
4658 hMCd0D0TGHCbackPM->SetYTitle(
"Entries");
4660 TH1F *hd0D0TGHCbackSB =
new TH1F(
"hd0D0TGHCbackSB",
"D^{0} impact par. plot , Tight Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4661 hd0D0TGHCbackSB->SetXTitle(
"Impact parameter [#mum]");
4662 hd0D0TGHCbackSB->SetYTitle(
"Entries");
4664 TH1F *hd0D0VtxTrueTGHCbackSB =
new TH1F(
"hd0D0VtxTrueTGHCbackSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4665 hd0D0VtxTrueTGHCbackSB->SetXTitle(
"Impact parameter [#mum]");
4666 hd0D0VtxTrueTGHCbackSB->SetYTitle(
"Entries");
4668 TH1F *hMCd0D0TGHCbackSB =
new TH1F(
"hMCd0D0TGHCbackSB",
"D^{0} impact par. plot, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4669 hMCd0D0TGHCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
4670 hMCd0D0TGHCbackSB->SetYTitle(
"Entries");
4679 TH1F *hd0D0ptTGHCbackPM;
4680 TH1F *hMCd0D0ptTGHCbackPM;
4681 TH1F *hd0D0VtxTrueptTGHCbackPM;
4682 TH1F *hd0D0ptTGHCbackSB;
4683 TH1F *hMCd0D0ptTGHCbackSB;
4684 TH1F *hd0D0VtxTrueptTGHCbackSB;
4685 namehist=
"hd0D0ptTGHCback_";
4686 titlehist=
"D^{0} impact par. plot, Tight Cuts, Background, ";
4689 strnamept.Append(
"PkMss_pt");
4692 strtitlept=titlehist;
4693 strtitlept.Append(
" Mass Peak, ");
4695 strtitlept.Append(
"<= pt <");
4697 strtitlept.Append(
" [GeV/c]");
4699 hd0D0ptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4700 hd0D0ptTGHCbackPM->SetXTitle(
"Impact parameter [#mum] ");
4701 hd0D0ptTGHCbackPM->SetYTitle(
"Entries");
4704 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4705 hMCd0D0ptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4706 hMCd0D0ptTGHCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
4707 hMCd0D0ptTGHCbackPM->SetYTitle(
"Entries");
4711 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4712 hd0D0VtxTrueptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4713 hd0D0VtxTrueptTGHCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4714 hd0D0VtxTrueptTGHCbackPM->SetYTitle(
"Entries");
4718 strnamept.Append(
"SBMss_pt");
4721 strtitlept=titlehist;
4722 strtitlept.Append(
" Side Bands, ");
4724 strtitlept.Append(
"<= pt <");
4726 strtitlept.Append(
" [GeV/c]");
4728 hd0D0ptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4729 hd0D0ptTGHCbackSB->SetXTitle(
"Impact parameter [#mum] ");
4730 hd0D0ptTGHCbackSB->SetYTitle(
"Entries");
4733 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4734 hMCd0D0ptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4735 hMCd0D0ptTGHCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
4736 hMCd0D0ptTGHCbackSB->SetYTitle(
"Entries");
4739 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4740 hd0D0VtxTrueptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4741 hd0D0VtxTrueptTGHCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4742 hd0D0VtxTrueptTGHCbackSB->SetYTitle(
"Entries");
4752 TH2F *hCPtaVSd0d0TGHCfromB=
new TH2F(
"hCPtaVSd0d0TGHCfromB",
"hCPtaVSd0d0_TightCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
4753 TH1F *hSecVtxZTGHCfromB=
new TH1F(
"hSecVtxZTGHCfromB",
"hSecVtxZ_TightCuts_FromB",1000,-8.,8.);
4754 TH1F *hSecVtxXTGHCfromB=
new TH1F(
"hSecVtxXTGHCfromB",
"hSecVtxX_TightCuts_FromB",1000,-3000.,3000.);
4755 TH1F *hSecVtxYTGHCfromB=
new TH1F(
"hSecVtxYTGHCfromB",
"hSecVtxY_TightCuts_FromB",1000,-3000.,3000.);
4756 TH2F *hSecVtxXYTGHCfromB=
new TH2F(
"hSecVtxXYTGHCfromB",
"hSecVtxXY_TightCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
4757 TH1F *hSecVtxPhiTGHCfromB=
new TH1F(
"hSecVtxPhiTGHCfromB",
"hSecVtxPhi_TightCuts_FromB",180,-180.1,180.1);
4758 TH1F *hd0singlTrackTGHCfromB=
new TH1F(
"hd0singlTrackTGHCfromB",
"hd0singlTrackTightCuts_FromB",1000,-5000.,5000.);
4759 TH1F *hCPtaTGHCfromB=
new TH1F(
"hCPtaTGHCfromB",
"hCPta_TightCuts_FromB",100,-1.,1.);
4760 TH1F *hd0xd0TGHCfromB=
new TH1F(
"hd0xd0TGHCfromB",
"hd0xd0_TightCuts_FromB",1000,-100000.,100000.);
4761 TH1F *hMassTrueTGHCfromB=
new TH1F(
"hMassTrueTGHCfromB",
"D^{0} MC inv. Mass Tight Cuts FromB(All momenta)",600,1.600,2.200);
4762 TH1F *hMassTGHCfromB=
new TH1F(
"hMassTGHCfromB",
"D^{0} inv. Mass Tight Cuts FromB (All momenta)",600,1.600,2.200);
4763 hMassTGHCfromB->Sumw2();
4764 TH1F *hMassTrueTGHCfromBPM=
new TH1F(
"hMassTrueTGHCfromBPM",
"D^{0} MC inv. Mass Tight Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
4765 TH1F *hMassTGHCfromBPM=
new TH1F(
"hMassTGHCfromBPM",
"D^{0} inv. Mass Tight Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
4766 hMassTGHCfromBPM->Sumw2();
4767 TH1F *hMassTrueTGHCfromBSB=
new TH1F(
"hMassTrueTGHCfromBSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts FromB(All momenta)",600,1.600,2.200);
4768 TH1F *hMassTGHCfromBSB=
new TH1F(
"hMassTGHCfromBSB",
"D^{0} inv. Mass in Side Bands Tight Cuts FromB (All momenta)",600,1.600,2.200);
4769 hMassTGHCfromBSB->Sumw2();
4790 TH1F *hdcaTGHCfromB=
new TH1F(
"hdcaTGHCfromB",
"hdca_TightCuts_FromB",100,0.,1000.);
4791 hdcaTGHCfromB->SetXTitle(
"dca [#mum]");
4792 hdcaTGHCfromB->SetYTitle(
"Entries");
4793 TH1F *hcosthetastarTGHCfromB=
new TH1F(
"hcosthetastarTGHCfromB",
"hCosThetaStar_TightCuts_FromB",50,-1.,1.);
4794 hcosthetastarTGHCfromB->SetXTitle(
"cos #theta^{*}");
4795 hcosthetastarTGHCfromB->SetYTitle(
"Entries");
4796 TH1F *hptD0TGHCfromB=
new TH1F(
"hptD0TGHCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4797 hptD0TGHCfromB->SetXTitle(
"p_{t} [GeV/c]");
4798 hptD0TGHCfromB->SetYTitle(
"Entries");
4799 TH1F *hptD0VsMaxPtTGHCfromB=
new TH1F(
"hptD0VsMaxPtTGHCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4800 TH2F *hptD0PTallsqrtTGHCfromB=
new TH2F(
"hptD0PTallsqrtTGHCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4801 TH2F *hptD0PTallTGHCfromB=
new TH2F(
"hptD0PTallTGHCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4802 TH2F *hptD0vsptBTGHCfromB=
new TH2F(
"hptD0vsptBTGHCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4803 TH2F *hpD0vspBTGHCfromB=
new TH2F(
"hpD0vspBTGHCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4804 TH2F *hptD0vsptcquarkTGHCfromB=
new TH2F(
"hptD0vsptcquarkTGHCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4805 TH2F *hpD0vspcquarkTGHCfromB=
new TH2F(
"hpD0vspcquarkTGHCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4817 TH1F *hd0zD0ptTGHCfromB;
4818 TH1F *hInvMassD0TGHCfromB,*hInvMassD0barTGHCfromB;
4819 TH2F *hInvMassPtTGHCfromB=
new TH2F(
"hInvMassPtTGHCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4820 TH3F *hInvMassPtSelSignOnlyTGHCfromB=
new TH3F(
"hInvMassPtSelSignOnlyTGHCfromB",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
4822 TH3F *hInvMassPtSelReflOnlyTGHCfromB=
new TH3F(
"hInvMassPtSelReflOnlyTGHCfromB",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
4826 THnSparseF *hSparseTGHCfromB=
new THnSparseF(
"hSparseTGHCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4827 hSparseTGHCfromB->SetBinEdges(0,massbins);
4828 hSparseTGHCfromB->SetBinEdges(1,massbins);
4829 hSparseTGHCfromB->SetBinEdges(2,ptbinsForNsparse);
4830 hSparseTGHCfromB->SetBinEdges(3,impparbins);
4831 hSparseTGHCfromB->SetBinEdges(4,massHypoBins);
4843 THnSparseF *hSparseRecoTGHCfromB=
new THnSparseF(
"hSparseRecoTGHCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4844 hSparseRecoTGHCfromB->SetBinEdges(0,massbins);
4845 hSparseRecoTGHCfromB->SetBinEdges(1,massbins);
4846 hSparseRecoTGHCfromB->SetBinEdges(2,ptbinsForNsparse);
4847 hSparseRecoTGHCfromB->SetBinEdges(3,impparbins);
4848 hSparseRecoTGHCfromB->SetBinEdges(4,massHypoBins);
4858 TH1F *hetaTGHCfromB;
4859 TH1F *hCosPDPBTGHCfromB;
4860 TH1F *hCosPcPDTGHCfromB;
4863 TH2F *hd0D0VSd0xd0TGHCfromBpt;
4864 TH2F *hangletracksVSd0xd0TGHCfromBpt;
4865 TH2F *hangletracksVSd0D0TGHCfromBpt;
4866 TH1F *hd0xd0TGHCfromBpt;
4868 TH2F *hTOFpidTGHCfromB=
new TH2F(
"hTOFpidTGHCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4873 namehist=
"hd0zD0ptTGHCfromB_pt";
4875 titlehist=
"d0(z) Tight Cuts FromBm ptbin=";
4877 hd0zD0ptTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4878 hd0zD0ptTGHCfromB->SetXTitle(
"d_{0}(z) [#mum]");
4879 hd0zD0ptTGHCfromB->SetYTitle(
"Entries");
4882 namehist=
"hInvMassD0TGHCfromB_pt";
4884 titlehist=
"Invariant Mass Tight Cuts FromB ptbin=";
4886 hInvMassD0TGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4887 hInvMassD0TGHCfromB->SetXTitle(
"Invariant Mass [GeV]");
4888 hInvMassD0TGHCfromB->SetYTitle(
"Entries");
4891 namehist=
"hInvMassD0barTGHCfromB_pt";
4893 titlehist=
"Invariant Mass D0bar Tight Cuts FromB ptbin=";
4895 hInvMassD0barTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4896 hInvMassD0barTGHCfromB->SetXTitle(
"Invariant Mass [GeV]");
4897 hInvMassD0barTGHCfromB->SetYTitle(
"Entries");
4900 namehist=
"hetaTGHCfromB_pt";
4902 titlehist=
"eta Tight Cuts FromB ptbin=";
4904 hetaTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4905 hetaTGHCfromB->SetXTitle(
"Pseudorapidity");
4906 hetaTGHCfromB->SetYTitle(
"Entries");
4909 namehist=
"hCosPDPBTGHCfromB_pt";
4911 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4913 hCosPDPBTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4914 hCosPDPBTGHCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
4915 hCosPDPBTGHCfromB->SetYTitle(
"Entries");
4918 namehist=
"hCosPcPDTGHCfromB_pt";
4920 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4922 hCosPcPDTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4923 hCosPcPDTGHCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4924 hCosPcPDTGHCfromB->SetYTitle(
"Entries");
4928 namehist=
"hd0xd0TGHCfromB_pt";
4930 titlehist=
"d0xd0 Tight Cuts FromB ptbin=";
4932 hd0xd0TGHCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4933 hd0xd0TGHCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4934 hd0xd0TGHCfromBpt->SetYTitle(
"Entries");
4938 namehist=
"hd0D0VSd0xd0TGHCfromB_pt";
4940 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromB ptbin=";
4942 hd0D0VSd0xd0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4943 hd0D0VSd0xd0TGHCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4944 hd0D0VSd0xd0TGHCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4948 namehist=
"hangletracksVSd0xd0TGHCfromB_pt";
4950 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromB ptbin=";
4952 hangletracksVSd0xd0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4953 hangletracksVSd0xd0TGHCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4954 hangletracksVSd0xd0TGHCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
4958 namehist=
"hangletracksVSd0D0TGHCfromB_pt";
4960 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts FromB ptbin=";
4962 hangletracksVSd0D0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4963 hangletracksVSd0D0TGHCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4964 hangletracksVSd0D0TGHCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
4976 TH1F *hd0D0TGHCfromBPM =
new TH1F(
"hd0D0TGHCfromBPM",
"D^{0} impact par. plot , Tight Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4977 hd0D0TGHCfromBPM->SetXTitle(
"Impact parameter [#mum]");
4978 hd0D0TGHCfromBPM->SetYTitle(
"Entries");
4980 TH1F *hd0D0VtxTrueTGHCfromBPM =
new TH1F(
"hd0D0VtxTrueTGHCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4981 hd0D0VtxTrueTGHCfromBPM->SetXTitle(
"Impact parameter [#mum]");
4982 hd0D0VtxTrueTGHCfromBPM->SetYTitle(
"Entries");
4984 TH1F *hMCd0D0TGHCfromBPM =
new TH1F(
"hMCd0D0TGHCfromBPM",
"D^{0} impact par. plot, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4985 hMCd0D0TGHCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
4986 hMCd0D0TGHCfromBPM->SetYTitle(
"Entries");
4988 TH1F *hd0D0TGHCfromBSB =
new TH1F(
"hd0D0TGHCfromBSB",
"D^{0} impact par. plot , Tight Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4989 hd0D0TGHCfromBSB->SetXTitle(
"Impact parameter [#mum]");
4990 hd0D0TGHCfromBSB->SetYTitle(
"Entries");
4992 TH1F *hd0D0VtxTrueTGHCfromBSB =
new TH1F(
"hd0D0VtxTrueTGHCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4993 hd0D0VtxTrueTGHCfromBSB->SetXTitle(
"Impact parameter [#mum]");
4994 hd0D0VtxTrueTGHCfromBSB->SetYTitle(
"Entries");
4996 TH1F *hMCd0D0TGHCfromBSB =
new TH1F(
"hMCd0D0TGHCfromBSB",
"D^{0} impact par. plot, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4997 hMCd0D0TGHCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
4998 hMCd0D0TGHCfromBSB->SetYTitle(
"Entries");
5007 TH1F *hd0D0ptTGHCfromBPM;
5008 TH1F *hMCd0D0ptTGHCfromBPM;
5009 TH1F *hd0D0VtxTrueptTGHCfromBPM;
5010 TH1F *hd0D0ptTGHCfromBSB;
5011 TH1F *hMCd0D0ptTGHCfromBSB;
5012 TH1F *hd0D0VtxTrueptTGHCfromBSB;
5013 namehist=
"hd0D0ptTGHCfromB_";
5014 titlehist=
"D^{0} impact par. plot, Tight Cuts, FromB, ";
5017 strnamept.Append(
"PkMss_pt");
5020 strtitlept=titlehist;
5021 strtitlept.Append(
" Mass Peak, ");
5023 strtitlept.Append(
"<= pt <");
5025 strtitlept.Append(
" [GeV/c]");
5027 hd0D0ptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5028 hd0D0ptTGHCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
5029 hd0D0ptTGHCfromBPM->SetYTitle(
"Entries");
5032 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5033 hMCd0D0ptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5034 hMCd0D0ptTGHCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
5035 hMCd0D0ptTGHCfromBPM->SetYTitle(
"Entries");
5039 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5040 hd0D0VtxTrueptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5041 hd0D0VtxTrueptTGHCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5042 hd0D0VtxTrueptTGHCfromBPM->SetYTitle(
"Entries");
5046 strnamept.Append(
"SBMss_pt");
5049 strtitlept=titlehist;
5050 strtitlept.Append(
" Side Bands, ");
5052 strtitlept.Append(
"<= pt <");
5054 strtitlept.Append(
" [GeV/c]");
5056 hd0D0ptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5057 hd0D0ptTGHCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
5058 hd0D0ptTGHCfromBSB->SetYTitle(
"Entries");
5061 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5062 hMCd0D0ptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5063 hMCd0D0ptTGHCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
5064 hMCd0D0ptTGHCfromBSB->SetYTitle(
"Entries");
5067 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5068 hd0D0VtxTrueptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5069 hd0D0VtxTrueptTGHCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5070 hd0D0VtxTrueptTGHCfromBSB->SetYTitle(
"Entries");
5079 TH2F *hCPtaVSd0d0TGHCfromDstar=
new TH2F(
"hCPtaVSd0d0TGHCfromDstar",
"hCPtaVSd0d0_TightCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
5080 TH1F *hSecVtxZTGHCfromDstar=
new TH1F(
"hSecVtxZTGHCfromDstar",
"hSecVtxZ_TightCuts_FromDStar",1000,-8.,8.);
5081 TH1F *hSecVtxXTGHCfromDstar=
new TH1F(
"hSecVtxXTGHCfromDstar",
"hSecVtxX_TightCuts_FromDStar",1000,-3000.,3000.);
5082 TH1F *hSecVtxYTGHCfromDstar=
new TH1F(
"hSecVtxYTGHCfromDstar",
"hSecVtxY_TightCuts_FromDStar",1000,-3000.,3000.);
5083 TH2F *hSecVtxXYTGHCfromDstar=
new TH2F(
"hSecVtxXYTGHCfromDstar",
"hSecVtxXY_TightCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
5084 TH1F *hSecVtxPhiTGHCfromDstar=
new TH1F(
"hSecVtxPhiTGHCfromDstar",
"hSecVtxPhi_TightCuts_FromDStar",180,-180.1,180.1);
5085 TH1F *hd0singlTrackTGHCfromDstar=
new TH1F(
"hd0singlTrackTGHCfromDstar",
"hd0singlTrackTightCuts_FromDstar",1000,-5000.,5000.);
5086 TH1F *hCPtaTGHCfromDstar=
new TH1F(
"hCPtaTGHCfromDstar",
"hCPta_TightCuts_FromDStar",100,-1.,1.);
5087 TH1F *hd0xd0TGHCfromDstar=
new TH1F(
"hd0xd0TGHCfromDstar",
"hd0xd0_TightCuts_FromDStar",1000,-100000.,100000.);
5088 TH1F *hMassTrueTGHCfromDstar=
new TH1F(
"hMassTrueTGHCfromDstar",
"D^{0} MC inv. Mass Tight Cuts FromDStar(All momenta)",600,1.600,2.200);
5089 TH1F *hMassTGHCfromDstar=
new TH1F(
"hMassTGHCfromDstar",
"D^{0} inv. Mass Tight Cuts FromDStar (All momenta)",600,1.600,2.200);
5090 hMassTGHCfromDstar->Sumw2();
5091 TH1F *hMassTrueTGHCfromDstarPM=
new TH1F(
"hMassTrueTGHCfromDstarPM",
"D^{0} MC inv. Mass Tight Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
5092 TH1F *hMassTGHCfromDstarPM=
new TH1F(
"hMassTGHCfromDstarPM",
"D^{0} inv. Mass Tight Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
5093 hMassTGHCfromDstarPM->Sumw2();
5094 TH1F *hMassTrueTGHCfromDstarSB=
new TH1F(
"hMassTrueTGHCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts FromDStar(All momenta)",600,1.600,2.200);
5095 TH1F *hMassTGHCfromDstarSB=
new TH1F(
"hMassTGHCfromDstarSB",
"D^{0} inv. Mass in Side Bands Tight Cuts FromDStar (All momenta)",600,1.600,2.200);
5096 hMassTGHCfromDstarSB->Sumw2();
5119 TH1F *hdcaTGHCfromDstar=
new TH1F(
"hdcaTGHCfromDstar",
"hdca_TightCuts_FromDstar",100,0.,1000.);
5120 hdcaTGHCfromDstar->SetXTitle(
"dca [#mum]");
5121 hdcaTGHCfromDstar->SetYTitle(
"Entries");
5122 TH1F *hcosthetastarTGHCfromDstar=
new TH1F(
"hcosthetastarTGHCfromDstar",
"hCosThetaStar_TightCuts_FromDstar",50,-1.,1.);
5123 hcosthetastarTGHCfromDstar->SetXTitle(
"cos #theta^{*}");
5124 hcosthetastarTGHCfromDstar->SetYTitle(
"Entries");
5125 TH1F *hptD0TGHCfromDstar=
new TH1F(
"hptD0TGHCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
5126 hptD0TGHCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
5127 hptD0TGHCfromDstar->SetYTitle(
"Entries");
5128 TH1F *hptD0VsMaxPtTGHCfromDstar=
new TH1F(
"hptD0VsMaxPtTGHCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
5129 TH2F *hptD0PTallsqrtTGHCfromDstar=
new TH2F(
"hptD0PTallsqrtTGHCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
5130 TH2F *hptD0PTallTGHCfromDstar=
new TH2F(
"hptD0PTallTGHCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
5131 TH2F *hptD0vsptBTGHCfromDstar=
new TH2F(
"hptD0vsptBTGHCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5132 TH2F *hpD0vspBTGHCfromDstar=
new TH2F(
"hpD0vspBTGHCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5133 TH2F *hptD0vsptcquarkTGHCfromDstar=
new TH2F(
"hptD0vsptcquarkTGHCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5134 TH2F *hpD0vspcquarkTGHCfromDstar=
new TH2F(
"hpD0vspcquarkTGHCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5146 TH1F *hd0zD0ptTGHCfromDstar;
5147 TH1F *hInvMassD0TGHCfromDstar,*hInvMassD0barTGHCfromDstar;
5148 TH1F *hetaTGHCfromDstar;
5149 TH2F *hInvMassPtTGHCfromDstar=
new TH2F(
"hInvMassPtTGHCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
5151 TH3F *hInvMassPtSelSignOnlyTGHCfromDstar=
new TH3F(
"hInvMassPtSelSignOnlyTGHCfromDstar",
"Candidate p_{t} Vs invariant mass vs sel case for signal only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
5153 TH3F *hInvMassPtSelReflOnlyTGHCfromDstar=
new TH3F(
"hInvMassPtSelReflOnlyTGHCfromDstar",
"Candidate p_{t} Vs invariant mass vs sel case for reflections only",600,1.600,2.200,72,0.,36.,3,0.5,3.5);
5156 THnSparseF *hSparseTGHCfromDstar=
new THnSparseF(
"hSparseTGHCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
5157 hSparseTGHCfromDstar->SetBinEdges(0,massbins);
5158 hSparseTGHCfromDstar->SetBinEdges(1,massbins);
5159 hSparseTGHCfromDstar->SetBinEdges(2,ptbinsForNsparse);
5160 hSparseTGHCfromDstar->SetBinEdges(3,impparbins);
5161 hSparseTGHCfromDstar->SetBinEdges(4,massHypoBins);
5171 TH1F *hCosPDPBTGHCfromDstar;
5172 TH1F *hCosPcPDTGHCfromDstar;
5175 TH2F *hd0D0VSd0xd0TGHCfromDstarpt;
5176 TH2F *hangletracksVSd0xd0TGHCfromDstarpt;
5177 TH2F *hangletracksVSd0D0TGHCfromDstarpt;
5178 TH1F *hd0xd0TGHCfromDstarpt;
5180 TH2F *hTOFpidTGHCfromDstar=
new TH2F(
"hTOFpidTGHCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
5184 namehist=
"hd0zD0ptTGHCfromDstar_pt";
5186 titlehist=
"d0(z) Tight Cuts FromDstarm ptbin=";
5188 hd0zD0ptTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
5189 hd0zD0ptTGHCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
5190 hd0zD0ptTGHCfromDstar->SetYTitle(
"Entries");
5193 namehist=
"hInvMassD0TGHCfromDstar_pt";
5195 titlehist=
"Invariant Mass Tight Cuts FromDstar ptbin=";
5197 hInvMassD0TGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5198 hInvMassD0TGHCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
5199 hInvMassD0TGHCfromDstar->SetYTitle(
"Entries");
5202 namehist=
"hInvMassD0barTGHCfromDstar_pt";
5204 titlehist=
"Invariant Mass D0bar Tight Cuts FromDstar ptbin=";
5206 hInvMassD0barTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5207 hInvMassD0barTGHCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
5208 hInvMassD0barTGHCfromDstar->SetYTitle(
"Entries");
5211 namehist=
"hetaTGHCfromDstar_pt";
5213 titlehist=
"eta Tight Cuts FromDstar ptbin=";
5215 hetaTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
5216 hetaTGHCfromDstar->SetXTitle(
"Pseudorapidity");
5217 hetaTGHCfromDstar->SetYTitle(
"Entries");
5220 namehist=
"hCosPDPBTGHCfromDstar_pt";
5222 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
5224 hCosPDPBTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5225 hCosPDPBTGHCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
5226 hCosPDPBTGHCfromDstar->SetYTitle(
"Entries");
5229 namehist=
"hCosPcPDTGHCfromDstar_pt";
5231 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
5233 hCosPcPDTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5234 hCosPcPDTGHCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
5235 hCosPcPDTGHCfromDstar->SetYTitle(
"Entries");
5239 namehist=
"hd0xd0TGHCfromDstar_pt";
5241 titlehist=
"d0xd0 Tight Cuts FromDstar ptbin=";
5243 hd0xd0TGHCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
5244 hd0xd0TGHCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
5245 hd0xd0TGHCfromDstarpt->SetYTitle(
"Entries");
5249 namehist=
"hd0D0VSd0xd0TGHCfromDstar_pt";
5251 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromDstar ptbin=";
5253 hd0D0VSd0xd0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
5254 hd0D0VSd0xd0TGHCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5255 hd0D0VSd0xd0TGHCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
5259 namehist=
"hangletracksVSd0xd0TGHCfromDstar_pt";
5261 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromDstar ptbin=";
5263 hangletracksVSd0xd0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
5264 hangletracksVSd0xd0TGHCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5265 hangletracksVSd0xd0TGHCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
5269 namehist=
"hangletracksVSd0D0TGHCfromDstar_pt";
5271 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts FromDstar ptbin=";
5273 hangletracksVSd0D0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
5274 hangletracksVSd0D0TGHCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
5275 hangletracksVSd0D0TGHCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
5285 TH1F *hd0D0TGHCfromDstPM =
new TH1F(
"hd0D0TGHCfromDstarPM",
"D^{0} impact par. plot , Tight Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5286 hd0D0TGHCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
5287 hd0D0TGHCfromDstPM->SetYTitle(
"Entries");
5289 TH1F *hd0D0VtxTrueTGHCfromDstPM =
new TH1F(
"hd0D0VtxTrueTGHCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5290 hd0D0VtxTrueTGHCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
5291 hd0D0VtxTrueTGHCfromDstPM->SetYTitle(
"Entries");
5293 TH1F *hMCd0D0TGHCfromDstPM =
new TH1F(
"hMCd0D0TGHCfromDstarPM",
"D^{0} impact par. plot, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5294 hMCd0D0TGHCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
5295 hMCd0D0TGHCfromDstPM->SetYTitle(
"Entries");
5297 TH1F *hd0D0TGHCfromDstSB =
new TH1F(
"hd0D0TGHCfromDstarSB",
"D^{0} impact par. plot , Tight Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5298 hd0D0TGHCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
5299 hd0D0TGHCfromDstSB->SetYTitle(
"Entries");
5301 TH1F *hd0D0VtxTrueTGHCfromDstSB =
new TH1F(
"hd0D0VtxTrueTGHCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5302 hd0D0VtxTrueTGHCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
5303 hd0D0VtxTrueTGHCfromDstSB->SetYTitle(
"Entries");
5305 TH1F *hMCd0D0TGHCfromDstSB =
new TH1F(
"hMCd0D0TGHCfromDstarSB",
"D^{0} impact par. plot, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5306 hMCd0D0TGHCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
5307 hMCd0D0TGHCfromDstSB->SetYTitle(
"Entries");
5316 TH1F *hd0D0ptTGHCfromDstPM;
5317 TH1F *hMCd0D0ptTGHCfromDstPM;
5318 TH1F *hd0D0VtxTrueptTGHCfromDstPM;
5319 TH1F *hd0D0ptTGHCfromDstSB;
5320 TH1F *hMCd0D0ptTGHCfromDstSB;
5321 TH1F *hd0D0VtxTrueptTGHCfromDstSB;
5322 namehist=
"hd0D0ptTGHCfromDstar_";
5323 titlehist=
"D^{0} impact par. plot, Tight Cuts, FromDStar, ";
5326 strnamept.Append(
"PkMss_pt");
5329 strtitlept=titlehist;
5330 strtitlept.Append(
" Mass Peak, ");
5332 strtitlept.Append(
"<= pt <");
5334 strtitlept.Append(
" [GeV/c]");
5336 hd0D0ptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5337 hd0D0ptTGHCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
5338 hd0D0ptTGHCfromDstPM->SetYTitle(
"Entries");
5341 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5342 hMCd0D0ptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5343 hMCd0D0ptTGHCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
5344 hMCd0D0ptTGHCfromDstPM->SetYTitle(
"Entries");
5348 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5349 hd0D0VtxTrueptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5350 hd0D0VtxTrueptTGHCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5351 hd0D0VtxTrueptTGHCfromDstPM->SetYTitle(
"Entries");
5355 strnamept.Append(
"SBMss_pt");
5358 strtitlept=titlehist;
5359 strtitlept.Append(
" Side Bands, ");
5361 strtitlept.Append(
"<= pt <");
5363 strtitlept.Append(
" [GeV/c]");
5365 hd0D0ptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5366 hd0D0ptTGHCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
5367 hd0D0ptTGHCfromDstSB->SetYTitle(
"Entries");
5370 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5371 hMCd0D0ptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5372 hMCd0D0ptTGHCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
5373 hMCd0D0ptTGHCfromDstSB->SetYTitle(
"Entries");
5376 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5377 hd0D0VtxTrueptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5378 hd0D0VtxTrueptTGHCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5379 hd0D0VtxTrueptTGHCfromDstSB->SetYTitle(
"Entries");
5388 TH2F *hCPtaVSd0d0TGHCother=
new TH2F(
"hCPtaVSd0d0TGHCother",
"hCPtaVSd0d0_TightCuts_other",1000,-100000.,100000.,100,-1.,1.);
5389 TH1F *hSecVtxZTGHCother=
new TH1F(
"hSecVtxZTGHCother",
"hSecVtxZ_TightCuts_other",1000,-8.,8.);
5390 TH1F *hSecVtxXTGHCother=
new TH1F(
"hSecVtxXTGHCother",
"hSecVtxX_TightCuts_other",1000,-3000.,3000.);
5391 TH1F *hSecVtxYTGHCother=
new TH1F(
"hSecVtxYTGHCother",
"hSecVtxY_TightCuts_other",1000,-3000.,3000.);
5392 TH2F *hSecVtxXYTGHCother=
new TH2F(
"hSecVtxXYTGHCother",
"hSecVtxXY_TightCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
5393 TH1F *hSecVtxPhiTGHCother=
new TH1F(
"hSecVtxPhiTGHCother",
"hSecVtxPhi_TightCuts_other",180,-180.1,180.1);
5394 TH1F *hd0singlTrackTGHCother=
new TH1F(
"hd0singlTrackTGHCother",
"hd0singlTrackTightCuts_Other",1000,-5000.,5000.);
5395 TH1F *hCPtaTGHCother=
new TH1F(
"hCPtaTGHCother",
"hCPta_TightCuts_other",100,-1.,1.);
5396 TH1F *hd0xd0TGHCother=
new TH1F(
"hd0xd0TGHCother",
"hd0xd0_TightCuts_other",1000,-100000.,100000.);
5397 TH1F *hMassTrueTGHCother=
new TH1F(
"hMassTrueTGHCother",
"D^{0} MC inv. Mass Tight Cuts other(All momenta)",600,1.600,2.200);
5398 TH1F *hMassTGHCother=
new TH1F(
"hMassTGHCother",
"D^{0} inv. Mass Tight Cuts other (All momenta)",600,1.600,2.200);
5399 hMassTGHCother->Sumw2();
5400 TH1F *hMassTrueTGHCotherPM=
new TH1F(
"hMassTrueTGHCotherPM",
"D^{0} MC inv. Mass Tight Cuts other, Mass Peak. (All momenta)",600,1.600,2.200);
5401 TH1F *hMassTGHCotherPM=
new TH1F(
"hMassTGHCotherPM",
"D^{0} inv. Mass Tight Cuts other (All momenta), MassPeak",600,1.600,2.200);
5402 hMassTGHCotherPM->Sumw2();
5403 TH1F *hMassTrueTGHCotherSB=
new TH1F(
"hMassTrueTGHCotherSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts other(All momenta)",600,1.600,2.200);
5404 TH1F *hMassTGHCotherSB=
new TH1F(
"hMassTGHCotherSB",
"D^{0} inv. Mass in Side Bands Tight Cuts other (All momenta)",600,1.600,2.200);
5405 hMassTGHCotherSB->Sumw2();
5427 TH1F *hdcaTGHCother=
new TH1F(
"hdcaTGHCother",
"hdca_TightCuts_Other",100,0.,1000.);
5428 hdcaTGHCother->SetXTitle(
"dca [#mum]");
5429 hdcaTGHCother->SetYTitle(
"Entries");
5430 TH1F *hcosthetastarTGHCother=
new TH1F(
"hcosthetastarTGHCother",
"hCosThetaStar_TightCuts_Other",50,-1.,1.);
5431 hcosthetastarTGHCother->SetXTitle(
"cos #theta^{*}");
5432 hcosthetastarTGHCother->SetYTitle(
"Entries");
5433 TH1F *hptD0TGHCother=
new TH1F(
"hptD0TGHCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
5434 hptD0TGHCother->SetXTitle(
"p_{t} [GeV/c]");
5435 hptD0TGHCother->SetYTitle(
"Entries");
5436 TH1F *hptD0VsMaxPtTGHCother=
new TH1F(
"hptD0VsMaxPtTGHCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
5437 TH2F *hptD0PTallsqrtTGHCother=
new TH2F(
"hptD0PTallsqrtTGHCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
5438 TH2F *hptD0PTallTGHCother=
new TH2F(
"hptD0PTallTGHCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
5439 TH2F *hptD0vsptBTGHCother=
new TH2F(
"hptD0vsptBTGHCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5440 TH2F *hpD0vspBTGHCother=
new TH2F(
"hpD0vspBTGHCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5441 TH2F *hptD0vsptcquarkTGHCother=
new TH2F(
"hptD0vsptcquarkTGHCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5442 TH2F *hpD0vspcquarkTGHCother=
new TH2F(
"hpD0vspcquarkTGHCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5454 TH1F *hd0zD0ptTGHCother;
5455 TH1F *hInvMassD0TGHCother,*hInvMassD0barTGHCother;
5456 TH2F *hInvMassPtTGHCother=
new TH2F(
"hInvMassPtTGHCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
5457 THnSparseF *hSparseTGHCother=
new THnSparseF(
"hSparseTGHCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
5458 hSparseTGHCother->SetBinEdges(0,massbins);
5459 hSparseTGHCother->SetBinEdges(1,massbins);
5460 hSparseTGHCother->SetBinEdges(2,ptbinsForNsparse);
5461 hSparseTGHCother->SetBinEdges(3,impparbins);
5462 hSparseTGHCother->SetBinEdges(4,massHypoBins);
5474 TH1F *hetaTGHCother;
5475 TH1F *hCosPDPBTGHCother;
5476 TH1F *hCosPcPDTGHCother;
5479 TH2F *hd0D0VSd0xd0TGHCotherpt;
5480 TH2F *hangletracksVSd0xd0TGHCotherpt;
5481 TH2F *hangletracksVSd0D0TGHCotherpt;
5482 TH1F *hd0xd0TGHCotherpt;