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"
61 class AliAnalysisTaskSE;
69 : AliAnalysisTaskSE(),
75 fsplitMassD0D0bar(kTRUE),
88 fsidebandInvMassCut(),
89 fsidebandInvMassWindow(),
91 fCleanCandOwnVtx(kFALSE),
95 fSignalTypeTghCuts(0),
101 flistNoCutsFromDstar(0),
103 flistLsCutsSignal(0),
106 flistLsCutsFromDstar(0),
108 flistTghCutsSignal(0),
110 flistTghCutsFromB(0),
111 flistTghCutsFromDstar(0),
112 flistTghCutsOther(0),
114 fselectForUpgrade(0),
115 fskipEventSelection(kFALSE),
128 fTreeRecoLSCfromB(0),
129 fTreeLSCfromDstar(0),
134 fTreeRecoTGHCfromB(0),
135 fTreeTGHCfromDstar(0),
137 fVariablesTreeNCsign(),
138 fVariablesTreeNCback(),
139 fVariablesTreeNCfromB(),
140 fVariablesTreeRecoNCfromB(),
141 fVariablesTreeNCfromDstar(),
142 fVariablesTreeNCother(),
143 fVariablesTreeLSCsign(),
144 fVariablesTreeLSCback(),
145 fVariablesTreeLSCfromB(),
146 fVariablesTreeRecoLSCfromB(),
147 fVariablesTreeLSCfromDstar(),
148 fVariablesTreeLSCother(),
149 fVariablesTreeTGHCsign(),
150 fVariablesTreeTGHCback(),
151 fVariablesTreeTGHCfromB(),
152 fVariablesTreeRecoTGHCfromB(),
153 fVariablesTreeTGHCfromDstar(),
154 fVariablesTreeTGHCother()
160 : AliAnalysisTaskSE(name),
166 fsplitMassD0D0bar(kTRUE),
177 fsignalInvMassCut(-1.),
178 flargeInvMassCut(-1.),
179 fsidebandInvMassCut(-1.),
180 fsidebandInvMassWindow(-1.),
182 fCleanCandOwnVtx(kFALSE),
185 fSignalTypeLsCuts(0),
186 fSignalTypeTghCuts(0),
188 flistMCproperties(0),
189 flistNoCutsSignal(0),
192 flistNoCutsFromDstar(0),
194 flistLsCutsSignal(0),
197 flistLsCutsFromDstar(0),
199 flistTghCutsSignal(0),
201 flistTghCutsFromB(0),
202 flistTghCutsFromDstar(0),
203 flistTghCutsOther(0),
205 fselectForUpgrade(0),
206 fskipEventSelection(kFALSE),
219 fTreeRecoLSCfromB(0),
220 fTreeLSCfromDstar(0),
225 fTreeRecoTGHCfromB(0),
226 fTreeTGHCfromDstar(0),
228 fVariablesTreeNCsign(),
229 fVariablesTreeNCback(),
230 fVariablesTreeNCfromB(),
231 fVariablesTreeRecoNCfromB(),
232 fVariablesTreeNCfromDstar(),
233 fVariablesTreeNCother(),
234 fVariablesTreeLSCsign(),
235 fVariablesTreeLSCback(),
236 fVariablesTreeLSCfromB(),
237 fVariablesTreeRecoLSCfromB(),
238 fVariablesTreeLSCfromDstar(),
239 fVariablesTreeLSCother(),
240 fVariablesTreeTGHCsign(),
241 fVariablesTreeTGHCback(),
242 fVariablesTreeTGHCfromB(),
243 fVariablesTreeRecoTGHCfromB(),
244 fVariablesTreeTGHCfromDstar(),
245 fVariablesTreeTGHCother()
256 DefineOutput(1, TH1F::Class());
257 DefineOutput(2, TH1F::Class());
258 DefineOutput(3, TH1F::Class());
259 DefineOutput(4, TH1F::Class());
260 DefineOutput(5, AliNormalizationCounter::Class());
262 for(Int_t j=6;j<22;j++){
263 DefineOutput(j, TList::Class());
267 DefineOutput(22,AliRDHFCutsD0toKpi::Class());
268 DefineOutput(23,AliRDHFCutsD0toKpi::Class());
274 : AliAnalysisTaskSE(name),
280 fsplitMassD0D0bar(kTRUE),
291 fsignalInvMassCut(-1.),
292 flargeInvMassCut(-1.),
293 fsidebandInvMassCut(-1.),
294 fsidebandInvMassWindow(-1.),
296 fCleanCandOwnVtx(kFALSE),
299 fSignalTypeLsCuts(0),
300 fSignalTypeTghCuts(0),
302 flistMCproperties(0),
303 flistNoCutsSignal(0),
306 flistNoCutsFromDstar(0),
308 flistLsCutsSignal(0),
311 flistLsCutsFromDstar(0),
313 flistTghCutsSignal(0),
315 flistTghCutsFromB(0),
316 flistTghCutsFromDstar(0),
317 flistTghCutsOther(0),
319 fselectForUpgrade(0),
320 fskipEventSelection(kFALSE),
333 fTreeRecoLSCfromB(0),
334 fTreeLSCfromDstar(0),
339 fTreeRecoTGHCfromB(0),
340 fTreeTGHCfromDstar(0),
342 fVariablesTreeNCsign(),
343 fVariablesTreeNCback(),
344 fVariablesTreeNCfromB(),
345 fVariablesTreeRecoNCfromB(),
346 fVariablesTreeNCfromDstar(),
347 fVariablesTreeNCother(),
348 fVariablesTreeLSCsign(),
349 fVariablesTreeLSCback(),
350 fVariablesTreeLSCfromB(),
351 fVariablesTreeRecoLSCfromB(),
352 fVariablesTreeLSCfromDstar(),
353 fVariablesTreeLSCother(),
354 fVariablesTreeTGHCsign(),
355 fVariablesTreeTGHCback(),
356 fVariablesTreeTGHCfromB(),
357 fVariablesTreeRecoTGHCfromB(),
358 fVariablesTreeTGHCfromDstar(),
359 fVariablesTreeTGHCother()
371 printf(
"Different number of pt bins between the two sets of cuts: SWITCH TO STANDARD CUTS \n");
379 printf(
"Different pt bin limits in the two set of cuts: use the first as reference \n");
389 DefineOutput(1, TH1F::Class());
390 DefineOutput(2, TH1F::Class());
391 DefineOutput(3, TH1F::Class());
392 DefineOutput(4, TH1F::Class());
393 DefineOutput(5, AliNormalizationCounter::Class());
395 for(Int_t j=6;j<22;j++){
397 DefineOutput(j, TList::Class());
400 DefineOutput(22,AliRDHFCutsD0toKpi::Class());
401 DefineOutput(23,AliRDHFCutsD0toKpi::Class());
540 if(fDebug > 1) printf(
"AnalysisTaskSED0Mass::Init() \n");
541 fmD0PDG = TDatabasePDG::Instance()->GetParticle(421)->Mass();
550 printf(
"AliAnalysisTaskSECharmFraction: Not All info for mass selection provided: switch to default values \n");
555 const char* nameoutputTight=GetOutputSlot(22)->GetContainer()->GetName();
556 copyfCutsTight->SetName(nameoutputTight);
558 const char* nameoutputLoose=GetOutputSlot(23)->GetContainer()->GetName();
559 copyfCutsLoose->SetName(nameoutputLoose);
562 PostData(22,copyfCutsTight);
563 PostData(23,copyfCutsLoose);
568 printf(
"Two cut objects have different selection for primary vertex recalculation w/o daughters:\n Dangerous for variable drawing!! \n");
614 TString strnamept,strtitlept;
615 Printf(
"INSIDE USER CREATE \n");
619 fNentries=
new TH1F(
"nentriesChFr",
"Analyzed sample properties", 21,-0.5,20.5);
621 fNentries->GetXaxis()->SetBinLabel(1,
"nEventsAnal");
623 fNentries->GetXaxis()->SetBinLabel(2,
"nEvTGHTsel");
624 fNentries->GetXaxis()->SetBinLabel(3,
"nEvTGHTPile-up Rej");
625 fNentries->GetXaxis()->SetBinLabel(4,
"nEvTGHTGoodVtxS");
626 fNentries->GetXaxis()->SetBinLabel(5,
"nEvTGHTRejVtxZ");
627 fNentries->GetXaxis()->SetBinLabel(6,
"nTracksTGHTEv");
628 fNentries->GetXaxis()->SetBinLabel(7,
"nCandTGHTEv");
629 fNentries->GetXaxis()->SetBinLabel(8,
"nCandSelTGHTEv");
630 fNentries->GetXaxis()->SetBinLabel(20,
"nUnexpErrorTGHT");
632 fNentries->GetXaxis()->SetBinLabel(9,
"nEvLSsel");
633 fNentries->GetXaxis()->SetBinLabel(10,
"nEvLSPile-up Rej");
634 fNentries->GetXaxis()->SetBinLabel(11,
"nEvLSGoodVtxS");
635 fNentries->GetXaxis()->SetBinLabel(12,
"nEvLSRejVtxZ");
636 fNentries->GetXaxis()->SetBinLabel(13,
"nTracksLSEv");
637 fNentries->GetXaxis()->SetBinLabel(14,
"nCandLSEv");
638 fNentries->GetXaxis()->SetBinLabel(15,
"nCandSelLSEv");
639 fNentries->GetXaxis()->SetBinLabel(21,
"nUnexpErrorTGHT");
655 fNentries->GetXaxis()->SetNdivisions(1,kFALSE);
657 fSignalType=
new TH1F(
"hsignaltype",
"Histo for type of MC signal", 61,-1.,60.);
658 fSignalTypeLsCuts=
new TH1F(
"hsignaltypeLsCuts",
"Histo for type of MC signal with loose cuts", 61,-1.,60.);
659 fSignalTypeTghCuts=
new TH1F(
"hsignaltypeTghCuts",
"Histo for type of MC signal with tight cuts", 61,-1.,60.);
735 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.};
736 Float_t dumbinning[201];
737 for(Int_t j=0;j<201;j++){
738 dumbinning[j]=(Float_t)j*0.5;
742 const Int_t nPtbinsForSparse=91;
743 Double_t ptbinsForNsparse[nPtbinsForSparse];
745 Double_t massbins[186],impparbins[401];
746 Double_t massHypoBins[4]={1.,2.,3.,4.};
747 Int_t nbinsSparse[5]={185,185,nPtbinsForSparse-1,400,3};
748 for(Int_t nBins=0;nBins<nPtbinsForSparse;nBins++){
749 ptbinsForNsparse[nBins]=pT;
751 else if(pT<20)pT+=0.5;
753 else if(pT<70)pT+=5.;
755 for(Int_t nBins=0;nBins<186;nBins++){
756 massbins[nBins]=1.680+nBins*(2.050-1.680)/185.;
758 for(Int_t nBins=0;nBins<401;nBins++){
759 impparbins[nBins]=-1000+nBins*(2000.)/400.;
778 TH1F *hMCcquarkAllPt=
new TH1F(
"hMCcquarkAllPt",
"c quark Pt (all cquarks produced)",34,ptbinsD0arr);
779 TH1F *hMCcquarkAllEta=
new TH1F(
"hMCcquarkAllEta",
"c quark Eta (all cquarks produced)",50,-3.,3.);
780 TH1F *hMCcquarkAllEnergy=
new TH1F(
"hMCcquarkAllEnergy",
"c quark Pt (all cquarks produced)",200,0.,100.);
781 TH1F *hMCcquarkNdaught=
new TH1F(
"hMCcquarkNdaught",
"N cquark daughters (all cquarks produced)",100,0.,100.);
782 TH1F *hMCD0fromcPt=
new TH1F(
"hMCD0fromcPt",
"D0 from c Pt",34,ptbinsD0arr);
783 TH1F *hMCD0fromcEta=
new TH1F(
"hMCD0fromcEta",
"D0 from c Eta",50,-3.,3.);
784 TH1F *hMCD0fromcEnergy=
new TH1F(
"hMCD0fromcEnergy",
"D0 from c Energy",200,0.,100.);
786 TH2F *hMCD0VscquarkPt=
new TH2F(
"hMCD0VscquarkPt",
"D0 pt Vs cquark pt",34,ptbinsD0arr,34,ptbinsD0arr);
787 TH2F *hMCD0VscquarkEnergy=
new TH2F(
"hMCD0VscquarkEnergy",
"D0 Energy Vs cquark Energy",200,0.,50.,200,0.,50.);
788 TH1F *hMCD0deltacquarkEnergy=
new TH1F(
"hMCD0deltacquarkEnergy",
"Fractional D0 Energy w.r.t. cquark Energy",20,0.,1.);
789 TH1F *hMCD0EnergyVsAvcquarkDaughtEn=
new TH1F(
"hMCD0EnergyVsAvcquarkDaughtEn",
"#Delta(E^{D^0}-E_{avg})/E_{cquark}",40,-1.,1.);
790 TH1F *hMCD0cquarkAngle=
new TH1F(
"hMCD0cquarkAngle",
"cosine of the angle between D0 and c quark particle",40,-1.,1.);
791 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.);
793 TH1I *hMCfromBpdgB=
new TH1I(
"hMCfromBpdgB",
"hMCfromBpdgB",10000,0.,10000);
794 TH1F *hMCBhadrPt=
new TH1F(
"hMCBhadrPt",
"B hadr Pt",34,ptbinsD0arr);
795 TH1F *hMCBhadrEta=
new TH1F(
"hMCBhadrEta",
"B hadr Eta",50,-3.,3.);
796 TH1F *hMCBhadrEnergy=
new TH1F(
"hMCBhadrEnergy",
"B hadr Pt",200,0.,100.);
797 TH1F *hMCBhadrNdaught=
new TH1F(
"hMCBhadrNdaught",
"N Bhadr daughters",100,0.,100.);
798 TH1F *hMCD0fromBPt=
new TH1F(
"hMCD0fromBPt",
"D0 from B Pt",34,ptbinsD0arr);
799 TH1F *hMCD0fromBEta=
new TH1F(
"hMCD0fromBEta",
"D0 from B Eta",50,-3.,3.);
800 TH1F *hMCD0fromBEnergy=
new TH1F(
"hMCD0fromBEnergy",
"D0 from B Energy",200,0.,100.);
802 TH2F *hMCD0VsBhadrPt=
new TH2F(
"hMCD0VsBhadrPt",
"D0 pt Vs Bhadr pt",34,ptbinsD0arr,34,ptbinsD0arr);
803 TH2F *hMCD0VsBhadrEnergy=
new TH2F(
"hMCD0VsBhadrEnergy",
"D0 Energy Vs Bhadr Energy",200,0.,50.,200,0.,50.);
804 TH1F *hMCD0deltaBhadrEnergy=
new TH1F(
"hMCD0deltaBhadrEnergy",
"Fractional D0 Energy w.r.t. Bhadr Energy",20,0.,1.);
805 TH1F *hMCD0EnergyVsAvBDaughtEn=
new TH1F(
"hMCD0EnergyVsAvBDaughtEn",
"#Delta(E^{D^0}-E_{avg})/E_{Bahdr}",40,-1.,1.);
806 TH1F *hMCD0BhadrAngle=
new TH1F(
"hMCD0BhadrAngle",
"cosine of the angle between D0 and Bhadr particle",40,-1.,1.);
807 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.);
809 TH1I *hMCPartFound=
new TH1I(
"hMCPartFound",
"1=c,2=D0,3=fromBall,4=fromBmeson,5=fromBbaryon",6,0,6);
847 Printf(
"AFTER MC HISTOS \n");
853 TH2F *hCPtaVSd0d0NCsign=
new TH2F(
"hCPtaVSd0d0NCsign",
"hCPtaVSd0d0_NoCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
854 TH1F *hSecVtxZNCsign=
new TH1F(
"hSecVtxZNCsign",
"hSecVtxZ_NoCuts_Signal",1000,-8.,8.);
855 TH1F *hSecVtxXNCsign=
new TH1F(
"hSecVtxXNCsign",
"hSecVtxX_NoCuts_Signal",1000,-3000.,3000.);
856 TH1F *hSecVtxYNCsign=
new TH1F(
"hSecVtxYNCsign",
"hSecVtxY_NoCuts_Signal",1000,-3000.,3000.);
857 TH2F *hSecVtxXYNCsign=
new TH2F(
"hSecVtxXYNCsign",
"hSecVtxXY_NoCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
858 TH1F *hSecVtxPhiNCsign=
new TH1F(
"hSecVtxPhiNCsign",
"hSecVtxPhi_NoCuts_Signal",180,-180.1,180.1);
859 TH1F *hd0singlTrackNCsign=
new TH1F(
"hd0singlTrackNCsign",
"hd0singlTrackNoCuts_Signal",1000,-5000.,5000.);
860 TH1F *hCPtaNCsign=
new TH1F(
"hCPtaNCsign",
"hCPta_NoCuts_Signal",100,-1.,1.);
861 TH1F *hd0xd0NCsign=
new TH1F(
"hd0xd0NCsign",
"hd0xd0_NoCuts_Signal",1000,-100000.,100000.);
862 TH1F *hMassTrueNCsign=
new TH1F(
"hMassTrueNCsign",
"D^{0} MC inv. Mass No Cuts Signal(All momenta)",600,1.600,2.200);
863 TH1F *hMassNCsign=
new TH1F(
"hMassNCsign",
"D^{0} inv. Mass No Cuts Signal (All momenta)",600,1.600,2.200);
864 hMassNCsign->Sumw2();
865 TH1F *hMassTrueNCsignPM=
new TH1F(
"hMassTrueNCsignPM",
"D^{0} MC inv. Mass No Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
866 TH1F *hMassNCsignPM=
new TH1F(
"hMassNCsignPM",
"D^{0} inv. Mass No Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
867 hMassNCsignPM->Sumw2();
869 TH1F *hMassTrueNCsignSB=
new TH1F(
"hMassTrueNCsignSB",
"D^{0} MC inv. Mass in Side Bands No Cuts Signal(All momenta)",600,1.600,2.200);
870 TH1F *hMassNCsignSB=
new TH1F(
"hMassNCsignSB",
"D^{0} inv. Mass in Side Bands No Cuts Signal (All momenta)",600,1.600,2.200);
871 hMassNCsignSB->Sumw2();
890 TH1F *hdcaNCsign=
new TH1F(
"hdcaNCsign",
"hdca_NoCuts_Signal",100,0.,1000.);
891 hdcaNCsign->SetXTitle(
"dca [#mum]");
892 hdcaNCsign->SetYTitle(
"Entries");
893 TH1F *hcosthetastarNCsign=
new TH1F(
"hcosthetastarNCsign",
"hCosThetaStar_NoCuts_Signal",50,-1.,1.);
894 hcosthetastarNCsign->SetXTitle(
"cos #theta^{*}");
895 hcosthetastarNCsign->SetYTitle(
"Entries");
896 TH1F *hptD0NCsign=
new TH1F(
"hptD0NCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
897 hptD0NCsign->SetXTitle(
"p_{t} [GeV/c]");
898 hptD0NCsign->SetYTitle(
"Entries");
899 TH1F *hptD0VsMaxPtNCsign=
new TH1F(
"hptD0VsMaxPtNCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
900 TH2F *hptD0PTallsqrtNCsign=
new TH2F(
"hptD0PTallsqrtNCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
901 TH2F *hptD0PTallNCsign=
new TH2F(
"hptD0PTallNCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
902 TH2F *hptD0vsptBNCsign=
new TH2F(
"hptD0vsptBNCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
903 TH2F *hpD0vspBNCsign=
new TH2F(
"hpD0vspBNCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
904 TH2F *hptD0vsptcquarkNCsign=
new TH2F(
"hptD0vsptcquarkNCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
905 TH2F *hpD0vspcquarkNCsign=
new TH2F(
"hpD0vspcquarkNCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
917 TH1F *hd0zD0ptNCsign;
918 TH1F *hInvMassD0NCsign,*hInvMassD0barNCsign;
919 TH2F *hInvMassPtNCsign=
new TH2F(
"hInvMassPtNCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
922 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);
924 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);
927 THnSparseF *hSparseNCsign=
new THnSparseF(
"hSparseNCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
928 hSparseNCsign->SetBinEdges(0,massbins);
929 hSparseNCsign->SetBinEdges(1,massbins);
930 hSparseNCsign->SetBinEdges(2,ptbinsForNsparse);
931 hSparseNCsign->SetBinEdges(3,impparbins);
932 hSparseNCsign->SetBinEdges(4,massHypoBins);
936 TString *candidateVariableNames =
new TString[
nVar];
937 candidateVariableNames[0]=
"massD0";
938 candidateVariableNames[1]=
"massD0bar";
939 candidateVariableNames[2]=
"pt";
940 candidateVariableNames[3]=
"impactpar";
941 candidateVariableNames[4]=
"selcase";
942 candidateVariableNames[5]=
"impactparxy";
943 candidateVariableNames[6]=
"impactparz";
944 candidateVariableNames[7]=
"impactparcov0";
945 candidateVariableNames[8]=
"impactparcov1";
946 candidateVariableNames[9]=
"impactparcov2";
947 fTreeNCsign =
new TTree(
"fTreeNCsign",
"Candidate variables tree");
949 for(Int_t ivar=0; ivar<
nVar; ivar++){
955 THnSparseF *hSparseCxyLxyNCsign=
new THnSparseF(
"hSparseCxyLxyNCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
956 hSparseCxyLxyNCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
957 hSparseCxyLxyNCsign->GetAxis(0)->SetName(
"mass");
958 hSparseCxyLxyNCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
959 hSparseCxyLxyNCsign->GetAxis(1)->SetName(
"pt");
960 hSparseCxyLxyNCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
961 hSparseCxyLxyNCsign->GetAxis(2)->SetName(
"CosPointXY");
962 hSparseCxyLxyNCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
963 hSparseCxyLxyNCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
964 hSparseCxyLxyNCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
971 TH1F *hCosPDPBNCsign;
972 TH1F *hCosPcPDNCsign;
974 TH2F *hd0D0VSd0xd0NCsignpt;
975 TH2F *hangletracksVSd0xd0NCsignpt;
976 TH2F *hangletracksVSd0D0NCsignpt;
977 TH1F *hd0xd0NCsignpt;
979 TH1F *hPhiHistPMNCsignpt,*hPhiHistSBNCsignpt;
982 TH2F *hTOFpidNCsign=
new TH2F(
"hTOFpidNCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
988 for(Int_t i=0;i<
fnbins;i++){
991 namehist=
"hPhiHistPMNCsign_pt";
993 titlehist=
"Azimuthal correlation No Cuts Sign PM ptbin=";
995 hPhiHistPMNCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
996 hPhiHistPMNCsignpt->Sumw2();
999 namehist=
"hPhiHistSBNCsign_pt";
1001 titlehist=
"Azimuthal correlation No Cuts Sign SB ptbin=";
1003 hPhiHistSBNCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
1004 hPhiHistSBNCsignpt->Sumw2();
1008 namehist=
"hd0zD0ptNCsign_pt";
1010 titlehist=
"d0(z) No Cuts Signalm ptbin=";
1012 hd0zD0ptNCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1013 hd0zD0ptNCsign->SetXTitle(
"d_{0}(z) [#mum]");
1014 hd0zD0ptNCsign->SetYTitle(
"Entries");
1017 namehist=
"hInvMassD0NCsign_pt";
1019 titlehist=
"Invariant Mass D0 No Cuts Signal ptbin=";
1021 hInvMassD0NCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1022 hInvMassD0NCsign->SetXTitle(
"Invariant Mass [GeV]");
1023 hInvMassD0NCsign->SetYTitle(
"Entries");
1027 namehist=
"hInvMassD0barNCsign_pt";
1029 titlehist=
"Invariant Mass D0bar No Cuts Signal ptbin=";
1031 hInvMassD0barNCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1032 hInvMassD0barNCsign->SetXTitle(
"Invariant Mass [GeV]");
1033 hInvMassD0barNCsign->SetYTitle(
"Entries");
1037 namehist=
"hetaNCsign_pt";
1039 titlehist=
"eta No Cuts Signal ptbin=";
1041 hetaNCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1042 hetaNCsign->SetXTitle(
"Pseudorapidity");
1043 hetaNCsign->SetYTitle(
"Entries");
1046 namehist=
"hCosPDPBNCsign_pt";
1048 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1050 hCosPDPBNCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1051 hCosPDPBNCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
1052 hCosPDPBNCsign->SetYTitle(
"Entries");
1055 namehist=
"hCosPcPDNCsign_pt";
1057 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1059 hCosPcPDNCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1060 hCosPcPDNCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1061 hCosPcPDNCsign->SetYTitle(
"Entries");
1066 namehist=
"hd0xd0NCsign_pt";
1068 titlehist=
"d0xd0 No Cuts Signal ptbin=";
1070 hd0xd0NCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1071 hd0xd0NCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1072 hd0xd0NCsignpt->SetYTitle(
"Entries");
1076 namehist=
"hd0D0VSd0xd0NCsign_pt";
1078 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
1080 hd0D0VSd0xd0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1081 hd0D0VSd0xd0NCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1082 hd0D0VSd0xd0NCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1086 namehist=
"hangletracksVSd0xd0NCsign_pt";
1088 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
1090 hangletracksVSd0xd0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1091 hangletracksVSd0xd0NCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1092 hangletracksVSd0xd0NCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
1096 namehist=
"hangletracksVSd0D0NCsign_pt";
1098 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Signal ptbin=";
1100 hangletracksVSd0D0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1101 hangletracksVSd0D0NCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1102 hangletracksVSd0D0NCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
1106 Printf(
"AFTER LOOP HISTOS CREATION \n");
1111 TH1F *hd0D0NCsignPM =
new TH1F(
"hd0D0NCsignPM",
"D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1112 hd0D0NCsignPM->SetXTitle(
"Impact parameter [#mum]");
1113 hd0D0NCsignPM->SetYTitle(
"Entries");
1115 TH1F *hd0D0VtxTrueNCsignPM =
new TH1F(
"hd0D0VtxTrueNCsignPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1116 hd0D0VtxTrueNCsignPM->SetXTitle(
"Impact parameter [#mum]");
1117 hd0D0VtxTrueNCsignPM->SetYTitle(
"Entries");
1119 TH1F *hMCd0D0NCsignPM =
new TH1F(
"hMCd0D0NCsignPM",
"D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1120 hMCd0D0NCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
1121 hMCd0D0NCsignPM->SetYTitle(
"Entries");
1123 TH1F *hd0D0NCsignSB =
new TH1F(
"hd0D0NCsignSB",
"D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1124 hd0D0NCsignSB->SetXTitle(
"Impact parameter [#mum]");
1125 hd0D0NCsignSB->SetYTitle(
"Entries");
1127 TH1F *hd0D0VtxTrueNCsignSB =
new TH1F(
"hd0D0VtxTrueNCsignSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1128 hd0D0VtxTrueNCsignSB->SetXTitle(
"Impact parameter [#mum]");
1129 hd0D0VtxTrueNCsignSB->SetYTitle(
"Entries");
1131 TH1F *hMCd0D0NCsignSB =
new TH1F(
"hMCd0D0NCsignSB",
"D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1132 hMCd0D0NCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
1133 hMCd0D0NCsignSB->SetYTitle(
"Entries");
1142 TH1F *hd0D0ptNCsignPM;
1143 TH1F *hMCd0D0ptNCsignPM;
1144 TH1F *hd0D0VtxTrueptNCsignPM;
1145 TH1F *hd0D0ptNCsignSB;
1146 TH1F *hMCd0D0ptNCsignSB;
1147 TH1F *hd0D0VtxTrueptNCsignSB;
1148 namehist=
"hd0D0ptNCsign_";
1149 titlehist=
"D^{0} impact par. plot, No Cuts, Signal, ";
1150 for(Int_t i=0;i<
fnbins;i++){
1153 strnamept.Append(
"PkMss_pt");
1156 strtitlept=titlehist;
1157 strtitlept.Append(
" Mass Peak, ");
1161 strtitlept.Append(
"<= pt <");
1163 strtitlept.Append(
" [GeV/c]");
1165 hd0D0ptNCsignPM=
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1166 hd0D0ptNCsignPM->SetXTitle(
"Impact parameter [#mum] ");
1167 hd0D0ptNCsignPM->SetYTitle(
"Entries");
1170 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1171 hMCd0D0ptNCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1172 hMCd0D0ptNCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
1173 hMCd0D0ptNCsignPM->SetYTitle(
"Entries");
1177 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1178 hd0D0VtxTrueptNCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1179 hd0D0VtxTrueptNCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1180 hd0D0VtxTrueptNCsignPM->SetYTitle(
"Entries");
1184 strnamept.Append(
"SBMss_pt");
1187 strtitlept=titlehist;
1188 strtitlept.Append(
" Side Bands, ");
1190 strtitlept.Append(
"<= pt <");
1192 strtitlept.Append(
" [GeV/c]");
1194 hd0D0ptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1195 hd0D0ptNCsignSB->SetXTitle(
"Impact parameter [#mum] ");
1196 hd0D0ptNCsignSB->SetYTitle(
"Entries");
1199 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1200 hMCd0D0ptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1201 hMCd0D0ptNCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
1202 hMCd0D0ptNCsignSB->SetYTitle(
"Entries");
1205 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1206 hd0D0VtxTrueptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1207 hd0D0VtxTrueptNCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1208 hd0D0VtxTrueptNCsignSB->SetYTitle(
"Entries");
1218 TH2F *hCPtaVSd0d0NCback=
new TH2F(
"hCPtaVSd0d0NCback",
"hCPtaVSd0d0_NoCuts_Background",1000,-100000.,100000.,100,-1.,1.);
1219 TH1F *hSecVtxZNCback=
new TH1F(
"hSecVtxZNCback",
"hSecVtxZ_NoCuts_Background",1000,-8.,8.);
1220 TH1F *hSecVtxXNCback=
new TH1F(
"hSecVtxXNCback",
"hSecVtxX_NoCuts_Background",1000,-3000.,3000.);
1221 TH1F *hSecVtxYNCback=
new TH1F(
"hSecVtxYNCback",
"hSecVtxY_NoCuts_Background",1000,-3000.,3000.);
1222 TH2F *hSecVtxXYNCback=
new TH2F(
"hSecVtxXYNCback",
"hSecVtxXY_NoCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
1223 TH1F *hSecVtxPhiNCback=
new TH1F(
"hSecVtxPhiNCback",
"hSecVtxPhi_NoCuts_Background",180,-180.1,180.1);
1224 TH1F *hd0singlTrackNCback=
new TH1F(
"hd0singlTrackNCback",
"hd0singlTrackNoCuts_Back",1000,-5000.,5000.);
1225 TH1F *hCPtaNCback=
new TH1F(
"hCPtaNCback",
"hCPta_NoCuts_Background",100,-1.,1.);
1226 TH1F *hd0xd0NCback=
new TH1F(
"hd0xd0NCback",
"hd0xd0_NoCuts_Background",1000,-100000.,100000.);
1227 TH1F *hMassTrueNCback=
new TH1F(
"hMassTrueNCback",
"D^{0} MC inv. Mass No Cuts Background(All momenta)",600,1.600,2.200);
1228 TH1F *hMassNCback=
new TH1F(
"hMassNCback",
"D^{0} inv. Mass No Cuts Background (All momenta)",600,1.600,2.200);
1229 hMassNCback->Sumw2();
1230 TH1F *hMassTrueNCbackPM=
new TH1F(
"hMassTrueNCbackPM",
"D^{0} MC inv. Mass No Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
1231 TH1F *hMassNCbackPM=
new TH1F(
"hMassNCbackPM",
"D^{0} inv. Mass No Cuts Background (All momenta), MassPeak",600,1.600,2.200);
1232 hMassNCbackPM->Sumw2();
1233 TH1F *hMassTrueNCbackSB=
new TH1F(
"hMassTrueNCbackSB",
"D^{0} MC inv. Mass in Side Bands No Cuts Background(All momenta)",600,1.600,2.200);
1234 TH1F *hMassNCbackSB=
new TH1F(
"hMassNCbackSB",
"D^{0} inv. Mass in Side Bands No Cuts Background (All momenta)",600,1.600,2.200);
1235 hMassNCbackSB->Sumw2();
1255 TH1F *hdcaNCback=
new TH1F(
"hdcaNCback",
"hdca_NoCuts_Backgr",100,0.,1000.);
1256 hdcaNCback->SetXTitle(
"dca [#mum]");
1257 hdcaNCback->SetYTitle(
"Entries");
1258 TH1F *hcosthetastarNCback=
new TH1F(
"hcosthetastarNCback",
"hCosThetaStar_NoCuts_Backgr",50,-1.,1.);
1259 hcosthetastarNCback->SetXTitle(
"cos #theta^{*}");
1260 hcosthetastarNCback->SetYTitle(
"Entries");
1261 TH1F *hptD0NCback=
new TH1F(
"hptD0NCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1262 hptD0NCback->SetXTitle(
"p_{t} [GeV/c]");
1263 hptD0NCback->SetYTitle(
"Entries");
1264 TH1F *hptD0VsMaxPtNCback=
new TH1F(
"hptD0VsMaxPtNCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1265 TH2F *hptD0PTallsqrtNCback=
new TH2F(
"hptD0PTallsqrtNCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1266 TH2F *hptD0PTallNCback=
new TH2F(
"hptD0PTallNCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1267 TH2F *hptD0vsptBNCback=
new TH2F(
"hptD0vsptBNCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1268 TH2F *hpD0vspBNCback=
new TH2F(
"hpD0vspBNCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1269 TH2F *hptD0vsptcquarkNCback=
new TH2F(
"hptD0vsptcquarkNCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1270 TH2F *hpD0vspcquarkNCback=
new TH2F(
"hpD0vspcquarkNCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1282 TH1F *hd0zD0ptNCback;
1283 TH1F *hInvMassD0NCback,*hInvMassD0barNCback;
1284 TH2F *hInvMassPtNCback=
new TH2F(
"hInvMassPtNCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1285 THnSparseF *hSparseNCback=
new THnSparseF(
"hSparseNCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1286 hSparseNCback->SetBinEdges(0,massbins);
1287 hSparseNCback->SetBinEdges(1,massbins);
1288 hSparseNCback->SetBinEdges(2,ptbinsForNsparse);
1289 hSparseNCback->SetBinEdges(3,impparbins);
1290 hSparseNCback->SetBinEdges(4,massHypoBins);
1293 fTreeNCback =
new TTree(
"fTreeNCback",
"Candidate variables tree");
1295 for(Int_t ivar=0; ivar<
nVar; ivar++){
1302 TH1F *hCosPDPBNCback;
1303 TH1F *hCosPcPDNCback;
1305 TH2F *hd0D0VSd0xd0NCbackpt;
1306 TH2F *hangletracksVSd0xd0NCbackpt;
1307 TH2F *hangletracksVSd0D0NCbackpt;
1308 TH1F *hd0xd0NCbackpt;
1311 TH2F *hTOFpidNCback=
new TH2F(
"hTOFpidNCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1314 for(Int_t i=0;i<
fnbins;i++){
1315 namehist=
"hd0zD0ptNCback_pt";
1317 titlehist=
"d0(z) No Cuts Backgrm ptbin=";
1319 hd0zD0ptNCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1320 hd0zD0ptNCback->SetXTitle(
"d_{0}(z) [#mum]");
1321 hd0zD0ptNCback->SetYTitle(
"Entries");
1324 namehist=
"hInvMassD0NCback_pt";
1326 titlehist=
"Invariant Mass No Cuts Backgr ptbin=";
1328 hInvMassD0NCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1329 hInvMassD0NCback->SetXTitle(
"Invariant Mass [GeV]");
1330 hInvMassD0NCback->SetYTitle(
"Entries");
1334 namehist=
"hInvMassD0barNCback_pt";
1336 titlehist=
"Invariant Mass D0bar No Cuts Back ptbin=";
1338 hInvMassD0barNCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1339 hInvMassD0barNCback->SetXTitle(
"Invariant Mass [GeV]");
1340 hInvMassD0barNCback->SetYTitle(
"Entries");
1344 namehist=
"hetaNCback_pt";
1346 titlehist=
"eta No Cuts Backgr ptbin=";
1348 hetaNCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1349 hetaNCback->SetXTitle(
"Pseudorapidity");
1350 hetaNCback->SetYTitle(
"Entries");
1353 namehist=
"hCosPDPBNCback_pt";
1355 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1357 hCosPDPBNCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1358 hCosPDPBNCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
1359 hCosPDPBNCback->SetYTitle(
"Entries");
1362 namehist=
"hCosPcPDNCback_pt";
1364 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1366 hCosPcPDNCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1367 hCosPcPDNCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1368 hCosPcPDNCback->SetYTitle(
"Entries");
1373 namehist=
"hd0xd0NCback_pt";
1375 titlehist=
"d0xd0 No Cuts Background ptbin=";
1377 hd0xd0NCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1378 hd0xd0NCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1379 hd0xd0NCbackpt->SetYTitle(
"Entries");
1383 namehist=
"hd0D0VSd0xd0NCback_pt";
1385 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1387 hd0D0VSd0xd0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1388 hd0D0VSd0xd0NCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1389 hd0D0VSd0xd0NCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1393 namehist=
"hangletracksVSd0xd0NCback_pt";
1395 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1397 hangletracksVSd0xd0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1398 hangletracksVSd0xd0NCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1399 hangletracksVSd0xd0NCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
1403 namehist=
"hangletracksVSd0D0NCback_pt";
1405 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Back ptbin=";
1407 hangletracksVSd0D0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1408 hangletracksVSd0D0NCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1409 hangletracksVSd0D0NCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
1422 TH1F *hd0D0NCbackPM =
new TH1F(
"hd0D0NCbackPM",
"D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1423 hd0D0NCbackPM->SetXTitle(
"Impact parameter [#mum]");
1424 hd0D0NCbackPM->SetYTitle(
"Entries");
1426 TH1F *hd0D0VtxTrueNCbackPM =
new TH1F(
"hd0D0VtxTrueNCbackPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1427 hd0D0VtxTrueNCbackPM->SetXTitle(
"Impact parameter [#mum]");
1428 hd0D0VtxTrueNCbackPM->SetYTitle(
"Entries");
1430 TH1F *hMCd0D0NCbackPM =
new TH1F(
"hMCd0D0NCbackPM",
"D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1431 hMCd0D0NCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
1432 hMCd0D0NCbackPM->SetYTitle(
"Entries");
1434 TH1F *hd0D0NCbackSB =
new TH1F(
"hd0D0NCbackSB",
"D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1435 hd0D0NCbackSB->SetXTitle(
"Impact parameter [#mum]");
1436 hd0D0NCbackSB->SetYTitle(
"Entries");
1438 TH1F *hd0D0VtxTrueNCbackSB =
new TH1F(
"hd0D0VtxTrueNCbackSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1439 hd0D0VtxTrueNCbackSB->SetXTitle(
"Impact parameter [#mum]");
1440 hd0D0VtxTrueNCbackSB->SetYTitle(
"Entries");
1442 TH1F *hMCd0D0NCbackSB =
new TH1F(
"hMCd0D0NCbackSB",
"D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1443 hMCd0D0NCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
1444 hMCd0D0NCbackSB->SetYTitle(
"Entries");
1453 TH1F *hd0D0ptNCbackPM;
1454 TH1F *hMCd0D0ptNCbackPM;
1455 TH1F *hd0D0VtxTrueptNCbackPM;
1456 TH1F *hd0D0ptNCbackSB;
1457 TH1F *hMCd0D0ptNCbackSB;
1458 TH1F *hd0D0VtxTrueptNCbackSB;
1459 namehist=
"hd0D0ptNCback_";
1460 titlehist=
"D^{0} impact par. plot, No Cuts, Background, ";
1461 for(Int_t i=0;i<
fnbins;i++){
1463 strnamept.Append(
"PkMss_pt");
1466 strtitlept=titlehist;
1467 strtitlept.Append(
" Mass Peak, ");
1469 strtitlept.Append(
"<= pt <");
1471 strtitlept.Append(
" [GeV/c]");
1473 hd0D0ptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1474 hd0D0ptNCbackPM->SetXTitle(
"Impact parameter [#mum] ");
1475 hd0D0ptNCbackPM->SetYTitle(
"Entries");
1478 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1479 hMCd0D0ptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1480 hMCd0D0ptNCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
1481 hMCd0D0ptNCbackPM->SetYTitle(
"Entries");
1485 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1486 hd0D0VtxTrueptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1487 hd0D0VtxTrueptNCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1488 hd0D0VtxTrueptNCbackPM->SetYTitle(
"Entries");
1492 strnamept.Append(
"SBMss_pt");
1495 strtitlept=titlehist;
1496 strtitlept.Append(
" Side Bands, ");
1498 strtitlept.Append(
"<= pt <");
1500 strtitlept.Append(
" [GeV/c]");
1502 hd0D0ptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1503 hd0D0ptNCbackSB->SetXTitle(
"Impact parameter [#mum] ");
1504 hd0D0ptNCbackSB->SetYTitle(
"Entries");
1507 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1508 hMCd0D0ptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1509 hMCd0D0ptNCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
1510 hMCd0D0ptNCbackSB->SetYTitle(
"Entries");
1513 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1514 hd0D0VtxTrueptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1515 hd0D0VtxTrueptNCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1516 hd0D0VtxTrueptNCbackSB->SetYTitle(
"Entries");
1526 TH2F *hCPtaVSd0d0NCfromB=
new TH2F(
"hCPtaVSd0d0NCfromB",
"hCPtaVSd0d0_NoCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
1527 TH1F *hSecVtxZNCfromB=
new TH1F(
"hSecVtxZNCfromB",
"hSecVtxZ_NoCuts_FromB",1000,-8.,8.);
1528 TH1F *hSecVtxXNCfromB=
new TH1F(
"hSecVtxXNCfromB",
"hSecVtxX_NoCuts_FromB",1000,-3000.,3000.);
1529 TH1F *hSecVtxYNCfromB=
new TH1F(
"hSecVtxYNCfromB",
"hSecVtxY_NoCuts_FromB",1000,-3000.,3000.);
1530 TH2F *hSecVtxXYNCfromB=
new TH2F(
"hSecVtxXYNCfromB",
"hSecVtxXY_NoCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
1531 TH1F *hSecVtxPhiNCfromB=
new TH1F(
"hSecVtxPhiNCfromB",
"hSecVtxPhi_NoCuts_FromB",180,-180.1,180.1);
1532 TH1F *hd0singlTrackNCfromB=
new TH1F(
"hd0singlTrackNCfromB",
"hd0singlTrackNoCuts_FromB",1000,-5000.,5000.);
1533 TH1F *hCPtaNCfromB=
new TH1F(
"hCPtaNCfromB",
"hCPta_NoCuts_FromB",100,-1.,1.);
1534 TH1F *hd0xd0NCfromB=
new TH1F(
"hd0xd0NCfromB",
"hd0xd0_NoCuts_FromB",1000,-100000.,100000.);
1535 TH1F *hMassTrueNCfromB=
new TH1F(
"hMassTrueNCfromB",
"D^{0} MC inv. Mass No Cuts FromB(All momenta)",600,1.600,2.200);
1536 TH1F *hMassNCfromB=
new TH1F(
"hMassNCfromB",
"D^{0} inv. Mass No Cuts FromB (All momenta)",600,1.600,2.200);
1537 hMassNCfromB->Sumw2();
1538 TH1F *hMassTrueNCfromBPM=
new TH1F(
"hMassTrueNCfromBPM",
"D^{0} MC inv. Mass No Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
1539 TH1F *hMassNCfromBPM=
new TH1F(
"hMassNCfromBPM",
"D^{0} inv. Mass No Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
1540 hMassNCfromB->Sumw2();
1541 TH1F *hMassTrueNCfromBSB=
new TH1F(
"hMassTrueNCfromBSB",
"D^{0} MC inv. Mass in Side Bands No Cuts FromB(All momenta)",600,1.600,2.200);
1542 TH1F *hMassNCfromBSB=
new TH1F(
"hMassNCfromBSB",
"D^{0} inv. Mass in Side Bands No Cuts FromB (All momenta)",600,1.600,2.200);
1543 hMassNCfromBSB->Sumw2();
1566 TH1F *hdcaNCfromB=
new TH1F(
"hdcaNCfromB",
"hdca_NoCuts_FromB",100,0.,1000.);
1567 hdcaNCfromB->SetXTitle(
"dca [#mum]");
1568 hdcaNCfromB->SetYTitle(
"Entries");
1569 TH1F *hcosthetastarNCfromB=
new TH1F(
"hcosthetastarNCfromB",
"hCosThetaStar_NoCuts_FromB",50,-1.,1.);
1570 hcosthetastarNCfromB->SetXTitle(
"cos #theta^{*}");
1571 hcosthetastarNCfromB->SetYTitle(
"Entries");
1572 TH1F *hptD0NCfromB=
new TH1F(
"hptD0NCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1573 hptD0NCfromB->SetXTitle(
"p_{t} [GeV/c]");
1574 hptD0NCfromB->SetYTitle(
"Entries");
1575 TH1F *hptD0VsMaxPtNCfromB=
new TH1F(
"hptD0VsMaxPtNCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1576 TH2F *hptD0PTallsqrtNCfromB=
new TH2F(
"hptD0PTallsqrtNCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1577 TH2F *hptD0PTallNCfromB=
new TH2F(
"hptD0PTallNCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1578 TH2F *hptD0vsptBNCfromB=
new TH2F(
"hptD0vsptBNCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1579 TH2F *hpD0vspBNCfromB=
new TH2F(
"hpD0vspBNCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1580 TH2F *hptD0vsptcquarkNCfromB=
new TH2F(
"hptD0vsptcquarkNCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1581 TH2F *hpD0vspcquarkNCfromB=
new TH2F(
"hpD0vspcquarkNCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1593 TH1F *hd0zD0ptNCfromB;
1594 TH1F *hInvMassD0NCfromB,*hInvMassD0barNCfromB;
1595 TH2F *hInvMassPtNCfromB=
new TH2F(
"hInvMassPtNCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1596 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);
1598 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);
1601 THnSparseF *hSparseNCfromB=
new THnSparseF(
"hSparseNCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1602 hSparseNCfromB->SetBinEdges(0,massbins);
1603 hSparseNCfromB->SetBinEdges(1,massbins);
1604 hSparseNCfromB->SetBinEdges(2,ptbinsForNsparse);
1605 hSparseNCfromB->SetBinEdges(3,impparbins);
1606 hSparseNCfromB->SetBinEdges(4,massHypoBins);
1609 fTreeNCfromB =
new TTree(
"fTreeNCfromB",
"Candidate variables tree");
1611 for(Int_t ivar=0; ivar<
nVar; ivar++){
1616 THnSparseF *hSparseRecoNCfromB=
new THnSparseF(
"hSparseRecoNCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1617 hSparseRecoNCfromB->SetBinEdges(0,massbins);
1618 hSparseRecoNCfromB->SetBinEdges(1,massbins);
1619 hSparseRecoNCfromB->SetBinEdges(2,ptbinsForNsparse);
1620 hSparseRecoNCfromB->SetBinEdges(3,impparbins);
1621 hSparseRecoNCfromB->SetBinEdges(4,massHypoBins);
1624 fTreeRecoNCfromB =
new TTree(
"fTreeRecoNCfromB",
"Candidate variables tree");
1626 for(Int_t ivar=0; ivar<
nVar; ivar++){
1633 TH1F *hCosPDPBNCfromB;
1634 TH1F *hCosPcPDNCfromB;
1637 TH2F *hd0D0VSd0xd0NCfromBpt;
1638 TH2F *hangletracksVSd0xd0NCfromBpt;
1639 TH2F *hangletracksVSd0D0NCfromBpt;
1640 TH1F *hd0xd0NCfromBpt;
1643 TH2F *hTOFpidNCfromB=
new TH2F(
"hTOFpidNCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1646 for(Int_t i=0;i<
fnbins;i++){
1647 namehist=
"hd0zD0ptNCfromB_pt";
1649 titlehist=
"d0(z) No Cuts FromB ptbin=";
1651 hd0zD0ptNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1652 hd0zD0ptNCfromB->SetXTitle(
"d_{0}(z) [#mum]");
1653 hd0zD0ptNCfromB->SetYTitle(
"Entries");
1656 namehist=
"hInvMassD0NCfromB_pt";
1658 titlehist=
"Invariant Mass No Cuts FromB ptbin=";
1660 hInvMassD0NCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1661 hInvMassD0NCfromB->SetXTitle(
"Invariant Mass [GeV]");
1662 hInvMassD0NCfromB->SetYTitle(
"Entries");
1666 namehist=
"hInvMassD0barNCfromB_pt";
1668 titlehist=
"Invariant Mass D0bar No Cuts FromB ptbin=";
1670 hInvMassD0barNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1671 hInvMassD0barNCfromB->SetXTitle(
"Invariant Mass [GeV]");
1672 hInvMassD0barNCfromB->SetYTitle(
"Entries");
1677 namehist=
"hetaNCfromB_pt";
1679 titlehist=
"eta No Cuts FromB ptbin=";
1681 hetaNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1682 hetaNCfromB->SetXTitle(
"Pseudorapidity");
1683 hetaNCfromB->SetYTitle(
"Entries");
1686 namehist=
"hCosPDPBNCfromB_pt";
1688 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1690 hCosPDPBNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1691 hCosPDPBNCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
1692 hCosPDPBNCfromB->SetYTitle(
"Entries");
1695 namehist=
"hCosPcPDNCfromB_pt";
1697 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1699 hCosPcPDNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1700 hCosPcPDNCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1701 hCosPcPDNCfromB->SetYTitle(
"Entries");
1705 namehist=
"hd0xd0NCfromB_pt";
1707 titlehist=
"d0xd0 No Cuts FromB ptbin=";
1709 hd0xd0NCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1710 hd0xd0NCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1711 hd0xd0NCfromBpt->SetYTitle(
"Entries");
1715 namehist=
"hd0D0VSd0xd0NCfromB_pt";
1717 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1719 hd0D0VSd0xd0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1720 hd0D0VSd0xd0NCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1721 hd0D0VSd0xd0NCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1725 namehist=
"hangletracksVSd0xd0NCfromB_pt";
1727 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1729 hangletracksVSd0xd0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1730 hangletracksVSd0xd0NCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1731 hangletracksVSd0xd0NCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
1735 namehist=
"hangletracksVSd0D0NCfromB_pt";
1737 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromB ptbin=";
1739 hangletracksVSd0D0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1740 hangletracksVSd0D0NCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1741 hangletracksVSd0D0NCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
1752 TH1F *hd0D0NCfromBPM =
new TH1F(
"hd0D0NCfromBPM",
"D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1753 hd0D0NCfromBPM->SetXTitle(
"Impact parameter [#mum]");
1754 hd0D0NCfromBPM->SetYTitle(
"Entries");
1756 TH1F *hd0D0VtxTrueNCfromBPM =
new TH1F(
"hd0D0VtxTrueNCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1757 hd0D0VtxTrueNCfromBPM->SetXTitle(
"Impact parameter [#mum]");
1758 hd0D0VtxTrueNCfromBPM->SetYTitle(
"Entries");
1760 TH1F *hMCd0D0NCfromBPM =
new TH1F(
"hMCd0D0NCfromBPM",
"D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1761 hMCd0D0NCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
1762 hMCd0D0NCfromBPM->SetYTitle(
"Entries");
1764 TH1F *hd0D0NCfromBSB =
new TH1F(
"hd0D0NCfromBSB",
"D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1765 hd0D0NCfromBSB->SetXTitle(
"Impact parameter [#mum]");
1766 hd0D0NCfromBSB->SetYTitle(
"Entries");
1768 TH1F *hd0D0VtxTrueNCfromBSB =
new TH1F(
"hd0D0VtxTrueNCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1769 hd0D0VtxTrueNCfromBSB->SetXTitle(
"Impact parameter [#mum]");
1770 hd0D0VtxTrueNCfromBSB->SetYTitle(
"Entries");
1772 TH1F *hMCd0D0NCfromBSB =
new TH1F(
"hMCd0D0NCfromBSB",
"D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1773 hMCd0D0NCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
1774 hMCd0D0NCfromBSB->SetYTitle(
"Entries");
1783 TH1F *hd0D0ptNCfromBPM;
1784 TH1F *hMCd0D0ptNCfromBPM;
1785 TH1F *hd0D0VtxTrueptNCfromBPM;
1786 TH1F *hd0D0ptNCfromBSB;
1787 TH1F *hMCd0D0ptNCfromBSB;
1788 TH1F *hd0D0VtxTrueptNCfromBSB;
1789 namehist=
"hd0D0ptNCfromB_";
1790 titlehist=
"D^{0} impact par. plot, No Cuts, FromB, ";
1791 for(Int_t i=0;i<
fnbins;i++){
1793 strnamept.Append(
"PkMss_pt");
1796 strtitlept=titlehist;
1797 strtitlept.Append(
" Mass Peak, ");
1799 strtitlept.Append(
"<= pt <");
1801 strtitlept.Append(
" [GeV/c]");
1803 hd0D0ptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1804 hd0D0ptNCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
1805 hd0D0ptNCfromBPM->SetYTitle(
"Entries");
1808 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1809 hMCd0D0ptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1810 hMCd0D0ptNCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
1811 hMCd0D0ptNCfromBPM->SetYTitle(
"Entries");
1815 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1816 hd0D0VtxTrueptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1817 hd0D0VtxTrueptNCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1818 hd0D0VtxTrueptNCfromBPM->SetYTitle(
"Entries");
1822 strnamept.Append(
"SBMss_pt");
1825 strtitlept=titlehist;
1826 strtitlept.Append(
" Side Bands, ");
1828 strtitlept.Append(
"<= pt <");
1830 strtitlept.Append(
" [GeV/c]");
1832 hd0D0ptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1833 hd0D0ptNCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
1834 hd0D0ptNCfromBSB->SetYTitle(
"Entries");
1837 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1838 hMCd0D0ptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1839 hMCd0D0ptNCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
1840 hMCd0D0ptNCfromBSB->SetYTitle(
"Entries");
1843 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1844 hd0D0VtxTrueptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1845 hd0D0VtxTrueptNCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1846 hd0D0VtxTrueptNCfromBSB->SetYTitle(
"Entries");
1856 TH2F *hCPtaVSd0d0NCfromDstar=
new TH2F(
"hCPtaVSd0d0NCfromDstar",
"hCPtaVSd0d0_NoCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
1857 TH1F *hSecVtxZNCfromDstar=
new TH1F(
"hSecVtxZNCfromDstar",
"hSecVtxZ_NoCuts_FromDStar",1000,-8.,8.);
1858 TH1F *hSecVtxXNCfromDstar=
new TH1F(
"hSecVtxXNCfromDstar",
"hSecVtxX_NoCuts_FromDStar",1000,-3000.,3000.);
1859 TH1F *hSecVtxYNCfromDstar=
new TH1F(
"hSecVtxYNCfromDstar",
"hSecVtxY_NoCuts_FromDStar",1000,-3000.,3000.);
1860 TH2F *hSecVtxXYNCfromDstar=
new TH2F(
"hSecVtxXYNCfromDstar",
"hSecVtxXY_NoCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
1861 TH1F *hSecVtxPhiNCfromDstar=
new TH1F(
"hSecVtxPhiNCfromDstar",
"hSecVtxPhi_NoCuts_FromDStar",180,-180.1,180.1);
1862 TH1F *hd0singlTrackNCfromDstar=
new TH1F(
"hd0singlTrackNCfromDstar",
"hd0singlTrackNoCuts_fromDstar",1000,-5000.,5000.);
1863 TH1F *hCPtaNCfromDstar=
new TH1F(
"hCPtaNCfromDstar",
"hCPta_NoCuts_FromDStar",100,-1.,1.);
1864 TH1F *hd0xd0NCfromDstar=
new TH1F(
"hd0xd0NCfromDstar",
"hd0xd0_NoCuts_FromDStar",1000,-100000.,100000.);
1865 TH1F *hMassTrueNCfromDstar=
new TH1F(
"hMassTrueNCfromDstar",
"D^{0} MC inv. Mass No Cuts FromDStar(All momenta)",600,1.600,2.200);
1866 TH1F *hMassNCfromDstar=
new TH1F(
"hMassNCfromDstar",
"D^{0} inv. Mass No Cuts FromDStar (All momenta)",600,1.600,2.200);
1867 hMassNCfromDstar->Sumw2();
1868 TH1F *hMassTrueNCfromDstarPM=
new TH1F(
"hMassTrueNCfromDstarPM",
"D^{0} MC inv. Mass No Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
1869 TH1F *hMassNCfromDstarPM=
new TH1F(
"hMassNCfromDstarPM",
"D^{0} inv. Mass No Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
1870 hMassNCfromDstarPM->Sumw2();
1871 TH1F *hMassTrueNCfromDstarSB=
new TH1F(
"hMassTrueNCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands No Cuts FromDStar(All momenta)",600,1.600,2.200);
1872 TH1F *hMassNCfromDstarSB=
new TH1F(
"hMassNCfromDstarSB",
"D^{0} inv. Mass in Side Bands No Cuts FromDStar (All momenta)",600,1.600,2.200);
1873 hMassNCfromDstarSB->Sumw2();
1895 TH1F *hdcaNCfromDstar=
new TH1F(
"hdcaNCfromDstar",
"hdca_NoCuts_FromDstar",100,0.,1000.);
1896 hdcaNCfromDstar->SetXTitle(
"dca [#mum]");
1897 hdcaNCfromDstar->SetYTitle(
"Entries");
1898 TH1F *hcosthetastarNCfromDstar=
new TH1F(
"hcosthetastarNCfromDstar",
"hCosThetaStar_NoCuts_FromDstar",50,-1.,1.);
1899 hcosthetastarNCfromDstar->SetXTitle(
"cos #theta^{*}");
1900 hcosthetastarNCfromDstar->SetYTitle(
"Entries");
1901 TH1F *hptD0NCfromDstar=
new TH1F(
"hptD0NCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1902 hptD0NCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
1903 hptD0NCfromDstar->SetYTitle(
"Entries");
1904 TH1F *hptD0VsMaxPtNCfromDstar=
new TH1F(
"hptD0VsMaxPtNCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1905 TH2F *hptD0PTallsqrtNCfromDstar=
new TH2F(
"hptD0PTallsqrtNCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1906 TH2F *hptD0PTallNCfromDstar=
new TH2F(
"hptD0PTallNCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1907 TH2F *hptD0vsptBNCfromDstar=
new TH2F(
"hptD0vsptBNCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1908 TH2F *hpD0vspBNCfromDstar=
new TH2F(
"hpD0vspBNCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1909 TH2F *hptD0vsptcquarkNCfromDstar=
new TH2F(
"hptD0vsptcquarkNCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1910 TH2F *hpD0vspcquarkNCfromDstar=
new TH2F(
"hpD0vspcquarkNCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1922 TH1F *hd0zD0ptNCfromDstar;
1923 TH1F *hInvMassD0NCfromDstar,*hInvMassD0barNCfromDstar;
1924 TH2F *hInvMassPtNCfromDstar=
new TH2F(
"hInvMassPtNCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1925 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);
1927 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);
1930 THnSparseF *hSparseNCfromDstar=
new THnSparseF(
"hSparseNCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1931 hSparseNCfromDstar->SetBinEdges(0,massbins);
1932 hSparseNCfromDstar->SetBinEdges(1,massbins);
1933 hSparseNCfromDstar->SetBinEdges(2,ptbinsForNsparse);
1934 hSparseNCfromDstar->SetBinEdges(3,impparbins);
1935 hSparseNCfromDstar->SetBinEdges(4,massHypoBins);
1938 fTreeNCfromDstar =
new TTree(
"fTreeNCfromDstar",
"Candidate variables tree");
1940 for(Int_t ivar=0; ivar<
nVar; ivar++){
1946 TH1F *hetaNCfromDstar;
1947 TH1F *hCosPDPBNCfromDstar;
1948 TH1F *hCosPcPDNCfromDstar;
1951 TH2F *hd0D0VSd0xd0NCfromDstarpt;
1952 TH2F *hangletracksVSd0xd0NCfromDstarpt;
1953 TH2F *hangletracksVSd0D0NCfromDstarpt;
1954 TH1F *hd0xd0NCfromDstarpt;
1956 TH2F *hTOFpidNCfromDstar=
new TH2F(
"hTOFpidNCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1959 for(Int_t i=0;i<
fnbins;i++){
1960 namehist=
"hd0zD0ptNCfromDstar_pt";
1962 titlehist=
"d0(z) No Cuts FromDstarm ptbin=";
1964 hd0zD0ptNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1965 hd0zD0ptNCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
1966 hd0zD0ptNCfromDstar->SetYTitle(
"Entries");
1969 namehist=
"hInvMassD0NCfromDstar_pt";
1971 titlehist=
"Invariant Mass No Cuts FromDstar ptbin=";
1973 hInvMassD0NCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1974 hInvMassD0NCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
1975 hInvMassD0NCfromDstar->SetYTitle(
"Entries");
1979 namehist=
"hInvMassD0barNCfromDstar_pt";
1981 titlehist=
"Invariant Mass D0bar No Cuts FromDstar ptbin=";
1983 hInvMassD0barNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1984 hInvMassD0barNCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
1985 hInvMassD0barNCfromDstar->SetYTitle(
"Entries");
1990 namehist=
"hetaNCfromDstar_pt";
1992 titlehist=
"eta No Cuts FromDstar ptbin=";
1994 hetaNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1995 hetaNCfromDstar->SetXTitle(
"Pseudorapidity");
1996 hetaNCfromDstar->SetYTitle(
"Entries");
1999 namehist=
"hCosPDPBNCfromDstar_pt";
2001 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2003 hCosPDPBNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2004 hCosPDPBNCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
2005 hCosPDPBNCfromDstar->SetYTitle(
"Entries");
2008 namehist=
"hCosPcPDNCfromDstar_pt";
2010 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2012 hCosPcPDNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2013 hCosPcPDNCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2014 hCosPcPDNCfromDstar->SetYTitle(
"Entries");
2018 namehist=
"hd0xd0NCfromDstar_pt";
2020 titlehist=
"d0xd0 No Cuts FromDstar ptbin=";
2022 hd0xd0NCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2023 hd0xd0NCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2024 hd0xd0NCfromDstarpt->SetYTitle(
"Entries");
2028 namehist=
"hd0D0VSd0xd0NCfromDstar_pt";
2030 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
2032 hd0D0VSd0xd0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2033 hd0D0VSd0xd0NCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2034 hd0D0VSd0xd0NCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2038 namehist=
"hangletracksVSd0xd0NCfromDstar_pt";
2040 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
2042 hangletracksVSd0xd0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2043 hangletracksVSd0xd0NCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2044 hangletracksVSd0xd0NCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
2048 namehist=
"hangletracksVSd0D0NCfromDstar_pt";
2050 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromDstar ptbin=";
2052 hangletracksVSd0D0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2053 hangletracksVSd0D0NCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2054 hangletracksVSd0D0NCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
2063 TH1F *hd0D0NCfromDstPM =
new TH1F(
"hd0D0NCfromDstarPM",
"D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2064 hd0D0NCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
2065 hd0D0NCfromDstPM->SetYTitle(
"Entries");
2067 TH1F *hd0D0VtxTrueNCfromDstPM =
new TH1F(
"hd0D0VtxTrueNCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2068 hd0D0VtxTrueNCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
2069 hd0D0VtxTrueNCfromDstPM->SetYTitle(
"Entries");
2071 TH1F *hMCd0D0NCfromDstPM =
new TH1F(
"hMCd0D0NCfromDstarPM",
"D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2072 hMCd0D0NCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
2073 hMCd0D0NCfromDstPM->SetYTitle(
"Entries");
2075 TH1F *hd0D0NCfromDstSB =
new TH1F(
"hd0D0NCfromDstarSB",
"D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2076 hd0D0NCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
2077 hd0D0NCfromDstSB->SetYTitle(
"Entries");
2079 TH1F *hd0D0VtxTrueNCfromDstSB =
new TH1F(
"hd0D0VtxTrueNCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2080 hd0D0VtxTrueNCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
2081 hd0D0VtxTrueNCfromDstSB->SetYTitle(
"Entries");
2083 TH1F *hMCd0D0NCfromDstSB =
new TH1F(
"hMCd0D0NCfromDstarSB",
"D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
2084 hMCd0D0NCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
2085 hMCd0D0NCfromDstSB->SetYTitle(
"Entries");
2094 TH1F *hd0D0ptNCfromDstPM;
2095 TH1F *hMCd0D0ptNCfromDstPM;
2096 TH1F *hd0D0VtxTrueptNCfromDstPM;
2097 TH1F *hd0D0ptNCfromDstSB;
2098 TH1F *hMCd0D0ptNCfromDstSB;
2099 TH1F *hd0D0VtxTrueptNCfromDstSB;
2100 namehist=
"hd0D0ptNCfromDstar_";
2101 titlehist=
"D^{0} impact par. plot, No Cuts, FromDStar, ";
2102 for(Int_t i=0;i<
fnbins;i++){
2104 strnamept.Append(
"PkMss_pt");
2107 strtitlept=titlehist;
2108 strtitlept.Append(
" Mass Peak, ");
2110 strtitlept.Append(
"<= pt <");
2112 strtitlept.Append(
" [GeV/c]");
2114 hd0D0ptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2115 hd0D0ptNCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
2116 hd0D0ptNCfromDstPM->SetYTitle(
"Entries");
2119 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2120 hMCd0D0ptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2121 hMCd0D0ptNCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
2122 hMCd0D0ptNCfromDstPM->SetYTitle(
"Entries");
2126 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2127 hd0D0VtxTrueptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2128 hd0D0VtxTrueptNCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2129 hd0D0VtxTrueptNCfromDstPM->SetYTitle(
"Entries");
2133 strnamept.Append(
"SBMss_pt");
2136 strtitlept=titlehist;
2137 strtitlept.Append(
" Side Bands, ");
2139 strtitlept.Append(
"<= pt <");
2141 strtitlept.Append(
" [GeV/c]");
2143 hd0D0ptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2144 hd0D0ptNCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
2145 hd0D0ptNCfromDstSB->SetYTitle(
"Entries");
2148 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2149 hMCd0D0ptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2150 hMCd0D0ptNCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
2151 hMCd0D0ptNCfromDstSB->SetYTitle(
"Entries");
2154 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2155 hd0D0VtxTrueptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2156 hd0D0VtxTrueptNCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2157 hd0D0VtxTrueptNCfromDstSB->SetYTitle(
"Entries");
2166 TH2F *hCPtaVSd0d0NCother=
new TH2F(
"hCPtaVSd0d0NCother",
"hCPtaVSd0d0_NoCuts_other",1000,-100000.,100000.,100,-1.,1.);
2167 TH1F *hSecVtxZNCother=
new TH1F(
"hSecVtxZNCother",
"hSecVtxZ_NoCuts_other",1000,-8.,8.);
2168 TH1F *hSecVtxXNCother=
new TH1F(
"hSecVtxXNCother",
"hSecVtxX_NoCuts_other",1000,-3000.,3000.);
2169 TH1F *hSecVtxYNCother=
new TH1F(
"hSecVtxYNCother",
"hSecVtxY_NoCuts_other",1000,-3000.,3000.);
2170 TH2F *hSecVtxXYNCother=
new TH2F(
"hSecVtxXYNCother",
"hSecVtxXY_NoCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
2171 TH1F *hSecVtxPhiNCother=
new TH1F(
"hSecVtxPhiNCother",
"hSecVtxPhi_NoCuts_other",180,-180.1,180.1);
2172 TH1F *hd0singlTrackNCother=
new TH1F(
"hd0singlTrackNCother",
"hd0singlTrackNoCuts_Other",1000,-5000.,5000.);
2173 TH1F *hCPtaNCother=
new TH1F(
"hCPtaNCother",
"hCPta_NoCuts_other",100,-1.,1.);
2174 TH1F *hd0xd0NCother=
new TH1F(
"hd0xd0NCother",
"hd0xd0_NoCuts_other",1000,-100000.,100000.);
2175 TH1F *hMassTrueNCother=
new TH1F(
"hMassTrueNCother",
"D^{0} MC inv. Mass No Cuts other(All momenta)",600,1.600,2.200);
2176 TH1F *hMassNCother=
new TH1F(
"hMassNCother",
"D^{0} inv. Mass No Cuts other (All momenta)",600,1.600,2.200);
2177 hMassNCother->Sumw2();
2178 TH1F *hMassTrueNCotherPM=
new TH1F(
"hMassTrueNCotherPM",
"D^{0} MC inv. Mass No Cuts Other, Mass Peak. (All momenta)",600,1.600,2.200);
2179 TH1F *hMassNCotherPM=
new TH1F(
"hMassNCotherPM",
"D^{0} inv. Mass No Cuts Other (All momenta), MassPeak",600,1.600,2.200);
2180 hMassNCotherPM->Sumw2();
2181 TH1F *hMassTrueNCotherSB=
new TH1F(
"hMassTrueNCotherSB",
"D^{0} MC inv. Mass in Side Bands No Cuts other(All momenta)",600,1.600,2.200);
2182 TH1F *hMassNCotherSB=
new TH1F(
"hMassNCotherSB",
"D^{0} inv. Mass in Side Bands No Cuts other (All momenta)",600,1.600,2.200);
2183 hMassNCotherSB->Sumw2();
2204 TH1F *hdcaNCother=
new TH1F(
"hdcaNCother",
"hdca_NoCuts_Other",100,0.,1000.);
2205 hdcaNCother->SetXTitle(
"dca [#mum]");
2206 hdcaNCother->SetYTitle(
"Entries");
2207 TH1F *hcosthetastarNCother=
new TH1F(
"hcosthetastarNCother",
"hCosThetaStar_NoCuts_Other",50,-1.,1.);
2208 hcosthetastarNCother->SetXTitle(
"cos #theta^{*}");
2209 hcosthetastarNCother->SetYTitle(
"Entries");
2210 TH1F *hptD0NCother=
new TH1F(
"hptD0NCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2211 hptD0NCother->SetXTitle(
"p_{t} [GeV/c]");
2212 hptD0NCother->SetYTitle(
"Entries");
2213 TH1F *hptD0VsMaxPtNCother=
new TH1F(
"hptD0VsMaxPtNCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2214 TH2F *hptD0PTallsqrtNCother=
new TH2F(
"hptD0PTallsqrtNCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2215 TH2F *hptD0PTallNCother=
new TH2F(
"hptD0PTallNCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2216 TH2F *hptD0vsptBNCother=
new TH2F(
"hptD0vsptBNCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2217 TH2F *hpD0vspBNCother=
new TH2F(
"hpD0vspBNCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2218 TH2F *hptD0vsptcquarkNCother=
new TH2F(
"hptD0vsptcquarkNCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2219 TH2F *hpD0vspcquarkNCother=
new TH2F(
"hpD0vspcquarkNCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2231 TH1F *hd0zD0ptNCother;
2232 TH1F *hInvMassD0NCother,*hInvMassD0barNCother;
2233 TH2F *hInvMassPtNCother=
new TH2F(
"hInvMassPtNCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2234 THnSparseF *hSparseNCother=
new THnSparseF(
"hSparseNCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2235 hSparseNCother->SetBinEdges(0,massbins);
2236 hSparseNCother->SetBinEdges(1,massbins);
2237 hSparseNCother->SetBinEdges(2,ptbinsForNsparse);
2238 hSparseNCother->SetBinEdges(3,impparbins);
2239 hSparseNCother->SetBinEdges(4,massHypoBins);
2242 fTreeNCother =
new TTree(
"fTreeNCother",
"Candidate variables tree");
2244 for(Int_t ivar=0; ivar<
nVar; ivar++){
2252 TH1F *hCosPDPBNCother;
2253 TH1F *hCosPcPDNCother;
2256 TH2F *hd0D0VSd0xd0NCotherpt;
2257 TH2F *hangletracksVSd0xd0NCotherpt;
2258 TH2F *hangletracksVSd0D0NCotherpt;
2259 TH1F *hd0xd0NCotherpt;
2261 TH2F *hTOFpidNCother=
new TH2F(
"hTOFpidNCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2264 for(Int_t i=0;i<
fnbins;i++){
2265 namehist=
"hd0zD0ptNCother_pt";
2267 titlehist=
"d0(z) No Cuts Otherm ptbin=";
2269 hd0zD0ptNCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2270 hd0zD0ptNCother->SetXTitle(
"d_{0}(z) [#mum]");
2271 hd0zD0ptNCother->SetYTitle(
"Entries");
2274 namehist=
"hInvMassD0NCother_pt";
2276 titlehist=
"Invariant Mass No Cuts Other ptbin=";
2278 hInvMassD0NCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2279 hInvMassD0NCother->SetXTitle(
"Invariant Mass [GeV]");
2280 hInvMassD0NCother->SetYTitle(
"Entries");
2284 namehist=
"hInvMassD0barNCother_pt";
2286 titlehist=
"Invariant Mass D0bar No Cuts Other ptbin=";
2288 hInvMassD0barNCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2289 hInvMassD0barNCother->SetXTitle(
"Invariant Mass [GeV]");
2290 hInvMassD0barNCother->SetYTitle(
"Entries");
2294 namehist=
"hetaNCother_pt";
2296 titlehist=
"eta No Cuts Other ptbin=";
2298 hetaNCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2299 hetaNCother->SetXTitle(
"Pseudorapidity");
2300 hetaNCother->SetYTitle(
"Entries");
2303 namehist=
"hCosPDPBNCother_pt";
2305 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2307 hCosPDPBNCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2308 hCosPDPBNCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
2309 hCosPDPBNCother->SetYTitle(
"Entries");
2312 namehist=
"hCosPcPDNCother_pt";
2314 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2316 hCosPcPDNCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2317 hCosPcPDNCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2318 hCosPcPDNCother->SetYTitle(
"Entries");
2323 namehist=
"hd0xd0NCother_pt";
2325 titlehist=
"d0xd0 No Cuts Other ptbin=";
2327 hd0xd0NCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2328 hd0xd0NCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2329 hd0xd0NCotherpt->SetYTitle(
"Entries");
2333 namehist=
"hd0D0VSd0xd0NCother_pt";
2335 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
2337 hd0D0VSd0xd0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2338 hd0D0VSd0xd0NCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2339 hd0D0VSd0xd0NCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2343 namehist=
"hangletracksVSd0xd0NCother_pt";
2345 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
2347 hangletracksVSd0xd0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2348 hangletracksVSd0xd0NCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2349 hangletracksVSd0xd0NCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
2353 namehist=
"hangletracksVSd0D0NCother_pt";
2355 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Other ptbin=";
2357 hangletracksVSd0D0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2358 hangletracksVSd0D0NCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2359 hangletracksVSd0D0NCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
2370 TH1F *hd0D0NCotherPM =
new TH1F(
"hd0D0NCotherPM",
"D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2371 hd0D0NCotherPM->SetXTitle(
"Impact parameter [#mum]");
2372 hd0D0NCotherPM->SetYTitle(
"Entries");
2374 TH1F *hd0D0VtxTrueNCotherPM =
new TH1F(
"hd0D0VtxTrueNCotherPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2375 hd0D0VtxTrueNCotherPM->SetXTitle(
"Impact parameter [#mum]");
2376 hd0D0VtxTrueNCotherPM->SetYTitle(
"Entries");
2378 TH1F *hMCd0D0NCotherPM =
new TH1F(
"hMCd0D0NCotherPM",
"D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2379 hMCd0D0NCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
2380 hMCd0D0NCotherPM->SetYTitle(
"Entries");
2382 TH1F *hd0D0NCotherSB =
new TH1F(
"hd0D0NCotherSB",
"D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2383 hd0D0NCotherSB->SetXTitle(
"Impact parameter [#mum]");
2384 hd0D0NCotherSB->SetYTitle(
"Entries");
2386 TH1F *hd0D0VtxTrueNCotherSB =
new TH1F(
"hd0D0VtxTrueNCotherSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2387 hd0D0VtxTrueNCotherSB->SetXTitle(
"Impact parameter [#mum]");
2388 hd0D0VtxTrueNCotherSB->SetYTitle(
"Entries");
2390 TH1F *hMCd0D0NCotherSB =
new TH1F(
"hMCd0D0NCotherSB",
"D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2391 hMCd0D0NCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
2392 hMCd0D0NCotherSB->SetYTitle(
"Entries");
2401 TH1F *hd0D0ptNCotherPM;
2402 TH1F *hMCd0D0ptNCotherPM;
2403 TH1F *hd0D0VtxTrueptNCotherPM;
2404 TH1F *hd0D0ptNCotherSB;
2405 TH1F *hMCd0D0ptNCotherSB;
2406 TH1F *hd0D0VtxTrueptNCotherSB;
2407 namehist=
"hd0D0ptNCother_";
2408 titlehist=
"D^{0} impact par. plot, No Cuts, Other, ";
2409 for(Int_t i=0;i<
fnbins;i++){
2411 strnamept.Append(
"PkMss_pt");
2414 strtitlept=titlehist;
2415 strtitlept.Append(
" Mass Peak, ");
2417 strtitlept.Append(
"<= pt <");
2419 strtitlept.Append(
" [GeV/c]");
2421 hd0D0ptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2422 hd0D0ptNCotherPM->SetXTitle(
"Impact parameter [#mum] ");
2423 hd0D0ptNCotherPM->SetYTitle(
"Entries");
2426 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2427 hMCd0D0ptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2428 hMCd0D0ptNCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
2429 hMCd0D0ptNCotherPM->SetYTitle(
"Entries");
2433 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2434 hd0D0VtxTrueptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2435 hd0D0VtxTrueptNCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2436 hd0D0VtxTrueptNCotherPM->SetYTitle(
"Entries");
2440 strnamept.Append(
"SBMss_pt");
2443 strtitlept=titlehist;
2444 strtitlept.Append(
" Side Bands, ");
2446 strtitlept.Append(
"<= pt <");
2448 strtitlept.Append(
" [GeV/c]");
2450 hd0D0ptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2451 hd0D0ptNCotherSB->SetXTitle(
"Impact parameter [#mum] ");
2452 hd0D0ptNCotherSB->SetYTitle(
"Entries");
2455 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2456 hMCd0D0ptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2457 hMCd0D0ptNCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
2458 hMCd0D0ptNCotherSB->SetYTitle(
"Entries");
2461 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2462 hd0D0VtxTrueptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2463 hd0D0VtxTrueptNCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2464 hd0D0VtxTrueptNCotherSB->SetYTitle(
"Entries");
2479 TH2F *hCPtaVSd0d0LSCsign=
new TH2F(
"hCPtaVSd0d0LSCsign",
"hCPtaVSd0d0_LooseCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
2480 TH1F *hSecVtxZLSCsign=
new TH1F(
"hSecVtxZLSCsign",
"hSecVtxZ_LooseCuts_Signal",1000,-8.,8.);
2481 TH1F *hSecVtxXLSCsign=
new TH1F(
"hSecVtxXLSCsign",
"hSecVtxX_LooseCuts_Signal",1000,-3000.,3000.);
2482 TH1F *hSecVtxYLSCsign=
new TH1F(
"hSecVtxYLSCsign",
"hSecVtxY_LooseCuts_Signal",1000,-3000.,3000.);
2483 TH2F *hSecVtxXYLSCsign=
new TH2F(
"hSecVtxXYLSCsign",
"hSecVtxXY_LooseCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
2484 TH1F *hSecVtxPhiLSCsign=
new TH1F(
"hSecVtxPhiLSCsign",
"hSecVtxPhi_LooseCuts_Signal",180,-180.1,180.1);
2485 TH1F *hd0singlTrackLSCsign=
new TH1F(
"hd0singlTrackLSCsign",
"hd0singlTrackLooseCuts_Signal",1000,-5000.,5000.);
2486 TH1F *hCPtaLSCsign=
new TH1F(
"hCPtaLSCsign",
"hCPta_LooseCuts_Signal",100,-1.,1.);
2487 TH1F *hd0xd0LSCsign=
new TH1F(
"hd0xd0LSCsign",
"hd0xd0_LooseCuts_Signal",1000,-100000.,100000.);
2488 TH1F *hMassTrueLSCsign=
new TH1F(
"hMassTrueLSCsign",
"D^{0} MC inv. Mass Loose Cuts Signal(All momenta)",600,1.600,2.200);
2489 TH1F *hMassLSCsign=
new TH1F(
"hMassLSCsign",
"D^{0} inv. Mass Loose Cuts Signal (All momenta)",600,1.600,2.200);
2490 hMassLSCsign->Sumw2();
2491 TH1F *hMassTrueLSCsignPM=
new TH1F(
"hMassTrueLSCsignPM",
"D^{0} MC inv. Mass Loose Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
2492 TH1F *hMassLSCsignPM=
new TH1F(
"hMassLSCsignPM",
"D^{0} inv. Mass Loose Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
2493 hMassLSCsignPM->Sumw2();
2494 TH1F *hMassTrueLSCsignSB=
new TH1F(
"hMassTrueLSCsignSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts Signal(All momenta)",600,1.600,2.200);
2495 TH1F *hMassLSCsignSB=
new TH1F(
"hMassLSCsignSB",
"D^{0} inv. Mass in Side Bands Loose Cuts Signal (All momenta)",600,1.600,2.200);
2496 hMassLSCsignSB->Sumw2();
2516 TH1F *hdcaLSCsign=
new TH1F(
"hdcaLSCsign",
"hdca_LooseCuts_Sign",100,0.,1000.);
2517 hdcaLSCsign->SetXTitle(
"dca [#mum]");
2518 hdcaLSCsign->SetYTitle(
"Entries");
2519 TH1F *hcosthetastarLSCsign=
new TH1F(
"hcosthetastarLSCsign",
"hCosThetaStar_LooseCuts_Sign",50,-1.,1.);
2520 hcosthetastarLSCsign->SetXTitle(
"cos #theta^{*}");
2521 hcosthetastarLSCsign->SetYTitle(
"Entries");
2522 TH1F *hptD0LSCsign=
new TH1F(
"hptD0LSCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2523 hptD0LSCsign->SetXTitle(
"p_{t} [GeV/c]");
2524 hptD0LSCsign->SetYTitle(
"Entries");
2525 TH1F *hptD0VsMaxPtLSCsign=
new TH1F(
"hptD0VsMaxPtLSCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2526 TH2F *hptD0PTallsqrtLSCsign=
new TH2F(
"hptD0PTallsqrtLSCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2527 TH2F *hptD0PTallLSCsign=
new TH2F(
"hptD0PTallLSCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2528 TH2F *hptD0vsptBLSCsign=
new TH2F(
"hptD0vsptBLSCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2529 TH2F *hpD0vspBLSCsign=
new TH2F(
"hpD0vspBLSCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2530 TH2F *hptD0vsptcquarkLSCsign=
new TH2F(
"hptD0vsptcquarkLSCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2531 TH2F *hpD0vspcquarkLSCsign=
new TH2F(
"hpD0vspcquarkLSCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2543 TH1F *hd0zD0ptLSCsign;
2544 TH1F *hInvMassD0LSCsign,*hInvMassD0barLSCsign;
2545 TH2F *hInvMassPtLSCsign=
new TH2F(
"hInvMassPtLSCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2546 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);
2548 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);
2551 THnSparseF *hSparseLSCsign=
new THnSparseF(
"hSparseLSCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2552 hSparseLSCsign->SetBinEdges(0,massbins);
2553 hSparseLSCsign->SetBinEdges(1,massbins);
2554 hSparseLSCsign->SetBinEdges(2,ptbinsForNsparse);
2555 hSparseLSCsign->SetBinEdges(3,impparbins);
2556 hSparseLSCsign->SetBinEdges(4,massHypoBins);
2559 TH1F *hCosPDPBLSCsign;
2560 TH1F *hCosPcPDLSCsign;
2563 fTreeLSCsign =
new TTree(
"fTreeLSCsign",
"Candidate variables tree");
2565 for(Int_t ivar=0; ivar<
nVar; ivar++){
2572 THnSparseF *hSparseCxyLxyLSCsign=
new THnSparseF(
"hSparseCxyLxyLSCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
2573 hSparseCxyLxyLSCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
2574 hSparseCxyLxyLSCsign->GetAxis(0)->SetName(
"mass");
2575 hSparseCxyLxyLSCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
2576 hSparseCxyLxyLSCsign->GetAxis(1)->SetName(
"pt");
2577 hSparseCxyLxyLSCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
2578 hSparseCxyLxyLSCsign->GetAxis(2)->SetName(
"CosPointXY");
2579 hSparseCxyLxyLSCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
2580 hSparseCxyLxyLSCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
2581 hSparseCxyLxyLSCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
2585 TH2F *hd0D0VSd0xd0LSCsignpt;
2586 TH2F *hangletracksVSd0xd0LSCsignpt;
2587 TH2F *hangletracksVSd0D0LSCsignpt;
2588 TH1F *hd0xd0LSCsignpt;
2589 TH1F *hPhiHistPMLSCsignpt,*hPhiHistSBLSCsignpt;
2591 TH2F *hTOFpidLSCsign=
new TH2F(
"hTOFpidLSCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2594 for(Int_t i=0;i<
fnbins;i++){
2596 namehist=
"hPhiHistPMLSCsign_pt";
2598 titlehist=
"Azimuthal correlation LS Cuts Sign PM ptbin=";
2600 hPhiHistPMLSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
2601 hPhiHistPMLSCsignpt->Sumw2();
2604 namehist=
"hPhiHistSBLSCsign_pt";
2606 titlehist=
"Azimuthal correlation LS Cuts Sign SB ptbin=";
2608 hPhiHistSBLSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
2609 hPhiHistSBLSCsignpt->Sumw2();
2614 namehist=
"hd0zD0ptLSCsign_pt";
2616 titlehist=
"d0(z) Loose Cuts Signm ptbin=";
2618 hd0zD0ptLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2619 hd0zD0ptLSCsign->SetXTitle(
"d_{0}(z) [#mum]");
2620 hd0zD0ptLSCsign->SetYTitle(
"Entries");
2623 namehist=
"hInvMassD0LSCsign_pt";
2625 titlehist=
"Invariant Mass Loose Cuts Sign ptbin=";
2627 hInvMassD0LSCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2628 hInvMassD0LSCsign->SetXTitle(
"Invariant Mass [GeV]");
2629 hInvMassD0LSCsign->SetYTitle(
"Entries");
2633 namehist=
"hInvMassD0barLSCsign_pt";
2635 titlehist=
"Invariant Mass D0bar Loose Cuts Signal ptbin=";
2637 hInvMassD0barLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2638 hInvMassD0barLSCsign->SetXTitle(
"Invariant Mass [GeV]");
2639 hInvMassD0barLSCsign->SetYTitle(
"Entries");
2642 namehist=
"hetaLSCsign_pt";
2644 titlehist=
"eta Loose Cuts Sign ptbin=";
2646 hetaLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2647 hetaLSCsign->SetXTitle(
"Pseudorapidity");
2648 hetaLSCsign->SetYTitle(
"Entries");
2651 namehist=
"hCosPDPBLSCsign_pt";
2653 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2655 hCosPDPBLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2656 hCosPDPBLSCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
2657 hCosPDPBLSCsign->SetYTitle(
"Entries");
2660 namehist=
"hCosPcPDLSCsign_pt";
2662 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2664 hCosPcPDLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2665 hCosPcPDLSCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2666 hCosPcPDLSCsign->SetYTitle(
"Entries");
2671 namehist=
"hd0xd0LSCsign_pt";
2673 titlehist=
"d0xd0 Loose Cuts Sign ptbin=";
2675 hd0xd0LSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2676 hd0xd0LSCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2677 hd0xd0LSCsignpt->SetYTitle(
"Entries");
2681 namehist=
"hd0D0VSd0xd0LSCsign_pt";
2683 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2685 hd0D0VSd0xd0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2686 hd0D0VSd0xd0LSCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2687 hd0D0VSd0xd0LSCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2691 namehist=
"hangletracksVSd0xd0LSCsign_pt";
2693 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2695 hangletracksVSd0xd0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2696 hangletracksVSd0xd0LSCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2697 hangletracksVSd0xd0LSCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
2701 namehist=
"hangletracksVSd0D0LSCsign_pt";
2703 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Sign ptbin=";
2705 hangletracksVSd0D0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2706 hangletracksVSd0D0LSCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2707 hangletracksVSd0D0LSCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
2717 TH1F *hd0D0LSCsignPM =
new TH1F(
"hd0D0LSCsignPM",
"D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2718 hd0D0LSCsignPM->SetXTitle(
"Impact parameter [#mum]");
2719 hd0D0LSCsignPM->SetYTitle(
"Entries");
2721 TH1F *hd0D0VtxTrueLSCsignPM =
new TH1F(
"hd0D0VtxTrueLSCsignPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2722 hd0D0VtxTrueLSCsignPM->SetXTitle(
"Impact parameter [#mum]");
2723 hd0D0VtxTrueLSCsignPM->SetYTitle(
"Entries");
2725 TH1F *hMCd0D0LSCsignPM =
new TH1F(
"hMCd0D0LSCsignPM",
"D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2726 hMCd0D0LSCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
2727 hMCd0D0LSCsignPM->SetYTitle(
"Entries");
2729 TH1F *hd0D0LSCsignSB =
new TH1F(
"hd0D0LSCsignSB",
"D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2730 hd0D0LSCsignSB->SetXTitle(
"Impact parameter [#mum]");
2731 hd0D0LSCsignSB->SetYTitle(
"Entries");
2733 TH1F *hd0D0VtxTrueLSCsignSB =
new TH1F(
"hd0D0VtxTrueLSCsignSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2734 hd0D0VtxTrueLSCsignSB->SetXTitle(
"Impact parameter [#mum]");
2735 hd0D0VtxTrueLSCsignSB->SetYTitle(
"Entries");
2737 TH1F *hMCd0D0LSCsignSB =
new TH1F(
"hMCd0D0LSCsignSB",
"D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2738 hMCd0D0LSCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
2739 hMCd0D0LSCsignSB->SetYTitle(
"Entries");
2748 TH1F *hd0D0ptLSCsignPM;
2749 TH1F *hMCd0D0ptLSCsignPM;
2750 TH1F *hd0D0VtxTrueptLSCsignPM;
2751 TH1F *hd0D0ptLSCsignSB;
2752 TH1F *hMCd0D0ptLSCsignSB;
2753 TH1F *hd0D0VtxTrueptLSCsignSB;
2754 namehist=
"hd0D0ptLSCsign_";
2755 titlehist=
"D^{0} impact par. plot, Loose Cuts, Signal, ";
2756 for(Int_t i=0;i<
fnbins;i++){
2758 strnamept.Append(
"PkMss_pt");
2761 strtitlept=titlehist;
2762 strtitlept.Append(
" Mass Peak, ");
2764 strtitlept.Append(
"<= pt <");
2766 strtitlept.Append(
" [GeV/c]");
2768 hd0D0ptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2769 hd0D0ptLSCsignPM->SetXTitle(
"Impact parameter [#mum] ");
2770 hd0D0ptLSCsignPM->SetYTitle(
"Entries");
2773 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2774 hMCd0D0ptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2775 hMCd0D0ptLSCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
2776 hMCd0D0ptLSCsignPM->SetYTitle(
"Entries");
2780 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2781 hd0D0VtxTrueptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2782 hd0D0VtxTrueptLSCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2783 hd0D0VtxTrueptLSCsignPM->SetYTitle(
"Entries");
2787 strnamept.Append(
"SBMss_pt");
2790 strtitlept=titlehist;
2791 strtitlept.Append(
" Side Bands, ");
2793 strtitlept.Append(
"<= pt <");
2795 strtitlept.Append(
" [GeV/c]");
2797 hd0D0ptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2798 hd0D0ptLSCsignSB->SetXTitle(
"Impact parameter [#mum] ");
2799 hd0D0ptLSCsignSB->SetYTitle(
"Entries");
2802 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2803 hMCd0D0ptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2804 hMCd0D0ptLSCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
2805 hMCd0D0ptLSCsignSB->SetYTitle(
"Entries");
2808 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2809 hd0D0VtxTrueptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2810 hd0D0VtxTrueptLSCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2811 hd0D0VtxTrueptLSCsignSB->SetYTitle(
"Entries");
2819 TH2F *hCPtaVSd0d0LSCback=
new TH2F(
"hCPtaVSd0d0LSCback",
"hCPtaVSd0d0_LooseCuts_Background",1000,-100000.,100000.,100,-1.,1.);
2820 TH1F *hSecVtxZLSCback=
new TH1F(
"hSecVtxZLSCback",
"hSecVtxZ_LooseCuts_Background",1000,-8.,8.);
2821 TH1F *hSecVtxXLSCback=
new TH1F(
"hSecVtxXLSCback",
"hSecVtxX_LooseCuts_Background",1000,-3000.,3000.);
2822 TH1F *hSecVtxYLSCback=
new TH1F(
"hSecVtxYLSCback",
"hSecVtxY_LooseCuts_Background",1000,-3000.,3000.);
2823 TH2F *hSecVtxXYLSCback=
new TH2F(
"hSecVtxXYLSCback",
"hSecVtxXY_LooseCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
2824 TH1F *hSecVtxPhiLSCback=
new TH1F(
"hSecVtxPhiLSCback",
"hSecVtxPhi_LooseCuts_Background",180,-180.1,180.1);
2825 TH1F *hd0singlTrackLSCback=
new TH1F(
"hd0singlTrackLSCback",
"hd0singlTrackLooseCuts_Back",1000,-5000.,5000.);
2826 TH1F *hCPtaLSCback=
new TH1F(
"hCPtaLSCback",
"hCPta_LooseCuts_Background",100,-1.,1.);
2827 TH1F *hd0xd0LSCback=
new TH1F(
"hd0xd0LSCback",
"hd0xd0_LooseCuts_Background",1000,-100000.,100000.);
2828 TH1F *hMassTrueLSCback=
new TH1F(
"hMassTrueLSCback",
"D^{0} MC inv. Mass Loose Cuts Background(All momenta)",600,1.600,2.200);
2829 TH1F *hMassLSCback=
new TH1F(
"hMassLSCback",
"D^{0} inv. Mass Loose Cuts Background (All momenta)",600,1.600,2.200);
2830 hMassLSCback->Sumw2();
2831 TH1F *hMassTrueLSCbackPM=
new TH1F(
"hMassTrueLSCbackPM",
"D^{0} MC inv. Mass Loose Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
2832 TH1F *hMassLSCbackPM=
new TH1F(
"hMassLSCbackPM",
"D^{0} inv. Mass Loose Cuts Background (All momenta), MassPeak",600,1.600,2.200);
2833 hMassLSCbackPM->Sumw2();
2834 TH1F *hMassTrueLSCbackSB=
new TH1F(
"hMassTrueLSCbackSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts Background(All momenta)",600,1.600,2.200);
2835 TH1F *hMassLSCbackSB=
new TH1F(
"hMassLSCbackSB",
"D^{0} inv. Mass in Side Bands Loose Cuts Background (All momenta)",600,1.600,2.200);
2836 hMassLSCbackSB->Sumw2();
2862 TH1F *hdcaLSCback=
new TH1F(
"hdcaLSCback",
"hdca_LooseCuts_Backgr",100,0.,1000.);
2863 hdcaLSCback->SetXTitle(
"dca [#mum]");
2864 hdcaLSCback->SetYTitle(
"Entries");
2865 TH1F *hcosthetastarLSCback=
new TH1F(
"hcosthetastarLSCback",
"hCosThetaStar_LooseCuts_Backgr",50,-1.,1.);
2866 hcosthetastarLSCback->SetXTitle(
"cos #theta^{*}");
2867 hcosthetastarLSCback->SetYTitle(
"Entries");
2868 TH1F *hptD0LSCback=
new TH1F(
"hptD0LSCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2869 hptD0LSCback->SetXTitle(
"p_{t} [GeV/c]");
2870 hptD0LSCback->SetYTitle(
"Entries");
2871 TH1F *hptD0VsMaxPtLSCback=
new TH1F(
"hptD0VsMaxPtLSCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2872 TH2F *hptD0PTallsqrtLSCback=
new TH2F(
"hptD0PTallsqrtLSCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2873 TH2F *hptD0PTallLSCback=
new TH2F(
"hptD0PTallLSCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2874 TH2F *hptD0vsptBLSCback=
new TH2F(
"hptD0vsptBLSCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2875 TH2F *hpD0vspBLSCback=
new TH2F(
"hpD0vspBLSCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2876 TH2F *hptD0vsptcquarkLSCback=
new TH2F(
"hptD0vsptcquarkLSCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2877 TH2F *hpD0vspcquarkLSCback=
new TH2F(
"hpD0vspcquarkLSCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2889 TH1F *hd0zD0ptLSCback;
2890 TH1F *hInvMassD0LSCback,*hInvMassD0barLSCback;
2891 TH2F *hInvMassPtLSCback=
new TH2F(
"hInvMassPtLSCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2892 THnSparseF *hSparseLSCback=
new THnSparseF(
"hSparseLSCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2893 hSparseLSCback->SetBinEdges(0,massbins);
2894 hSparseLSCback->SetBinEdges(1,massbins);
2895 hSparseLSCback->SetBinEdges(2,ptbinsForNsparse);
2896 hSparseLSCback->SetBinEdges(3,impparbins);
2897 hSparseLSCback->SetBinEdges(4,massHypoBins);
2900 fTreeLSCback =
new TTree(
"fTreeLSCback",
"Candidate variables tree");
2902 for(Int_t ivar=0; ivar<
nVar; ivar++){
2908 TH1F *hCosPDPBLSCback;
2909 TH1F *hCosPcPDLSCback;
2912 TH2F *hd0D0VSd0xd0LSCbackpt;
2913 TH2F *hangletracksVSd0xd0LSCbackpt;
2914 TH2F *hangletracksVSd0D0LSCbackpt;
2915 TH1F *hd0xd0LSCbackpt;
2917 TH2F *hTOFpidLSCback=
new TH2F(
"hTOFpidLSCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2920 for(Int_t i=0;i<
fnbins;i++){
2921 namehist=
"hd0zD0ptLSCback_pt";
2923 titlehist=
"d0(z) Loose Cuts Backgr ptbin=";
2925 hd0zD0ptLSCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2926 hd0zD0ptLSCback->SetXTitle(
"d_{0}(z) [#mum]");
2927 hd0zD0ptLSCback->SetYTitle(
"Entries");
2930 namehist=
"hInvMassD0LSCback_pt";
2932 titlehist=
"Invariant Mass Loose Cuts Backgr ptbin=";
2934 hInvMassD0LSCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2935 hInvMassD0LSCback->SetXTitle(
"Invariant Mass [GeV]");
2936 hInvMassD0LSCback->SetYTitle(
"Entries");
2939 namehist=
"hInvMassD0barLSCback_pt";
2941 titlehist=
"Invariant Mass D0bar Loose Cuts Back ptbin=";
2943 hInvMassD0barLSCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2944 hInvMassD0barLSCback->SetXTitle(
"Invariant Mass [GeV]");
2945 hInvMassD0barLSCback->SetYTitle(
"Entries");
2949 namehist=
"hetaLSCback_pt";
2951 titlehist=
"eta Loose Cuts Backgr ptbin=";
2953 hetaLSCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2954 hetaLSCback->SetXTitle(
"Pseudorapidity");
2955 hetaLSCback->SetYTitle(
"Entries");
2958 namehist=
"hCosPDPBLSCback_pt";
2960 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2962 hCosPDPBLSCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2963 hCosPDPBLSCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
2964 hCosPDPBLSCback->SetYTitle(
"Entries");
2967 namehist=
"hCosPcPDLSCback_pt";
2969 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2971 hCosPcPDLSCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2972 hCosPcPDLSCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2973 hCosPcPDLSCback->SetYTitle(
"Entries");
2977 namehist=
"hd0xd0LSCback_pt";
2979 titlehist=
"d0xd0 Loose Cuts Back ptbin=";
2981 hd0xd0LSCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2982 hd0xd0LSCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2983 hd0xd0LSCbackpt->SetYTitle(
"Entries");
2987 namehist=
"hd0D0VSd0xd0LSCback_pt";
2989 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
2991 hd0D0VSd0xd0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2992 hd0D0VSd0xd0LSCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2993 hd0D0VSd0xd0LSCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2997 namehist=
"hangletracksVSd0xd0LSCback_pt";
2999 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
3001 hangletracksVSd0xd0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3002 hangletracksVSd0xd0LSCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3003 hangletracksVSd0xd0LSCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
3007 namehist=
"hangletracksVSd0D0LSCback_pt";
3009 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Back ptbin=";
3011 hangletracksVSd0D0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3012 hangletracksVSd0D0LSCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3013 hangletracksVSd0D0LSCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
3028 TH1F *hd0D0LSCbackPM =
new TH1F(
"hd0D0LSCbackPM",
"D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3029 hd0D0LSCbackPM->SetXTitle(
"Impact parameter [#mum]");
3030 hd0D0LSCbackPM->SetYTitle(
"Entries");
3032 TH1F *hd0D0VtxTrueLSCbackPM =
new TH1F(
"hd0D0VtxTrueLSCbackPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3033 hd0D0VtxTrueLSCbackPM->SetXTitle(
"Impact parameter [#mum]");
3034 hd0D0VtxTrueLSCbackPM->SetYTitle(
"Entries");
3036 TH1F *hMCd0D0LSCbackPM =
new TH1F(
"hMCd0D0LSCbackPM",
"D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3037 hMCd0D0LSCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
3038 hMCd0D0LSCbackPM->SetYTitle(
"Entries");
3040 TH1F *hd0D0LSCbackSB =
new TH1F(
"hd0D0LSCbackSB",
"D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3041 hd0D0LSCbackSB->SetXTitle(
"Impact parameter [#mum]");
3042 hd0D0LSCbackSB->SetYTitle(
"Entries");
3044 TH1F *hd0D0VtxTrueLSCbackSB =
new TH1F(
"hd0D0VtxTrueLSCbackSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3045 hd0D0VtxTrueLSCbackSB->SetXTitle(
"Impact parameter [#mum]");
3046 hd0D0VtxTrueLSCbackSB->SetYTitle(
"Entries");
3048 TH1F *hMCd0D0LSCbackSB =
new TH1F(
"hMCd0D0LSCbackSB",
"D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
3049 hMCd0D0LSCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
3050 hMCd0D0LSCbackSB->SetYTitle(
"Entries");
3059 TH1F *hd0D0ptLSCbackPM;
3060 TH1F *hMCd0D0ptLSCbackPM;
3061 TH1F *hd0D0VtxTrueptLSCbackPM;
3062 TH1F *hd0D0ptLSCbackSB;
3063 TH1F *hMCd0D0ptLSCbackSB;
3064 TH1F *hd0D0VtxTrueptLSCbackSB;
3065 namehist=
"hd0D0ptLSCback_";
3066 titlehist=
"D^{0} impact par. plot, Loose Cuts, Background, ";
3067 for(Int_t i=0;i<
fnbins;i++){
3069 strnamept.Append(
"PkMss_pt");
3072 strtitlept=titlehist;
3073 strtitlept.Append(
" Mass Peak, ");
3075 strtitlept.Append(
"<= pt <");
3077 strtitlept.Append(
" [GeV/c]");
3079 hd0D0ptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3080 hd0D0ptLSCbackPM->SetXTitle(
"Impact parameter [#mum] ");
3081 hd0D0ptLSCbackPM->SetYTitle(
"Entries");
3084 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3085 hMCd0D0ptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3086 hMCd0D0ptLSCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
3087 hMCd0D0ptLSCbackPM->SetYTitle(
"Entries");
3091 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3092 hd0D0VtxTrueptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3093 hd0D0VtxTrueptLSCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3094 hd0D0VtxTrueptLSCbackPM->SetYTitle(
"Entries");
3098 strnamept.Append(
"SBMss_pt");
3101 strtitlept=titlehist;
3102 strtitlept.Append(
" Side Bands, ");
3104 strtitlept.Append(
"<= pt <");
3106 strtitlept.Append(
" [GeV/c]");
3108 hd0D0ptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3109 hd0D0ptLSCbackSB->SetXTitle(
"Impact parameter [#mum] ");
3110 hd0D0ptLSCbackSB->SetYTitle(
"Entries");
3113 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3114 hMCd0D0ptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3115 hMCd0D0ptLSCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
3116 hMCd0D0ptLSCbackSB->SetYTitle(
"Entries");
3119 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3120 hd0D0VtxTrueptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3121 hd0D0VtxTrueptLSCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3122 hd0D0VtxTrueptLSCbackSB->SetYTitle(
"Entries");
3132 TH2F *hCPtaVSd0d0LSCfromB=
new TH2F(
"hCPtaVSd0d0LSCfromB",
"hCPtaVSd0d0_LooseCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
3133 TH1F *hSecVtxZLSCfromB=
new TH1F(
"hSecVtxZLSCfromB",
"hSecVtxZ_LooseCuts_FromB",1000,-8.,8.);
3134 TH1F *hSecVtxXLSCfromB=
new TH1F(
"hSecVtxXLSCfromB",
"hSecVtxX_LooseCuts_FromB",1000,-3000.,3000.);
3135 TH1F *hSecVtxYLSCfromB=
new TH1F(
"hSecVtxYLSCfromB",
"hSecVtxY_LooseCuts_FromB",1000,-3000.,3000.);
3136 TH2F *hSecVtxXYLSCfromB=
new TH2F(
"hSecVtxXYLSCfromB",
"hSecVtxXY_LooseCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
3137 TH1F *hSecVtxPhiLSCfromB=
new TH1F(
"hSecVtxPhiLSCfromB",
"hSecVtxPhi_LooseCuts_FromB",180,-180.1,180.1);
3138 TH1F *hd0singlTrackLSCfromB=
new TH1F(
"hd0singlTrackLSCfromB",
"hd0singlTrackLooseCuts_FromB",1000,-5000.,5000.);
3139 TH1F *hCPtaLSCfromB=
new TH1F(
"hCPtaLSCfromB",
"hCPta_LooseCuts_FromB",100,-1.,1.);
3140 TH1F *hd0xd0LSCfromB=
new TH1F(
"hd0xd0LSCfromB",
"hd0xd0_LooseCuts_FromB",1000,-100000.,100000.);
3141 TH1F *hMassTrueLSCfromB=
new TH1F(
"hMassTrueLSCfromB",
"D^{0} MC inv. Mass Loose Cuts FromB(All momenta)",600,1.600,2.200);
3142 TH1F *hMassLSCfromB=
new TH1F(
"hMassLSCfromB",
"D^{0} inv. Mass Loose Cuts FromB (All momenta)",600,1.600,2.200);
3143 hMassLSCfromB->Sumw2();
3144 TH1F *hMassTrueLSCfromBPM=
new TH1F(
"hMassTrueLSCfromBPM",
"D^{0} MC inv. Mass Loose Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
3145 TH1F *hMassLSCfromBPM=
new TH1F(
"hMassLSCfromBPM",
"D^{0} inv. Mass Loose Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
3146 hMassLSCfromBPM->Sumw2();
3147 TH1F *hMassTrueLSCfromBSB=
new TH1F(
"hMassTrueLSCfromBSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts FromB(All momenta)",600,1.600,2.200);
3148 TH1F *hMassLSCfromBSB=
new TH1F(
"hMassLSCfromBSB",
"D^{0} inv. Mass in Side Bands Loose Cuts FromB (All momenta)",600,1.600,2.200);
3149 hMassLSCfromBSB->Sumw2();
3171 TH1F *hdcaLSCfromB=
new TH1F(
"hdcaLSCfromB",
"hdca_LooseCuts_FromB",100,0.,1000.);
3172 hdcaLSCfromB->SetXTitle(
"dca [#mum]");
3173 hdcaLSCfromB->SetYTitle(
"Entries");
3174 TH1F *hcosthetastarLSCfromB=
new TH1F(
"hcosthetastarLSCfromB",
"hCosThetaStar_LooseCuts_FromB",50,-1.,1.);
3175 hcosthetastarLSCfromB->SetXTitle(
"cos #theta^{*}");
3176 hcosthetastarLSCfromB->SetYTitle(
"Entries");
3177 TH1F *hptD0LSCfromB=
new TH1F(
"hptD0LSCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3178 hptD0LSCfromB->SetXTitle(
"p_{t} [GeV/c]");
3179 hptD0LSCfromB->SetYTitle(
"Entries");
3180 TH1F *hptD0VsMaxPtLSCfromB=
new TH1F(
"hptD0VsMaxPtLSCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3181 TH2F *hptD0PTallsqrtLSCfromB=
new TH2F(
"hptD0PTallsqrtLSCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3182 TH2F *hptD0PTallLSCfromB=
new TH2F(
"hptD0PTallLSCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3183 TH2F *hptD0vsptBLSCfromB=
new TH2F(
"hptD0vsptBLSCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3184 TH2F *hpD0vspBLSCfromB=
new TH2F(
"hpD0vspBLSCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3185 TH2F *hptD0vsptcquarkLSCfromB=
new TH2F(
"hptD0vsptcquarkLSCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3186 TH2F *hpD0vspcquarkLSCfromB=
new TH2F(
"hpD0vspcquarkLSCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3198 TH1F *hd0zD0ptLSCfromB;
3199 TH1F *hInvMassD0LSCfromB,*hInvMassD0barLSCfromB;
3200 TH2F *hInvMassPtLSCfromB=
new TH2F(
"hInvMassPtLSCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3202 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);
3204 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);
3207 THnSparseF *hSparseLSCfromB=
new THnSparseF(
"hSparseLSCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3208 hSparseLSCfromB->SetBinEdges(0,massbins);
3209 hSparseLSCfromB->SetBinEdges(1,massbins);
3210 hSparseLSCfromB->SetBinEdges(2,ptbinsForNsparse);
3211 hSparseLSCfromB->SetBinEdges(3,impparbins);
3212 hSparseLSCfromB->SetBinEdges(4,massHypoBins);
3215 fTreeLSCfromB =
new TTree(
"fTreeLSCfromB",
"Candidate variables tree");
3217 for(Int_t ivar=0; ivar<
nVar; ivar++){
3223 THnSparseF *hSparseRecoLSCfromB=
new THnSparseF(
"hSparseRecoLSCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3224 hSparseRecoLSCfromB->SetBinEdges(0,massbins);
3225 hSparseRecoLSCfromB->SetBinEdges(1,massbins);
3226 hSparseRecoLSCfromB->SetBinEdges(2,ptbinsForNsparse);
3227 hSparseRecoLSCfromB->SetBinEdges(3,impparbins);
3228 hSparseRecoLSCfromB->SetBinEdges(4,massHypoBins);
3233 for(Int_t ivar=0; ivar<
nVar; ivar++){
3240 TH1F *hCosPDPBLSCfromB;
3241 TH1F *hCosPcPDLSCfromB;
3244 TH2F *hd0D0VSd0xd0LSCfromBpt;
3245 TH2F *hangletracksVSd0xd0LSCfromBpt;
3246 TH2F *hangletracksVSd0D0LSCfromBpt;
3247 TH1F *hd0xd0LSCfromBpt;
3250 TH2F *hTOFpidLSCfromB=
new TH2F(
"hTOFpidLSCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3253 for(Int_t i=0;i<
fnbins;i++){
3254 namehist=
"hd0zD0ptLSCfromB_pt";
3256 titlehist=
"d0(z) Loose Cuts FromBm ptbin=";
3258 hd0zD0ptLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3259 hd0zD0ptLSCfromB->SetXTitle(
"d_{0}(z) [#mum]");
3260 hd0zD0ptLSCfromB->SetYTitle(
"Entries");
3263 namehist=
"hInvMassD0LSCfromB_pt";
3265 titlehist=
"Invariant Mass Loose Cuts FromB ptbin=";
3267 hInvMassD0LSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3268 hInvMassD0LSCfromB->SetXTitle(
"Invariant Mass [GeV]");
3269 hInvMassD0LSCfromB->SetYTitle(
"Entries");
3272 namehist=
"hInvMassD0barLSCfromB_pt";
3274 titlehist=
"Invariant Mass D0bar Loose Cuts FromB ptbin=";
3276 hInvMassD0barLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3277 hInvMassD0barLSCfromB->SetXTitle(
"Invariant Mass [GeV]");
3278 hInvMassD0barLSCfromB->SetYTitle(
"Entries");
3281 namehist=
"hetaLSCfromB_pt";
3283 titlehist=
"eta Loose Cuts FromB ptbin=";
3285 hetaLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3286 hetaLSCfromB->SetXTitle(
"Pseudorapidity");
3287 hetaLSCfromB->SetYTitle(
"Entries");
3290 namehist=
"hCosPDPBLSCfromB_pt";
3292 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3294 hCosPDPBLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3295 hCosPDPBLSCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
3296 hCosPDPBLSCfromB->SetYTitle(
"Entries");
3299 namehist=
"hCosPcPDLSCfromB_pt";
3301 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3303 hCosPcPDLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3304 hCosPcPDLSCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3305 hCosPcPDLSCfromB->SetYTitle(
"Entries");
3309 namehist=
"hd0xd0LSCfromB_pt";
3311 titlehist=
"d0xd0 Loose Cuts FromB ptbin=";
3313 hd0xd0LSCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3314 hd0xd0LSCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3315 hd0xd0LSCfromBpt->SetYTitle(
"Entries");
3319 namehist=
"hd0D0VSd0xd0LSCfromB_pt";
3321 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
3323 hd0D0VSd0xd0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3324 hd0D0VSd0xd0LSCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3325 hd0D0VSd0xd0LSCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3329 namehist=
"hangletracksVSd0xd0LSCfromB_pt";
3331 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
3333 hangletracksVSd0xd0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3334 hangletracksVSd0xd0LSCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3335 hangletracksVSd0xd0LSCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
3339 namehist=
"hangletracksVSd0D0LSCfromB_pt";
3341 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromB ptbin=";
3343 hangletracksVSd0D0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3344 hangletracksVSd0D0LSCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3345 hangletracksVSd0D0LSCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
3357 TH1F *hd0D0LSCfromBPM =
new TH1F(
"hd0D0LSCfromBPM",
"D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3358 hd0D0LSCfromBPM->SetXTitle(
"Impact parameter [#mum]");
3359 hd0D0LSCfromBPM->SetYTitle(
"Entries");
3361 TH1F *hd0D0VtxTrueLSCfromBPM =
new TH1F(
"hd0D0VtxTrueLSCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3362 hd0D0VtxTrueLSCfromBPM->SetXTitle(
"Impact parameter [#mum]");
3363 hd0D0VtxTrueLSCfromBPM->SetYTitle(
"Entries");
3365 TH1F *hMCd0D0LSCfromBPM =
new TH1F(
"hMCd0D0LSCfromBPM",
"D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3366 hMCd0D0LSCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
3367 hMCd0D0LSCfromBPM->SetYTitle(
"Entries");
3369 TH1F *hd0D0LSCfromBSB =
new TH1F(
"hd0D0LSCfromBSB",
"D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3370 hd0D0LSCfromBSB->SetXTitle(
"Impact parameter [#mum]");
3371 hd0D0LSCfromBSB->SetYTitle(
"Entries");
3373 TH1F *hd0D0VtxTrueLSCfromBSB =
new TH1F(
"hd0D0VtxTrueLSCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3374 hd0D0VtxTrueLSCfromBSB->SetXTitle(
"Impact parameter [#mum]");
3375 hd0D0VtxTrueLSCfromBSB->SetYTitle(
"Entries");
3377 TH1F *hMCd0D0LSCfromBSB =
new TH1F(
"hMCd0D0LSCfromBSB",
"D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3378 hMCd0D0LSCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
3379 hMCd0D0LSCfromBSB->SetYTitle(
"Entries");
3388 TH1F *hd0D0ptLSCfromBPM;
3389 TH1F *hMCd0D0ptLSCfromBPM;
3390 TH1F *hd0D0VtxTrueptLSCfromBPM;
3391 TH1F *hd0D0ptLSCfromBSB;
3392 TH1F *hMCd0D0ptLSCfromBSB;
3393 TH1F *hd0D0VtxTrueptLSCfromBSB;
3394 namehist=
"hd0D0ptLSCfromB_";
3395 titlehist=
"D^{0} impact par. plot, Loose Cuts, FromB, ";
3396 for(Int_t i=0;i<
fnbins;i++){
3398 strnamept.Append(
"PkMss_pt");
3401 strtitlept=titlehist;
3402 strtitlept.Append(
" Mass Peak, ");
3404 strtitlept.Append(
"<= pt <");
3406 strtitlept.Append(
" [GeV/c]");
3408 hd0D0ptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3409 hd0D0ptLSCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
3410 hd0D0ptLSCfromBPM->SetYTitle(
"Entries");
3413 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3414 hMCd0D0ptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3415 hMCd0D0ptLSCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
3416 hMCd0D0ptLSCfromBPM->SetYTitle(
"Entries");
3420 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3421 hd0D0VtxTrueptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3422 hd0D0VtxTrueptLSCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3423 hd0D0VtxTrueptLSCfromBPM->SetYTitle(
"Entries");
3427 strnamept.Append(
"SBMss_pt");
3430 strtitlept=titlehist;
3431 strtitlept.Append(
" Side Bands, ");
3433 strtitlept.Append(
"<= pt <");
3435 strtitlept.Append(
" [GeV/c]");
3437 hd0D0ptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3438 hd0D0ptLSCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
3439 hd0D0ptLSCfromBSB->SetYTitle(
"Entries");
3442 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3443 hMCd0D0ptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3444 hMCd0D0ptLSCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
3445 hMCd0D0ptLSCfromBSB->SetYTitle(
"Entries");
3448 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3449 hd0D0VtxTrueptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3450 hd0D0VtxTrueptLSCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3451 hd0D0VtxTrueptLSCfromBSB->SetYTitle(
"Entries");
3460 TH2F *hCPtaVSd0d0LSCfromDstar=
new TH2F(
"hCPtaVSd0d0LSCfromDstar",
"hCPtaVSd0d0_LooseCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
3461 TH1F *hSecVtxZLSCfromDstar=
new TH1F(
"hSecVtxZLSCfromDstar",
"hSecVtxZ_LooseCuts_FromDStar",1000,-8.,8.);
3462 TH1F *hSecVtxXLSCfromDstar=
new TH1F(
"hSecVtxXLSCfromDstar",
"hSecVtxX_LooseCuts_FromDStar",1000,-3000.,3000.);
3463 TH1F *hSecVtxYLSCfromDstar=
new TH1F(
"hSecVtxYLSCfromDstar",
"hSecVtxY_LooseCuts_FromDStar",1000,-3000.,3000.);
3464 TH2F *hSecVtxXYLSCfromDstar=
new TH2F(
"hSecVtxXYLSCfromDstar",
"hSecVtxXY_LooseCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
3465 TH1F *hSecVtxPhiLSCfromDstar=
new TH1F(
"hSecVtxPhiLSCfromDstar",
"hSecVtxPhi_LooseCuts_FromDStar",180,-180.1,180.1);
3466 TH1F *hd0singlTrackLSCfromDstar=
new TH1F(
"hd0singlTrackLSCfromDstar",
"hd0singlTrackLooseCuts_FromDstar",1000,-5000.,5000.);
3467 TH1F *hCPtaLSCfromDstar=
new TH1F(
"hCPtaLSCfromDstar",
"hCPta_LooseCuts_FromDStar",100,-1.,1.);
3468 TH1F *hd0xd0LSCfromDstar=
new TH1F(
"hd0xd0LSCfromDstar",
"hd0xd0_LooseCuts_FromDStar",1000,-100000.,100000.);
3469 TH1F *hMassTrueLSCfromDstar=
new TH1F(
"hMassTrueLSCfromDstar",
"D^{0} MC inv. Mass Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
3470 TH1F *hMassLSCfromDstar=
new TH1F(
"hMassLSCfromDstar",
"D^{0} inv. Mass Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
3471 hMassLSCfromDstar->Sumw2();
3472 TH1F *hMassTrueLSCfromDstarPM=
new TH1F(
"hMassTrueLSCfromDstarPM",
"D^{0} MC inv. Mass Loose Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
3473 TH1F *hMassLSCfromDstarPM=
new TH1F(
"hMassLSCfromDstarPM",
"D^{0} inv. Mass Loose Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
3474 hMassLSCfromDstarPM->Sumw2();
3475 TH1F *hMassTrueLSCfromDstarSB=
new TH1F(
"hMassTrueLSCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
3476 TH1F *hMassLSCfromDstarSB=
new TH1F(
"hMassLSCfromDstarSB",
"D^{0} inv. Mass in Side Bands Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
3477 hMassLSCfromDstarSB->Sumw2();
3502 TH1F *hdcaLSCfromDstar=
new TH1F(
"hdcaLSCfromDstar",
"hdca_LooseCuts_FromDstar",100,0.,1000.);
3503 hdcaLSCfromDstar->SetXTitle(
"dca [#mum]");
3504 hdcaLSCfromDstar->SetYTitle(
"Entries");
3505 TH1F *hcosthetastarLSCfromDstar=
new TH1F(
"hcosthetastarLSCfromDstar",
"hCosThetaStar_LooseCuts_FromDstar",50,-1.,1.);
3506 hcosthetastarLSCfromDstar->SetXTitle(
"cos #theta^{*}");
3507 hcosthetastarLSCfromDstar->SetYTitle(
"Entries");
3508 TH1F *hptD0LSCfromDstar=
new TH1F(
"hptD0LSCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3509 hptD0LSCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
3510 hptD0LSCfromDstar->SetYTitle(
"Entries");
3511 TH1F *hptD0VsMaxPtLSCfromDstar=
new TH1F(
"hptD0VsMaxPtLSCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3512 TH2F *hptD0PTallsqrtLSCfromDstar=
new TH2F(
"hptD0PTallsqrtLSCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3513 TH2F *hptD0PTallLSCfromDstar=
new TH2F(
"hptD0PTallLSCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3514 TH2F *hptD0vsptBLSCfromDstar=
new TH2F(
"hptD0vsptBLSCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3515 TH2F *hpD0vspBLSCfromDstar=
new TH2F(
"hpD0vspBLSCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3516 TH2F *hptD0vsptcquarkLSCfromDstar=
new TH2F(
"hptD0vsptcquarkLSCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3517 TH2F *hpD0vspcquarkLSCfromDstar=
new TH2F(
"hpD0vspcquarkLSCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3529 TH1F *hd0zD0ptLSCfromDstar;
3530 TH1F *hInvMassD0LSCfromDstar,*hInvMassD0barLSCfromDstar;
3531 TH2F *hInvMassPtLSCfromDstar=
new TH2F(
"hInvMassPtLSCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3532 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);
3534 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);
3537 THnSparseF *hSparseLSCfromDstar=
new THnSparseF(
"hSparseLSCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3538 hSparseLSCfromDstar->SetBinEdges(0,massbins);
3539 hSparseLSCfromDstar->SetBinEdges(1,massbins);
3540 hSparseLSCfromDstar->SetBinEdges(2,ptbinsForNsparse);
3541 hSparseLSCfromDstar->SetBinEdges(3,impparbins);
3542 hSparseLSCfromDstar->SetBinEdges(4,massHypoBins);
3547 for(Int_t ivar=0; ivar<
nVar; ivar++){
3552 TH1F *hetaLSCfromDstar;
3553 TH1F *hCosPDPBLSCfromDstar;
3554 TH1F *hCosPcPDLSCfromDstar;
3557 TH2F *hd0D0VSd0xd0LSCfromDstarpt;
3558 TH2F *hangletracksVSd0xd0LSCfromDstarpt;
3559 TH2F *hangletracksVSd0D0LSCfromDstarpt;
3560 TH1F *hd0xd0LSCfromDstarpt;
3562 TH2F *hTOFpidLSCfromDstar=
new TH2F(
"hTOFpidLSCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3565 for(Int_t i=0;i<
fnbins;i++){
3566 namehist=
"hd0zD0ptLSCfromDstar_pt";
3568 titlehist=
"d0(z) Loose Cuts FromDstarm ptbin=";
3570 hd0zD0ptLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3571 hd0zD0ptLSCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
3572 hd0zD0ptLSCfromDstar->SetYTitle(
"Entries");
3575 namehist=
"hInvMassD0LSCfromDstar_pt";
3577 titlehist=
"Invariant Mass Loose Cuts FromDstar ptbin=";
3579 hInvMassD0LSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3580 hInvMassD0LSCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
3581 hInvMassD0LSCfromDstar->SetYTitle(
"Entries");
3584 namehist=
"hInvMassD0barLSCfromDstar_pt";
3586 titlehist=
"Invariant Mass D0bar Loose Cuts FromDstar ptbin=";
3588 hInvMassD0barLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3589 hInvMassD0barLSCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
3590 hInvMassD0barLSCfromDstar->SetYTitle(
"Entries");
3593 namehist=
"hetaLSCfromDstar_pt";
3595 titlehist=
"eta Loose Cuts FromDstar ptbin=";
3597 hetaLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3598 hetaLSCfromDstar->SetXTitle(
"Pseudorapidity");
3599 hetaLSCfromDstar->SetYTitle(
"Entries");
3602 namehist=
"hCosPDPBLSCfromDstar_pt";
3604 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3606 hCosPDPBLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3607 hCosPDPBLSCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
3608 hCosPDPBLSCfromDstar->SetYTitle(
"Entries");
3611 namehist=
"hCosPcPDLSCfromDstar_pt";
3613 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3615 hCosPcPDLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3616 hCosPcPDLSCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3617 hCosPcPDLSCfromDstar->SetYTitle(
"Entries");
3621 namehist=
"hd0xd0LSCfromDstar_pt";
3623 titlehist=
"d0xd0 Loose Cuts FromDstar ptbin=";
3625 hd0xd0LSCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3626 hd0xd0LSCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3627 hd0xd0LSCfromDstarpt->SetYTitle(
"Entries");
3631 namehist=
"hd0D0VSd0xd0LSCfromDstar_pt";
3633 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromDstar ptbin=";
3635 hd0D0VSd0xd0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3636 hd0D0VSd0xd0LSCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3637 hd0D0VSd0xd0LSCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3641 namehist=
"hangletracksVSd0xd0LSCfromDstar_pt";
3643 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromDstar ptbin=";
3645 hangletracksVSd0xd0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3646 hangletracksVSd0xd0LSCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3647 hangletracksVSd0xd0LSCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
3651 namehist=
"hangletracksVSd0D0LSCfromDstar_pt";
3653 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromDstar ptbin=";
3655 hangletracksVSd0D0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3656 hangletracksVSd0D0LSCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3657 hangletracksVSd0D0LSCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
3671 TH1F *hd0D0LSCfromDstPM =
new TH1F(
"hd0D0LSCfromDstarPM",
"D^{0} impact par. plot , Loose Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3672 hd0D0LSCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
3673 hd0D0LSCfromDstPM->SetYTitle(
"Entries");
3675 TH1F *hd0D0VtxTrueLSCfromDstPM =
new TH1F(
"hd0D0VtxTrueLSCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3676 hd0D0VtxTrueLSCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
3677 hd0D0VtxTrueLSCfromDstPM->SetYTitle(
"Entries");
3679 TH1F *hMCd0D0LSCfromDstPM =
new TH1F(
"hMCd0D0LSCfromDstarPM",
"D^{0} impact par. plot, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3680 hMCd0D0LSCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
3681 hMCd0D0LSCfromDstPM->SetYTitle(
"Entries");
3683 TH1F *hd0D0LSCfromDstSB =
new TH1F(
"hd0D0LSCfromDstarSB",
"D^{0} impact par. plot , Loose Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3684 hd0D0LSCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
3685 hd0D0LSCfromDstSB->SetYTitle(
"Entries");
3687 TH1F *hd0D0VtxTrueLSCfromDstSB =
new TH1F(
"hd0D0VtxTrueLSCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3688 hd0D0VtxTrueLSCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
3689 hd0D0VtxTrueLSCfromDstSB->SetYTitle(
"Entries");
3691 TH1F *hMCd0D0LSCfromDstSB =
new TH1F(
"hMCd0D0LSCfromDstarSB",
"D^{0} impact par. plot, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3692 hMCd0D0LSCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
3693 hMCd0D0LSCfromDstSB->SetYTitle(
"Entries");
3702 TH1F *hd0D0ptLSCfromDstPM;
3703 TH1F *hMCd0D0ptLSCfromDstPM;
3704 TH1F *hd0D0VtxTrueptLSCfromDstPM;
3705 TH1F *hd0D0ptLSCfromDstSB;
3706 TH1F *hMCd0D0ptLSCfromDstSB;
3707 TH1F *hd0D0VtxTrueptLSCfromDstSB;
3708 namehist=
"hd0D0ptLSCfromDstar_";
3709 titlehist=
"D^{0} impact par. plot, Loose Cuts, FromDStar, ";
3710 for(Int_t i=0;i<
fnbins;i++){
3712 strnamept.Append(
"PkMss_pt");
3715 strtitlept=titlehist;
3716 strtitlept.Append(
" Mass Peak, ");
3718 strtitlept.Append(
"<= pt <");
3720 strtitlept.Append(
" [GeV/c]");
3722 hd0D0ptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3723 hd0D0ptLSCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
3724 hd0D0ptLSCfromDstPM->SetYTitle(
"Entries");
3727 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3728 hMCd0D0ptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3729 hMCd0D0ptLSCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
3730 hMCd0D0ptLSCfromDstPM->SetYTitle(
"Entries");
3734 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3735 hd0D0VtxTrueptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3736 hd0D0VtxTrueptLSCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3737 hd0D0VtxTrueptLSCfromDstPM->SetYTitle(
"Entries");
3741 strnamept.Append(
"SBMss_pt");
3744 strtitlept=titlehist;
3745 strtitlept.Append(
" Side Bands, ");
3747 strtitlept.Append(
"<= pt <");
3749 strtitlept.Append(
" [GeV/c]");
3751 hd0D0ptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3752 hd0D0ptLSCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
3753 hd0D0ptLSCfromDstSB->SetYTitle(
"Entries");
3756 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3757 hMCd0D0ptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3758 hMCd0D0ptLSCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
3759 hMCd0D0ptLSCfromDstSB->SetYTitle(
"Entries");
3762 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3763 hd0D0VtxTrueptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3764 hd0D0VtxTrueptLSCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3765 hd0D0VtxTrueptLSCfromDstSB->SetYTitle(
"Entries");
3774 TH2F *hCPtaVSd0d0LSCother=
new TH2F(
"hCPtaVSd0d0LSCother",
"hCPtaVSd0d0_LooseCuts_other",1000,-100000.,100000.,100,-1.,1.);
3775 TH1F *hSecVtxZLSCother=
new TH1F(
"hSecVtxZLSCother",
"hSecVtxZ_LooseCuts_other",1000,-8.,8.);
3776 TH1F *hSecVtxXLSCother=
new TH1F(
"hSecVtxXLSCother",
"hSecVtxX_LooseCuts_other",1000,-3000.,3000.);
3777 TH1F *hSecVtxYLSCother=
new TH1F(
"hSecVtxYLSCother",
"hSecVtxY_LooseCuts_other",1000,-3000.,3000.);
3778 TH2F *hSecVtxXYLSCother=
new TH2F(
"hSecVtxXYLSCother",
"hSecVtxXY_LooseCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
3779 TH1F *hSecVtxPhiLSCother=
new TH1F(
"hSecVtxPhiLSCother",
"hSecVtxPhi_LooseCuts_other",180,-180.1,180.1);
3780 TH1F *hd0singlTrackLSCother=
new TH1F(
"hd0singlTrackLSCother",
"hd0singlTrackLooseCuts_Other",1000,-5000.,5000.);
3781 TH1F *hCPtaLSCother=
new TH1F(
"hCPtaLSCother",
"hCPta_LooseCuts_other",100,-1.,1.);
3782 TH1F *hd0xd0LSCother=
new TH1F(
"hd0xd0LSCother",
"hd0xd0_LooseCuts_other",1000,-100000.,100000.);
3783 TH1F *hMassTrueLSCother=
new TH1F(
"hMassTrueLSCother",
"D^{0} MC inv. Mass Loose Cuts other(All momenta)",600,1.600,2.200);
3784 TH1F *hMassLSCother=
new TH1F(
"hMassLSCother",
"D^{0} inv. Mass Loose Cuts other (All momenta)",600,1.600,2.200);
3785 hMassLSCother->Sumw2();
3786 TH1F *hMassTrueLSCotherPM=
new TH1F(
"hMassTrueLSCotherPM",
"D^{0} MC inv. Mass Loose Cuts other, Mass Peak. (All momenta)",600,1.600,2.200);
3787 TH1F *hMassLSCotherPM=
new TH1F(
"hMassLSCotherPM",
"D^{0} inv. Mass Loose Cuts other (All momenta), MassPeak",600,1.600,2.200);
3788 hMassLSCotherPM->Sumw2();
3789 TH1F *hMassTrueLSCotherSB=
new TH1F(
"hMassTrueLSCotherSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts other(All momenta)",600,1.600,2.200);
3790 TH1F *hMassLSCotherSB=
new TH1F(
"hMassLSCotherSB",
"D^{0} inv. Mass in Side Bands Loose Cuts other (All momenta)",600,1.600,2.200);
3791 hMassLSCotherSB->Sumw2();
3813 TH1F *hdcaLSCother=
new TH1F(
"hdcaLSCother",
"hdca_LooseCuts_Other",100,0.,1000.);
3814 hdcaLSCother->SetXTitle(
"dca [#mum]");
3815 hdcaLSCother->SetYTitle(
"Entries");
3816 TH1F *hcosthetastarLSCother=
new TH1F(
"hcosthetastarLSCother",
"hCosThetaStar_LooseCuts_Other",50,-1.,1.);
3817 hcosthetastarLSCother->SetXTitle(
"cos #theta^{*}");
3818 hcosthetastarLSCother->SetYTitle(
"Entries");
3819 TH1F *hptD0LSCother=
new TH1F(
"hptD0LSCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3820 hptD0LSCother->SetXTitle(
"p_{t} [GeV/c]");
3821 hptD0LSCother->SetYTitle(
"Entries");
3822 TH1F *hptD0VsMaxPtLSCother=
new TH1F(
"hptD0VsMaxPtLSCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3823 TH2F *hptD0PTallsqrtLSCother=
new TH2F(
"hptD0PTallsqrtLSCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3824 TH2F *hptD0PTallLSCother=
new TH2F(
"hptD0PTallLSCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3825 TH2F *hptD0vsptBLSCother=
new TH2F(
"hptD0vsptBLSCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3826 TH2F *hpD0vspBLSCother=
new TH2F(
"hpD0vspBLSCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3827 TH2F *hptD0vsptcquarkLSCother=
new TH2F(
"hptD0vsptcquarkLSCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3828 TH2F *hpD0vspcquarkLSCother=
new TH2F(
"hpD0vspcquarkLSCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3840 TH1F *hd0zD0ptLSCother;
3841 TH1F *hInvMassD0LSCother,*hInvMassD0barLSCother;
3842 TH2F *hInvMassPtLSCother=
new TH2F(
"hInvMassPtLSCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3843 THnSparseF *hSparseLSCother=
new THnSparseF(
"hSparseLSCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3844 hSparseLSCother->SetBinEdges(0,massbins);
3845 hSparseLSCother->SetBinEdges(1,massbins);
3846 hSparseLSCother->SetBinEdges(2,ptbinsForNsparse);
3847 hSparseLSCother->SetBinEdges(3,impparbins);
3848 hSparseLSCother->SetBinEdges(4,massHypoBins);
3851 TH1F *hCosPDPBLSCother;
3852 TH1F *hCosPcPDLSCother;
3855 fTreeLSCother =
new TTree(
"fTreeLSCother",
"Candidate variables tree");
3857 for(Int_t ivar=0; ivar<
nVar; ivar++){
3863 TH2F *hd0D0VSd0xd0LSCotherpt;
3864 TH2F *hangletracksVSd0xd0LSCotherpt;
3865 TH2F *hangletracksVSd0D0LSCotherpt;
3866 TH1F *hd0xd0LSCotherpt;
3868 TH2F *hTOFpidLSCother=
new TH2F(
"hTOFpidLSCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3871 for(Int_t i=0;i<
fnbins;i++){
3872 namehist=
"hd0zD0ptLSCother_pt";
3874 titlehist=
"d0(z) Loose Cuts Otherm ptbin=";
3876 hd0zD0ptLSCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3877 hd0zD0ptLSCother->SetXTitle(
"d_{0}(z) [#mum]");
3878 hd0zD0ptLSCother->SetYTitle(
"Entries");
3881 namehist=
"hInvMassD0LSCother_pt";
3883 titlehist=
"Invariant Mass Loose Cuts Other ptbin=";
3885 hInvMassD0LSCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3886 hInvMassD0LSCother->SetXTitle(
"Invariant Mass [GeV]");
3887 hInvMassD0LSCother->SetYTitle(
"Entries");
3890 namehist=
"hInvMassD0barLSCother_pt";
3892 titlehist=
"Invariant Mass D0bar Loose Cuts Other ptbin=";
3894 hInvMassD0barLSCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3895 hInvMassD0barLSCother->SetXTitle(
"Invariant Mass [GeV]");
3896 hInvMassD0barLSCother->SetYTitle(
"Entries");
3899 namehist=
"hetaLSCother_pt";
3901 titlehist=
"eta Loose Cuts Other ptbin=";
3903 hetaLSCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3904 hetaLSCother->SetXTitle(
"Pseudorapidity");
3905 hetaLSCother->SetYTitle(
"Entries");
3908 namehist=
"hCosPDPBLSCother_pt";
3910 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3912 hCosPDPBLSCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3913 hCosPDPBLSCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
3914 hCosPDPBLSCother->SetYTitle(
"Entries");
3917 namehist=
"hCosPcPDLSCother_pt";
3919 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3921 hCosPcPDLSCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3922 hCosPcPDLSCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3923 hCosPcPDLSCother->SetYTitle(
"Entries");
3927 namehist=
"hd0xd0LSCother_pt";
3929 titlehist=
"d0xd0 Loose Cuts Other ptbin=";
3931 hd0xd0LSCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3932 hd0xd0LSCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3933 hd0xd0LSCotherpt->SetYTitle(
"Entries");
3937 namehist=
"hd0D0VSd0xd0LSCother_pt";
3939 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Other ptbin=";
3941 hd0D0VSd0xd0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3942 hd0D0VSd0xd0LSCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3943 hd0D0VSd0xd0LSCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3947 namehist=
"hangletracksVSd0xd0LSCother_pt";
3949 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Other ptbin=";
3951 hangletracksVSd0xd0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3952 hangletracksVSd0xd0LSCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3953 hangletracksVSd0xd0LSCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
3957 namehist=
"hangletracksVSd0D0LSCother_pt";
3959 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Other ptbin=";
3961 hangletracksVSd0D0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3962 hangletracksVSd0D0LSCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3963 hangletracksVSd0D0LSCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
3974 TH1F *hd0D0LSCotherPM =
new TH1F(
"hd0D0LSCotherPM",
"D^{0} impact par. plot , Loose Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3975 hd0D0LSCotherPM->SetXTitle(
"Impact parameter [#mum]");
3976 hd0D0LSCotherPM->SetYTitle(
"Entries");
3978 TH1F *hd0D0VtxTrueLSCotherPM =
new TH1F(
"hd0D0VtxTrueLSCotherPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3979 hd0D0VtxTrueLSCotherPM->SetXTitle(
"Impact parameter [#mum]");
3980 hd0D0VtxTrueLSCotherPM->SetYTitle(
"Entries");
3982 TH1F *hMCd0D0LSCotherPM =
new TH1F(
"hMCd0D0LSCotherPM",
"D^{0} impact par. plot, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3983 hMCd0D0LSCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
3984 hMCd0D0LSCotherPM->SetYTitle(
"Entries");
3986 TH1F *hd0D0LSCotherSB =
new TH1F(
"hd0D0LSCotherSB",
"D^{0} impact par. plot , Loose Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3987 hd0D0LSCotherSB->SetXTitle(
"Impact parameter [#mum]");
3988 hd0D0LSCotherSB->SetYTitle(
"Entries");
3990 TH1F *hd0D0VtxTrueLSCotherSB =
new TH1F(
"hd0D0VtxTrueLSCotherSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3991 hd0D0VtxTrueLSCotherSB->SetXTitle(
"Impact parameter [#mum]");
3992 hd0D0VtxTrueLSCotherSB->SetYTitle(
"Entries");
3994 TH1F *hMCd0D0LSCotherSB =
new TH1F(
"hMCd0D0LSCotherSB",
"D^{0} impact par. plot, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3995 hMCd0D0LSCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
3996 hMCd0D0LSCotherSB->SetYTitle(
"Entries");
4005 TH1F *hd0D0ptLSCotherPM;
4006 TH1F *hMCd0D0ptLSCotherPM;
4007 TH1F *hd0D0VtxTrueptLSCotherPM;
4008 TH1F *hd0D0ptLSCotherSB;
4009 TH1F *hMCd0D0ptLSCotherSB;
4010 TH1F *hd0D0VtxTrueptLSCotherSB;
4011 namehist=
"hd0D0ptLSCother_";
4012 titlehist=
"D^{0} impact par. plot, Loose Cuts, Other, ";
4013 for(Int_t i=0;i<
fnbins;i++){
4015 strnamept.Append(
"PkMss_pt");
4018 strtitlept=titlehist;
4019 strtitlept.Append(
" Mass Peak, ");
4021 strtitlept.Append(
"<= pt <");
4023 strtitlept.Append(
" [GeV/c]");
4025 hd0D0ptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4026 hd0D0ptLSCotherPM->SetXTitle(
"Impact parameter [#mum] ");
4027 hd0D0ptLSCotherPM->SetYTitle(
"Entries");
4030 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4031 hMCd0D0ptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4032 hMCd0D0ptLSCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
4033 hMCd0D0ptLSCotherPM->SetYTitle(
"Entries");
4037 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4038 hd0D0VtxTrueptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4039 hd0D0VtxTrueptLSCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4040 hd0D0VtxTrueptLSCotherPM->SetYTitle(
"Entries");
4044 strnamept.Append(
"SBMss_pt");
4047 strtitlept=titlehist;
4048 strtitlept.Append(
" Side Bands, ");
4050 strtitlept.Append(
"<= pt <");
4052 strtitlept.Append(
" [GeV/c]");
4054 hd0D0ptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4055 hd0D0ptLSCotherSB->SetXTitle(
"Impact parameter [#mum] ");
4056 hd0D0ptLSCotherSB->SetYTitle(
"Entries");
4059 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4060 hMCd0D0ptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4061 hMCd0D0ptLSCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
4062 hMCd0D0ptLSCotherSB->SetYTitle(
"Entries");
4065 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4066 hd0D0VtxTrueptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4067 hd0D0VtxTrueptLSCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4068 hd0D0VtxTrueptLSCotherSB->SetYTitle(
"Entries");
4085 TH2F *hCPtaVSd0d0TGHCsign=
new TH2F(
"hCPtaVSd0d0TGHCsign",
"hCPtaVSd0d0_TightCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
4086 TH1F *hSecVtxZTGHCsign=
new TH1F(
"hSecVtxZTGHCsign",
"hSecVtxZ_TightCuts_Signal",1000,-8.,8.);
4087 TH1F *hSecVtxXTGHCsign=
new TH1F(
"hSecVtxXTGHCsign",
"hSecVtxX_TightCuts_Signal",1000,-3000.,3000.);
4088 TH1F *hSecVtxYTGHCsign=
new TH1F(
"hSecVtxYTGHCsign",
"hSecVtxY_TightCuts_Signal",1000,-3000.,3000.);
4089 TH2F *hSecVtxXYTGHCsign=
new TH2F(
"hSecVtxXYTGHCsign",
"hSecVtxXY_TightCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
4090 TH1F *hSecVtxPhiTGHCsign=
new TH1F(
"hSecVtxPhiTGHCsign",
"hSecVtxPhi_TightCuts_Signal",180,-180.1,180.1);
4091 TH1F *hd0singlTrackTGHCsign=
new TH1F(
"hd0singlTrackTGHCsign",
"hd0singlTrackTightCuts_Signal",1000,-5000.,5000.);
4092 TH1F *hCPtaTGHCsign=
new TH1F(
"hCPtaTGHCsign",
"hCPta_TightCuts_Signal",100,-1.,1.);
4093 TH1F *hd0xd0TGHCsign=
new TH1F(
"hd0xd0TGHCsign",
"hd0xd0_TightCuts_Signal",1000,-100000.,100000.);
4094 TH1F *hMassTrueTGHCsign=
new TH1F(
"hMassTrueTGHCsign",
"D^{0} MC inv. Mass Tight Cuts Signal(All momenta)",600,1.600,2.200);
4095 TH1F *hMassTGHCsign=
new TH1F(
"hMassTGHCsign",
"D^{0} inv. Mass Tight Cuts Signal (All momenta)",600,1.600,2.200);
4096 hMassTGHCsign->Sumw2();
4097 TH1F *hMassTrueTGHCsignPM=
new TH1F(
"hMassTrueTGHCsignPM",
"D^{0} MC inv. Mass Tight Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
4098 TH1F *hMassTGHCsignPM=
new TH1F(
"hMassTGHCsignPM",
"D^{0} inv. Mass Tight Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
4099 hMassTGHCsignPM->Sumw2();
4100 TH1F *hMassTrueTGHCsignSB=
new TH1F(
"hMassTrueTGHCsignSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts Signal(All momenta)",600,1.600,2.200);
4101 TH1F *hMassTGHCsignSB=
new TH1F(
"hMassTGHCsignSB",
"D^{0} inv. Mass in Side Bands Tight Cuts Signal (All momenta)",600,1.600,2.200);
4102 hMassTGHCsignSB->Sumw2();
4127 TH1F *hdcaTGHCsign=
new TH1F(
"hdcaTGHCsign",
"hdca_TightCuts_Signal",100,0.,1000.);
4128 hdcaTGHCsign->SetXTitle(
"dca [#mum]");
4129 hdcaTGHCsign->SetYTitle(
"Entries");
4130 TH1F *hcosthetastarTGHCsign=
new TH1F(
"hcosthetastarTGHCsign",
"hCosThetaStar_TightCuts_Signal",50,-1.,1.);
4131 hcosthetastarTGHCsign->SetXTitle(
"cos #theta^{*}");
4132 hcosthetastarTGHCsign->SetYTitle(
"Entries");
4133 TH1F *hptD0TGHCsign=
new TH1F(
"hptD0TGHCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4134 hptD0TGHCsign->SetXTitle(
"p_{t} [GeV/c]");
4135 hptD0TGHCsign->SetYTitle(
"Entries");
4136 TH1F *hptD0VsMaxPtTGHCsign=
new TH1F(
"hptD0VsMaxPtTGHCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4137 TH2F *hptD0PTallsqrtTGHCsign=
new TH2F(
"hptD0PTallsqrtTGHCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4138 TH2F *hptD0PTallTGHCsign=
new TH2F(
"hptD0PTallTGHCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4139 TH2F *hptD0vsptBTGHCsign=
new TH2F(
"hptD0vsptBTGHCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4140 TH2F *hpD0vspBTGHCsign=
new TH2F(
"hpD0vspBTGHCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4141 TH2F *hptD0vsptcquarkTGHCsign=
new TH2F(
"hptD0vsptcquarkTGHCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4142 TH2F *hpD0vspcquarkTGHCsign=
new TH2F(
"hpD0vspcquarkTGHCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4154 TH1F *hd0zD0ptTGHCsign;
4155 TH1F *hInvMassD0TGHCsign,*hInvMassD0barTGHCsign;
4156 TH2F *hInvMassPtTGHCsign=
new TH2F(
"hInvMassPtTGHCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4157 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);
4159 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);
4163 THnSparseF *hSparseTGHCsign=
new THnSparseF(
"hSparseTGHCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4164 hSparseTGHCsign->SetBinEdges(0,massbins);
4165 hSparseTGHCsign->SetBinEdges(1,massbins);
4166 hSparseTGHCsign->SetBinEdges(2,ptbinsForNsparse);
4167 hSparseTGHCsign->SetBinEdges(3,impparbins);
4168 hSparseTGHCsign->SetBinEdges(4,massHypoBins);
4171 fTreeTGHCsign =
new TTree(
"fTreeTGHCsign",
"Candidate variables tree");
4173 for(Int_t ivar=0; ivar<
nVar; ivar++){
4180 THnSparseF *hSparseCxyLxyTGHCsign=
new THnSparseF(
"hSparseCxyLxyTGHCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
4181 hSparseCxyLxyTGHCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
4182 hSparseCxyLxyTGHCsign->GetAxis(0)->SetName(
"mass");
4183 hSparseCxyLxyTGHCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
4184 hSparseCxyLxyTGHCsign->GetAxis(1)->SetName(
"pt");
4185 hSparseCxyLxyTGHCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
4186 hSparseCxyLxyTGHCsign->GetAxis(2)->SetName(
"CosPointXY");
4187 hSparseCxyLxyTGHCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
4188 hSparseCxyLxyTGHCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
4189 hSparseCxyLxyTGHCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
4194 TH1F *hCosPDPBTGHCsign;
4195 TH1F *hCosPcPDTGHCsign;
4198 TH2F *hd0D0VSd0xd0TGHCsignpt;
4199 TH2F *hangletracksVSd0xd0TGHCsignpt;
4200 TH2F *hangletracksVSd0D0TGHCsignpt;
4201 TH1F *hd0xd0TGHCsignpt;
4202 TH1F *hPhiHistPMTGHCsignpt,*hPhiHistSBTGHCsignpt;
4204 TH2F *hTOFpidTGHCsign=
new TH2F(
"hTOFpidTGHCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4207 for(Int_t i=0;i<
fnbins;i++){
4209 namehist=
"hPhiHistPMTGHCsign_pt";
4211 titlehist=
"Azimuthal correlation TGH Cuts Sign PM ptbin=";
4213 hPhiHistPMTGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
4214 hPhiHistPMTGHCsignpt->Sumw2();
4217 namehist=
"hPhiHistSBTGHCsign_pt";
4219 titlehist=
"Azimuthal correlation TGH Cuts Sign SB ptbin=";
4221 hPhiHistSBTGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
4222 hPhiHistSBTGHCsignpt->Sumw2();
4225 namehist=
"hd0zD0ptTGHCsign_pt";
4227 titlehist=
"d0(z) Tight Cuts Signal ptbin=";
4229 hd0zD0ptTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4230 hd0zD0ptTGHCsign->SetXTitle(
"d_{0}(z) [#mum]");
4231 hd0zD0ptTGHCsign->SetYTitle(
"Entries");
4234 namehist=
"hInvMassD0TGHCsign_pt";
4236 titlehist=
"Invariant Mass Tight Cuts Signal ptbin=";
4238 hInvMassD0TGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4239 hInvMassD0TGHCsign->SetXTitle(
"Invariant Mass [GeV]");
4240 hInvMassD0TGHCsign->SetYTitle(
"Entries");
4243 namehist=
"hInvMassD0barTGHCsign_pt";
4245 titlehist=
"Invariant Mass D0bar Tight Cuts Signal ptbin=";
4247 hInvMassD0barTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4248 hInvMassD0barTGHCsign->SetXTitle(
"Invariant Mass [GeV]");
4249 hInvMassD0barTGHCsign->SetYTitle(
"Entries");
4253 namehist=
"hetaTGHCsign_pt";
4255 titlehist=
"eta Tight Cuts Signal ptbin=";
4257 hetaTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4258 hetaTGHCsign->SetXTitle(
"Pseudorapidity");
4259 hetaTGHCsign->SetYTitle(
"Entries");
4262 namehist=
"hCosPDPBTGHCsign_pt";
4264 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4266 hCosPDPBTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4267 hCosPDPBTGHCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
4268 hCosPDPBTGHCsign->SetYTitle(
"Entries");
4271 namehist=
"hCosPcPDTGHCsign_pt";
4273 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4275 hCosPcPDTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4276 hCosPcPDTGHCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4277 hCosPcPDTGHCsign->SetYTitle(
"Entries");
4281 namehist=
"hd0xd0TGHCsign_pt";
4283 titlehist=
"d0xd0 Tight Cuts Signal ptbin=";
4285 hd0xd0TGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4286 hd0xd0TGHCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4287 hd0xd0TGHCsignpt->SetYTitle(
"Entries");
4291 namehist=
"hd0D0VSd0xd0TGHCsign_pt";
4293 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Signal ptbin=";
4295 hd0D0VSd0xd0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4296 hd0D0VSd0xd0TGHCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4297 hd0D0VSd0xd0TGHCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4301 namehist=
"hangletracksVSd0xd0TGHCsign_pt";
4303 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Signal ptbin=";
4305 hangletracksVSd0xd0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4306 hangletracksVSd0xd0TGHCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4307 hangletracksVSd0xd0TGHCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
4311 namehist=
"hangletracksVSd0D0TGHCsign_pt";
4313 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Signal ptbin=";
4315 hangletracksVSd0D0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4316 hangletracksVSd0D0TGHCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4317 hangletracksVSd0D0TGHCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
4332 TH1F *hd0D0TGHCsignPM =
new TH1F(
"hd0D0TGHCsignPM",
"D^{0} impact par. plot , Tight Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4333 hd0D0TGHCsignPM->SetXTitle(
"Impact parameter [#mum]");
4334 hd0D0TGHCsignPM->SetYTitle(
"Entries");
4336 TH1F *hd0D0VtxTrueTGHCsignPM =
new TH1F(
"hd0D0VtxTrueTGHCsignPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4337 hd0D0VtxTrueTGHCsignPM->SetXTitle(
"Impact parameter [#mum]");
4338 hd0D0VtxTrueTGHCsignPM->SetYTitle(
"Entries");
4340 TH1F *hMCd0D0TGHCsignPM =
new TH1F(
"hMCd0D0TGHCsignPM",
"D^{0} impact par. plot, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4341 hMCd0D0TGHCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
4342 hMCd0D0TGHCsignPM->SetYTitle(
"Entries");
4344 TH1F *hd0D0TGHCsignSB =
new TH1F(
"hd0D0TGHCsignSB",
"D^{0} impact par. plot , Tight Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4345 hd0D0TGHCsignSB->SetXTitle(
"Impact parameter [#mum]");
4346 hd0D0TGHCsignSB->SetYTitle(
"Entries");
4348 TH1F *hd0D0VtxTrueTGHCsignSB =
new TH1F(
"hd0D0VtxTrueTGHCsignSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4349 hd0D0VtxTrueTGHCsignSB->SetXTitle(
"Impact parameter [#mum]");
4350 hd0D0VtxTrueTGHCsignSB->SetYTitle(
"Entries");
4352 TH1F *hMCd0D0TGHCsignSB =
new TH1F(
"hMCd0D0TGHCsignSB",
"D^{0} impact par. plot, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4353 hMCd0D0TGHCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
4354 hMCd0D0TGHCsignSB->SetYTitle(
"Entries");
4363 TH1F *hd0D0ptTGHCsignPM;
4364 TH1F *hMCd0D0ptTGHCsignPM;
4365 TH1F *hd0D0VtxTrueptTGHCsignPM;
4366 TH1F *hd0D0ptTGHCsignSB;
4367 TH1F *hMCd0D0ptTGHCsignSB;
4368 TH1F *hd0D0VtxTrueptTGHCsignSB;
4369 namehist=
"hd0D0ptTGHCsign_";
4370 titlehist=
"D^{0} impact par. plot, Tight Cuts, Signal, ";
4371 for(Int_t i=0;i<
fnbins;i++){
4373 strnamept.Append(
"PkMss_pt");
4376 strtitlept=titlehist;
4377 strtitlept.Append(
" Mass Peak, ");
4379 strtitlept.Append(
"<= pt <");
4381 strtitlept.Append(
" [GeV/c]");
4383 hd0D0ptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4384 hd0D0ptTGHCsignPM->SetXTitle(
"Impact parameter [#mum] ");
4385 hd0D0ptTGHCsignPM->SetYTitle(
"Entries");
4388 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4389 hMCd0D0ptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4390 hMCd0D0ptTGHCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
4391 hMCd0D0ptTGHCsignPM->SetYTitle(
"Entries");
4395 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4396 hd0D0VtxTrueptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4397 hd0D0VtxTrueptTGHCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4398 hd0D0VtxTrueptTGHCsignPM->SetYTitle(
"Entries");
4402 strnamept.Append(
"SBMss_pt");
4405 strtitlept=titlehist;
4406 strtitlept.Append(
" Side Bands, ");
4408 strtitlept.Append(
"<= pt <");
4410 strtitlept.Append(
" [GeV/c]");
4412 hd0D0ptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4413 hd0D0ptTGHCsignSB->SetXTitle(
"Impact parameter [#mum] ");
4414 hd0D0ptTGHCsignSB->SetYTitle(
"Entries");
4417 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4418 hMCd0D0ptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4419 hMCd0D0ptTGHCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
4420 hMCd0D0ptTGHCsignSB->SetYTitle(
"Entries");
4423 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4424 hd0D0VtxTrueptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4425 hd0D0VtxTrueptTGHCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4426 hd0D0VtxTrueptTGHCsignSB->SetYTitle(
"Entries");
4434 TH2F *hCPtaVSd0d0TGHCback=
new TH2F(
"hCPtaVSd0d0TGHCback",
"hCPtaVSd0d0_TightCuts_Background",1000,-100000.,100000.,100,-1.,1.);
4435 TH1F *hSecVtxZTGHCback=
new TH1F(
"hSecVtxZTGHCback",
"hSecVtxZ_TightCuts_Background",1000,-8.,8.);
4436 TH1F *hSecVtxXTGHCback=
new TH1F(
"hSecVtxXTGHCback",
"hSecVtxX_TightCuts_Background",1000,-3000.,3000.);
4437 TH1F *hSecVtxYTGHCback=
new TH1F(
"hSecVtxYTGHCback",
"hSecVtxY_TightCuts_Background",1000,-3000.,3000.);
4438 TH2F *hSecVtxXYTGHCback=
new TH2F(
"hSecVtxXYTGHCback",
"hSecVtxXY_TightCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
4439 TH1F *hSecVtxPhiTGHCback=
new TH1F(
"hSecVtxPhiTGHCback",
"hSecVtxPhi_TightCuts_Background",180,-180.1,180.1);
4440 TH1F *hd0singlTrackTGHCback=
new TH1F(
"hd0singlTrackTGHCback",
"hd0singlTrackTightCuts_Back",1000,-5000.,5000.);
4441 TH1F *hCPtaTGHCback=
new TH1F(
"hCPtaTGHCback",
"hCPta_TightCuts_Background",100,-1.,1.);
4442 TH1F *hd0xd0TGHCback=
new TH1F(
"hd0xd0TGHCback",
"hd0xd0_TightCuts_Background",1000,-100000.,100000.);
4443 TH1F *hMassTrueTGHCback=
new TH1F(
"hMassTrueTGHCback",
"D^{0} MC inv. Mass Tight Cuts Background(All momenta)",600,1.600,2.200);
4444 TH1F *hMassTGHCback=
new TH1F(
"hMassTGHCback",
"D^{0} inv. Mass Tight Cuts Background (All momenta)",600,1.600,2.200);
4445 hMassTGHCback->Sumw2();
4446 TH1F *hMassTrueTGHCbackPM=
new TH1F(
"hMassTrueTGHCbackPM",
"D^{0} MC inv. Mass Tight Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
4447 TH1F *hMassTGHCbackPM=
new TH1F(
"hMassTGHCbackPM",
"D^{0} inv. Mass Tight Cuts Background (All momenta), MassPeak",600,1.600,2.200);
4448 hMassTGHCbackPM->Sumw2();
4449 TH1F *hMassTrueTGHCbackSB=
new TH1F(
"hMassTrueTGHCbackSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts Backgrround(All momenta)",600,1.600,2.200);
4450 TH1F *hMassTGHCbackSB=
new TH1F(
"hMassTGHCbackSB",
"D^{0} inv. Mass in Side Bands Tight Cuts Background (All momenta)",600,1.600,2.200);
4451 hMassTGHCbackSB->Sumw2();
4476 TH1F *hdcaTGHCback=
new TH1F(
"hdcaTGHCback",
"hdca_TightCuts_Backgr",100,0.,1000.);
4477 hdcaTGHCback->SetXTitle(
"dca [#mum]");
4478 hdcaTGHCback->SetYTitle(
"Entries");
4479 TH1F *hcosthetastarTGHCback=
new TH1F(
"hcosthetastarTGHCback",
"hCosThetaStar_TightCuts_Backgr",50,-1.,1.);
4480 hcosthetastarTGHCback->SetXTitle(
"cos #theta^{*}");
4481 hcosthetastarTGHCback->SetYTitle(
"Entries");
4482 TH1F *hptD0TGHCback=
new TH1F(
"hptD0TGHCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4483 hptD0TGHCback->SetXTitle(
"p_{t} [GeV/c]");
4484 hptD0TGHCback->SetYTitle(
"Entries");
4485 TH1F *hptD0VsMaxPtTGHCback=
new TH1F(
"hptD0VsMaxPtTGHCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4486 TH2F *hptD0PTallsqrtTGHCback=
new TH2F(
"hptD0PTallsqrtTGHCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4487 TH2F *hptD0PTallTGHCback=
new TH2F(
"hptD0PTallTGHCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4488 TH2F *hptD0vsptBTGHCback=
new TH2F(
"hptD0vsptBTGHCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4489 TH2F *hpD0vspBTGHCback=
new TH2F(
"hpD0vspBTGHCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4490 TH2F *hptD0vsptcquarkTGHCback=
new TH2F(
"hptD0vsptcquarkTGHCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4491 TH2F *hpD0vspcquarkTGHCback=
new TH2F(
"hpD0vspcquarkTGHCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4503 TH1F *hd0zD0ptTGHCback;
4504 TH1F *hInvMassD0TGHCback,*hInvMassD0barTGHCback;
4505 TH2F *hInvMassPtTGHCback=
new TH2F(
"hInvMassPtTGHCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4506 THnSparseF *hSparseTGHCback=
new THnSparseF(
"hSparseTGHCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4507 hSparseTGHCback->SetBinEdges(0,massbins);
4508 hSparseTGHCback->SetBinEdges(1,massbins);
4509 hSparseTGHCback->SetBinEdges(2,ptbinsForNsparse);
4510 hSparseTGHCback->SetBinEdges(3,impparbins);
4511 hSparseTGHCback->SetBinEdges(4,massHypoBins);
4515 fTreeTGHCback =
new TTree(
"fTreeTGHCback",
"Candidate variables tree");
4517 for(Int_t ivar=0; ivar<
nVar; ivar++){
4524 TH1F *hCosPDPBTGHCback;
4525 TH1F *hCosPcPDTGHCback;
4528 TH2F *hd0D0VSd0xd0TGHCbackpt;
4529 TH2F *hangletracksVSd0xd0TGHCbackpt;
4530 TH2F *hangletracksVSd0D0TGHCbackpt;
4531 TH1F *hd0xd0TGHCbackpt;
4533 TH2F *hTOFpidTGHCback=
new TH2F(
"hTOFpidTGHCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4537 for(Int_t i=0;i<
fnbins;i++){
4538 namehist=
"hd0zD0ptTGHCback_pt";
4540 titlehist=
"d0(z) Tight Cuts Backgrm ptbin=";
4542 hd0zD0ptTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4543 hd0zD0ptTGHCback->SetXTitle(
"d_{0}(z) [#mum]");
4544 hd0zD0ptTGHCback->SetYTitle(
"Entries");
4547 namehist=
"hInvMassD0TGHCback_pt";
4549 titlehist=
"Invariant Mass Tight Cuts Backgr ptbin=";
4551 hInvMassD0TGHCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4552 hInvMassD0TGHCback->SetXTitle(
"Invariant Mass [GeV]");
4553 hInvMassD0TGHCback->SetYTitle(
"Entries");
4556 namehist=
"hInvMassD0barTGHCback_pt";
4558 titlehist=
"Invariant Mass D0bar Tight Cuts Back ptbin=";
4560 hInvMassD0barTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4561 hInvMassD0barTGHCback->SetXTitle(
"Invariant Mass [GeV]");
4562 hInvMassD0barTGHCback->SetYTitle(
"Entries");
4565 namehist=
"hetaTGHCback_pt";
4567 titlehist=
"eta Tight Cuts Backgr ptbin=";
4569 hetaTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4570 hetaTGHCback->SetXTitle(
"Pseudorapidity");
4571 hetaTGHCback->SetYTitle(
"Entries");
4574 namehist=
"hCosPDPBTGHCback_pt";
4576 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4578 hCosPDPBTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4579 hCosPDPBTGHCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
4580 hCosPDPBTGHCback->SetYTitle(
"Entries");
4583 namehist=
"hCosPcPDTGHCback_pt";
4585 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4587 hCosPcPDTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4588 hCosPcPDTGHCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4589 hCosPcPDTGHCback->SetYTitle(
"Entries");
4593 namehist=
"hd0xd0TGHCback_pt";
4595 titlehist=
"d0xd0 Tight Cuts Back ptbin=";
4597 hd0xd0TGHCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4598 hd0xd0TGHCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4599 hd0xd0TGHCbackpt->SetYTitle(
"Entries");
4603 namehist=
"hd0D0VSd0xd0TGHCback_pt";
4605 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Back ptbin=";
4607 hd0D0VSd0xd0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4608 hd0D0VSd0xd0TGHCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4609 hd0D0VSd0xd0TGHCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4613 namehist=
"hangletracksVSd0xd0TGHCback_pt";
4615 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Back ptbin=";
4617 hangletracksVSd0xd0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4618 hangletracksVSd0xd0TGHCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4619 hangletracksVSd0xd0TGHCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
4623 namehist=
"hangletracksVSd0D0TGHCback_pt";
4625 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Back ptbin=";
4627 hangletracksVSd0D0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4628 hangletracksVSd0D0TGHCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4629 hangletracksVSd0D0TGHCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
4642 TH1F *hd0D0TGHCbackPM =
new TH1F(
"hd0D0TGHCbackPM",
"D^{0} impact par. plot , Tight Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4643 hd0D0TGHCbackPM->SetXTitle(
"Impact parameter [#mum]");
4644 hd0D0TGHCbackPM->SetYTitle(
"Entries");
4646 TH1F *hd0D0VtxTrueTGHCbackPM =
new TH1F(
"hd0D0VtxTrueTGHCbackPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4647 hd0D0VtxTrueTGHCbackPM->SetXTitle(
"Impact parameter [#mum]");
4648 hd0D0VtxTrueTGHCbackPM->SetYTitle(
"Entries");
4650 TH1F *hMCd0D0TGHCbackPM =
new TH1F(
"hMCd0D0TGHCbackPM",
"D^{0} impact par. plot, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4651 hMCd0D0TGHCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
4652 hMCd0D0TGHCbackPM->SetYTitle(
"Entries");
4654 TH1F *hd0D0TGHCbackSB =
new TH1F(
"hd0D0TGHCbackSB",
"D^{0} impact par. plot , Tight Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4655 hd0D0TGHCbackSB->SetXTitle(
"Impact parameter [#mum]");
4656 hd0D0TGHCbackSB->SetYTitle(
"Entries");
4658 TH1F *hd0D0VtxTrueTGHCbackSB =
new TH1F(
"hd0D0VtxTrueTGHCbackSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4659 hd0D0VtxTrueTGHCbackSB->SetXTitle(
"Impact parameter [#mum]");
4660 hd0D0VtxTrueTGHCbackSB->SetYTitle(
"Entries");
4662 TH1F *hMCd0D0TGHCbackSB =
new TH1F(
"hMCd0D0TGHCbackSB",
"D^{0} impact par. plot, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4663 hMCd0D0TGHCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
4664 hMCd0D0TGHCbackSB->SetYTitle(
"Entries");
4673 TH1F *hd0D0ptTGHCbackPM;
4674 TH1F *hMCd0D0ptTGHCbackPM;
4675 TH1F *hd0D0VtxTrueptTGHCbackPM;
4676 TH1F *hd0D0ptTGHCbackSB;
4677 TH1F *hMCd0D0ptTGHCbackSB;
4678 TH1F *hd0D0VtxTrueptTGHCbackSB;
4679 namehist=
"hd0D0ptTGHCback_";
4680 titlehist=
"D^{0} impact par. plot, Tight Cuts, Background, ";
4681 for(Int_t i=0;i<
fnbins;i++){
4683 strnamept.Append(
"PkMss_pt");
4686 strtitlept=titlehist;
4687 strtitlept.Append(
" Mass Peak, ");
4689 strtitlept.Append(
"<= pt <");
4691 strtitlept.Append(
" [GeV/c]");
4693 hd0D0ptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4694 hd0D0ptTGHCbackPM->SetXTitle(
"Impact parameter [#mum] ");
4695 hd0D0ptTGHCbackPM->SetYTitle(
"Entries");
4698 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4699 hMCd0D0ptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4700 hMCd0D0ptTGHCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
4701 hMCd0D0ptTGHCbackPM->SetYTitle(
"Entries");
4705 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4706 hd0D0VtxTrueptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4707 hd0D0VtxTrueptTGHCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4708 hd0D0VtxTrueptTGHCbackPM->SetYTitle(
"Entries");
4712 strnamept.Append(
"SBMss_pt");
4715 strtitlept=titlehist;
4716 strtitlept.Append(
" Side Bands, ");
4718 strtitlept.Append(
"<= pt <");
4720 strtitlept.Append(
" [GeV/c]");
4722 hd0D0ptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4723 hd0D0ptTGHCbackSB->SetXTitle(
"Impact parameter [#mum] ");
4724 hd0D0ptTGHCbackSB->SetYTitle(
"Entries");
4727 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4728 hMCd0D0ptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4729 hMCd0D0ptTGHCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
4730 hMCd0D0ptTGHCbackSB->SetYTitle(
"Entries");
4733 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4734 hd0D0VtxTrueptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4735 hd0D0VtxTrueptTGHCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4736 hd0D0VtxTrueptTGHCbackSB->SetYTitle(
"Entries");
4746 TH2F *hCPtaVSd0d0TGHCfromB=
new TH2F(
"hCPtaVSd0d0TGHCfromB",
"hCPtaVSd0d0_TightCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
4747 TH1F *hSecVtxZTGHCfromB=
new TH1F(
"hSecVtxZTGHCfromB",
"hSecVtxZ_TightCuts_FromB",1000,-8.,8.);
4748 TH1F *hSecVtxXTGHCfromB=
new TH1F(
"hSecVtxXTGHCfromB",
"hSecVtxX_TightCuts_FromB",1000,-3000.,3000.);
4749 TH1F *hSecVtxYTGHCfromB=
new TH1F(
"hSecVtxYTGHCfromB",
"hSecVtxY_TightCuts_FromB",1000,-3000.,3000.);
4750 TH2F *hSecVtxXYTGHCfromB=
new TH2F(
"hSecVtxXYTGHCfromB",
"hSecVtxXY_TightCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
4751 TH1F *hSecVtxPhiTGHCfromB=
new TH1F(
"hSecVtxPhiTGHCfromB",
"hSecVtxPhi_TightCuts_FromB",180,-180.1,180.1);
4752 TH1F *hd0singlTrackTGHCfromB=
new TH1F(
"hd0singlTrackTGHCfromB",
"hd0singlTrackTightCuts_FromB",1000,-5000.,5000.);
4753 TH1F *hCPtaTGHCfromB=
new TH1F(
"hCPtaTGHCfromB",
"hCPta_TightCuts_FromB",100,-1.,1.);
4754 TH1F *hd0xd0TGHCfromB=
new TH1F(
"hd0xd0TGHCfromB",
"hd0xd0_TightCuts_FromB",1000,-100000.,100000.);
4755 TH1F *hMassTrueTGHCfromB=
new TH1F(
"hMassTrueTGHCfromB",
"D^{0} MC inv. Mass Tight Cuts FromB(All momenta)",600,1.600,2.200);
4756 TH1F *hMassTGHCfromB=
new TH1F(
"hMassTGHCfromB",
"D^{0} inv. Mass Tight Cuts FromB (All momenta)",600,1.600,2.200);
4757 hMassTGHCfromB->Sumw2();
4758 TH1F *hMassTrueTGHCfromBPM=
new TH1F(
"hMassTrueTGHCfromBPM",
"D^{0} MC inv. Mass Tight Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
4759 TH1F *hMassTGHCfromBPM=
new TH1F(
"hMassTGHCfromBPM",
"D^{0} inv. Mass Tight Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
4760 hMassTGHCfromBPM->Sumw2();
4761 TH1F *hMassTrueTGHCfromBSB=
new TH1F(
"hMassTrueTGHCfromBSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts FromB(All momenta)",600,1.600,2.200);
4762 TH1F *hMassTGHCfromBSB=
new TH1F(
"hMassTGHCfromBSB",
"D^{0} inv. Mass in Side Bands Tight Cuts FromB (All momenta)",600,1.600,2.200);
4763 hMassTGHCfromBSB->Sumw2();
4784 TH1F *hdcaTGHCfromB=
new TH1F(
"hdcaTGHCfromB",
"hdca_TightCuts_FromB",100,0.,1000.);
4785 hdcaTGHCfromB->SetXTitle(
"dca [#mum]");
4786 hdcaTGHCfromB->SetYTitle(
"Entries");
4787 TH1F *hcosthetastarTGHCfromB=
new TH1F(
"hcosthetastarTGHCfromB",
"hCosThetaStar_TightCuts_FromB",50,-1.,1.);
4788 hcosthetastarTGHCfromB->SetXTitle(
"cos #theta^{*}");
4789 hcosthetastarTGHCfromB->SetYTitle(
"Entries");
4790 TH1F *hptD0TGHCfromB=
new TH1F(
"hptD0TGHCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4791 hptD0TGHCfromB->SetXTitle(
"p_{t} [GeV/c]");
4792 hptD0TGHCfromB->SetYTitle(
"Entries");
4793 TH1F *hptD0VsMaxPtTGHCfromB=
new TH1F(
"hptD0VsMaxPtTGHCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4794 TH2F *hptD0PTallsqrtTGHCfromB=
new TH2F(
"hptD0PTallsqrtTGHCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4795 TH2F *hptD0PTallTGHCfromB=
new TH2F(
"hptD0PTallTGHCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4796 TH2F *hptD0vsptBTGHCfromB=
new TH2F(
"hptD0vsptBTGHCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4797 TH2F *hpD0vspBTGHCfromB=
new TH2F(
"hpD0vspBTGHCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4798 TH2F *hptD0vsptcquarkTGHCfromB=
new TH2F(
"hptD0vsptcquarkTGHCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4799 TH2F *hpD0vspcquarkTGHCfromB=
new TH2F(
"hpD0vspcquarkTGHCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4811 TH1F *hd0zD0ptTGHCfromB;
4812 TH1F *hInvMassD0TGHCfromB,*hInvMassD0barTGHCfromB;
4813 TH2F *hInvMassPtTGHCfromB=
new TH2F(
"hInvMassPtTGHCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4814 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);
4816 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);
4820 THnSparseF *hSparseTGHCfromB=
new THnSparseF(
"hSparseTGHCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4821 hSparseTGHCfromB->SetBinEdges(0,massbins);
4822 hSparseTGHCfromB->SetBinEdges(1,massbins);
4823 hSparseTGHCfromB->SetBinEdges(2,ptbinsForNsparse);
4824 hSparseTGHCfromB->SetBinEdges(3,impparbins);
4825 hSparseTGHCfromB->SetBinEdges(4,massHypoBins);
4829 fTreeTGHCfromB =
new TTree(
"fTreeTGHCfromB",
"Candidate variables tree");
4831 for(Int_t ivar=0; ivar<
nVar; ivar++){
4837 THnSparseF *hSparseRecoTGHCfromB=
new THnSparseF(
"hSparseRecoTGHCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4838 hSparseRecoTGHCfromB->SetBinEdges(0,massbins);
4839 hSparseRecoTGHCfromB->SetBinEdges(1,massbins);
4840 hSparseRecoTGHCfromB->SetBinEdges(2,ptbinsForNsparse);
4841 hSparseRecoTGHCfromB->SetBinEdges(3,impparbins);
4842 hSparseRecoTGHCfromB->SetBinEdges(4,massHypoBins);
4847 for(Int_t ivar=0; ivar<
nVar; ivar++){
4852 TH1F *hetaTGHCfromB;
4853 TH1F *hCosPDPBTGHCfromB;
4854 TH1F *hCosPcPDTGHCfromB;
4857 TH2F *hd0D0VSd0xd0TGHCfromBpt;
4858 TH2F *hangletracksVSd0xd0TGHCfromBpt;
4859 TH2F *hangletracksVSd0D0TGHCfromBpt;
4860 TH1F *hd0xd0TGHCfromBpt;
4862 TH2F *hTOFpidTGHCfromB=
new TH2F(
"hTOFpidTGHCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4866 for(Int_t i=0;i<
fnbins;i++){
4867 namehist=
"hd0zD0ptTGHCfromB_pt";
4869 titlehist=
"d0(z) Tight Cuts FromBm ptbin=";
4871 hd0zD0ptTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4872 hd0zD0ptTGHCfromB->SetXTitle(
"d_{0}(z) [#mum]");
4873 hd0zD0ptTGHCfromB->SetYTitle(
"Entries");
4876 namehist=
"hInvMassD0TGHCfromB_pt";
4878 titlehist=
"Invariant Mass Tight Cuts FromB ptbin=";
4880 hInvMassD0TGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4881 hInvMassD0TGHCfromB->SetXTitle(
"Invariant Mass [GeV]");
4882 hInvMassD0TGHCfromB->SetYTitle(
"Entries");
4885 namehist=
"hInvMassD0barTGHCfromB_pt";
4887 titlehist=
"Invariant Mass D0bar Tight Cuts FromB ptbin=";
4889 hInvMassD0barTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4890 hInvMassD0barTGHCfromB->SetXTitle(
"Invariant Mass [GeV]");
4891 hInvMassD0barTGHCfromB->SetYTitle(
"Entries");
4894 namehist=
"hetaTGHCfromB_pt";
4896 titlehist=
"eta Tight Cuts FromB ptbin=";
4898 hetaTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4899 hetaTGHCfromB->SetXTitle(
"Pseudorapidity");
4900 hetaTGHCfromB->SetYTitle(
"Entries");
4903 namehist=
"hCosPDPBTGHCfromB_pt";
4905 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4907 hCosPDPBTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4908 hCosPDPBTGHCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
4909 hCosPDPBTGHCfromB->SetYTitle(
"Entries");
4912 namehist=
"hCosPcPDTGHCfromB_pt";
4914 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4916 hCosPcPDTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4917 hCosPcPDTGHCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4918 hCosPcPDTGHCfromB->SetYTitle(
"Entries");
4922 namehist=
"hd0xd0TGHCfromB_pt";
4924 titlehist=
"d0xd0 Tight Cuts FromB ptbin=";
4926 hd0xd0TGHCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4927 hd0xd0TGHCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4928 hd0xd0TGHCfromBpt->SetYTitle(
"Entries");
4932 namehist=
"hd0D0VSd0xd0TGHCfromB_pt";
4934 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromB ptbin=";
4936 hd0D0VSd0xd0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4937 hd0D0VSd0xd0TGHCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4938 hd0D0VSd0xd0TGHCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4942 namehist=
"hangletracksVSd0xd0TGHCfromB_pt";
4944 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromB ptbin=";
4946 hangletracksVSd0xd0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4947 hangletracksVSd0xd0TGHCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4948 hangletracksVSd0xd0TGHCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
4952 namehist=
"hangletracksVSd0D0TGHCfromB_pt";
4954 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts FromB ptbin=";
4956 hangletracksVSd0D0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4957 hangletracksVSd0D0TGHCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4958 hangletracksVSd0D0TGHCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
4970 TH1F *hd0D0TGHCfromBPM =
new TH1F(
"hd0D0TGHCfromBPM",
"D^{0} impact par. plot , Tight Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4971 hd0D0TGHCfromBPM->SetXTitle(
"Impact parameter [#mum]");
4972 hd0D0TGHCfromBPM->SetYTitle(
"Entries");
4974 TH1F *hd0D0VtxTrueTGHCfromBPM =
new TH1F(
"hd0D0VtxTrueTGHCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4975 hd0D0VtxTrueTGHCfromBPM->SetXTitle(
"Impact parameter [#mum]");
4976 hd0D0VtxTrueTGHCfromBPM->SetYTitle(
"Entries");
4978 TH1F *hMCd0D0TGHCfromBPM =
new TH1F(
"hMCd0D0TGHCfromBPM",
"D^{0} impact par. plot, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4979 hMCd0D0TGHCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
4980 hMCd0D0TGHCfromBPM->SetYTitle(
"Entries");
4982 TH1F *hd0D0TGHCfromBSB =
new TH1F(
"hd0D0TGHCfromBSB",
"D^{0} impact par. plot , Tight Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4983 hd0D0TGHCfromBSB->SetXTitle(
"Impact parameter [#mum]");
4984 hd0D0TGHCfromBSB->SetYTitle(
"Entries");
4986 TH1F *hd0D0VtxTrueTGHCfromBSB =
new TH1F(
"hd0D0VtxTrueTGHCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4987 hd0D0VtxTrueTGHCfromBSB->SetXTitle(
"Impact parameter [#mum]");
4988 hd0D0VtxTrueTGHCfromBSB->SetYTitle(
"Entries");
4990 TH1F *hMCd0D0TGHCfromBSB =
new TH1F(
"hMCd0D0TGHCfromBSB",
"D^{0} impact par. plot, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4991 hMCd0D0TGHCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
4992 hMCd0D0TGHCfromBSB->SetYTitle(
"Entries");
5001 TH1F *hd0D0ptTGHCfromBPM;
5002 TH1F *hMCd0D0ptTGHCfromBPM;
5003 TH1F *hd0D0VtxTrueptTGHCfromBPM;
5004 TH1F *hd0D0ptTGHCfromBSB;
5005 TH1F *hMCd0D0ptTGHCfromBSB;
5006 TH1F *hd0D0VtxTrueptTGHCfromBSB;
5007 namehist=
"hd0D0ptTGHCfromB_";
5008 titlehist=
"D^{0} impact par. plot, Tight Cuts, FromB, ";
5009 for(Int_t i=0;i<
fnbins;i++){
5011 strnamept.Append(
"PkMss_pt");
5014 strtitlept=titlehist;
5015 strtitlept.Append(
" Mass Peak, ");
5017 strtitlept.Append(
"<= pt <");
5019 strtitlept.Append(
" [GeV/c]");
5021 hd0D0ptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5022 hd0D0ptTGHCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
5023 hd0D0ptTGHCfromBPM->SetYTitle(
"Entries");
5026 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5027 hMCd0D0ptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5028 hMCd0D0ptTGHCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
5029 hMCd0D0ptTGHCfromBPM->SetYTitle(
"Entries");
5033 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5034 hd0D0VtxTrueptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5035 hd0D0VtxTrueptTGHCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5036 hd0D0VtxTrueptTGHCfromBPM->SetYTitle(
"Entries");
5040 strnamept.Append(
"SBMss_pt");
5043 strtitlept=titlehist;
5044 strtitlept.Append(
" Side Bands, ");
5046 strtitlept.Append(
"<= pt <");
5048 strtitlept.Append(
" [GeV/c]");
5050 hd0D0ptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5051 hd0D0ptTGHCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
5052 hd0D0ptTGHCfromBSB->SetYTitle(
"Entries");
5055 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5056 hMCd0D0ptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5057 hMCd0D0ptTGHCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
5058 hMCd0D0ptTGHCfromBSB->SetYTitle(
"Entries");
5061 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5062 hd0D0VtxTrueptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5063 hd0D0VtxTrueptTGHCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5064 hd0D0VtxTrueptTGHCfromBSB->SetYTitle(
"Entries");
5073 TH2F *hCPtaVSd0d0TGHCfromDstar=
new TH2F(
"hCPtaVSd0d0TGHCfromDstar",
"hCPtaVSd0d0_TightCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
5074 TH1F *hSecVtxZTGHCfromDstar=
new TH1F(
"hSecVtxZTGHCfromDstar",
"hSecVtxZ_TightCuts_FromDStar",1000,-8.,8.);
5075 TH1F *hSecVtxXTGHCfromDstar=
new TH1F(
"hSecVtxXTGHCfromDstar",
"hSecVtxX_TightCuts_FromDStar",1000,-3000.,3000.);
5076 TH1F *hSecVtxYTGHCfromDstar=
new TH1F(
"hSecVtxYTGHCfromDstar",
"hSecVtxY_TightCuts_FromDStar",1000,-3000.,3000.);
5077 TH2F *hSecVtxXYTGHCfromDstar=
new TH2F(
"hSecVtxXYTGHCfromDstar",
"hSecVtxXY_TightCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
5078 TH1F *hSecVtxPhiTGHCfromDstar=
new TH1F(
"hSecVtxPhiTGHCfromDstar",
"hSecVtxPhi_TightCuts_FromDStar",180,-180.1,180.1);
5079 TH1F *hd0singlTrackTGHCfromDstar=
new TH1F(
"hd0singlTrackTGHCfromDstar",
"hd0singlTrackTightCuts_FromDstar",1000,-5000.,5000.);
5080 TH1F *hCPtaTGHCfromDstar=
new TH1F(
"hCPtaTGHCfromDstar",
"hCPta_TightCuts_FromDStar",100,-1.,1.);
5081 TH1F *hd0xd0TGHCfromDstar=
new TH1F(
"hd0xd0TGHCfromDstar",
"hd0xd0_TightCuts_FromDStar",1000,-100000.,100000.);
5082 TH1F *hMassTrueTGHCfromDstar=
new TH1F(
"hMassTrueTGHCfromDstar",
"D^{0} MC inv. Mass Tight Cuts FromDStar(All momenta)",600,1.600,2.200);
5083 TH1F *hMassTGHCfromDstar=
new TH1F(
"hMassTGHCfromDstar",
"D^{0} inv. Mass Tight Cuts FromDStar (All momenta)",600,1.600,2.200);
5084 hMassTGHCfromDstar->Sumw2();
5085 TH1F *hMassTrueTGHCfromDstarPM=
new TH1F(
"hMassTrueTGHCfromDstarPM",
"D^{0} MC inv. Mass Tight Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
5086 TH1F *hMassTGHCfromDstarPM=
new TH1F(
"hMassTGHCfromDstarPM",
"D^{0} inv. Mass Tight Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
5087 hMassTGHCfromDstarPM->Sumw2();
5088 TH1F *hMassTrueTGHCfromDstarSB=
new TH1F(
"hMassTrueTGHCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts FromDStar(All momenta)",600,1.600,2.200);
5089 TH1F *hMassTGHCfromDstarSB=
new TH1F(
"hMassTGHCfromDstarSB",
"D^{0} inv. Mass in Side Bands Tight Cuts FromDStar (All momenta)",600,1.600,2.200);
5090 hMassTGHCfromDstarSB->Sumw2();
5113 TH1F *hdcaTGHCfromDstar=
new TH1F(
"hdcaTGHCfromDstar",
"hdca_TightCuts_FromDstar",100,0.,1000.);
5114 hdcaTGHCfromDstar->SetXTitle(
"dca [#mum]");
5115 hdcaTGHCfromDstar->SetYTitle(
"Entries");
5116 TH1F *hcosthetastarTGHCfromDstar=
new TH1F(
"hcosthetastarTGHCfromDstar",
"hCosThetaStar_TightCuts_FromDstar",50,-1.,1.);
5117 hcosthetastarTGHCfromDstar->SetXTitle(
"cos #theta^{*}");
5118 hcosthetastarTGHCfromDstar->SetYTitle(
"Entries");
5119 TH1F *hptD0TGHCfromDstar=
new TH1F(
"hptD0TGHCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
5120 hptD0TGHCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
5121 hptD0TGHCfromDstar->SetYTitle(
"Entries");
5122 TH1F *hptD0VsMaxPtTGHCfromDstar=
new TH1F(
"hptD0VsMaxPtTGHCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
5123 TH2F *hptD0PTallsqrtTGHCfromDstar=
new TH2F(
"hptD0PTallsqrtTGHCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
5124 TH2F *hptD0PTallTGHCfromDstar=
new TH2F(
"hptD0PTallTGHCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
5125 TH2F *hptD0vsptBTGHCfromDstar=
new TH2F(
"hptD0vsptBTGHCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5126 TH2F *hpD0vspBTGHCfromDstar=
new TH2F(
"hpD0vspBTGHCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5127 TH2F *hptD0vsptcquarkTGHCfromDstar=
new TH2F(
"hptD0vsptcquarkTGHCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5128 TH2F *hpD0vspcquarkTGHCfromDstar=
new TH2F(
"hpD0vspcquarkTGHCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5140 TH1F *hd0zD0ptTGHCfromDstar;
5141 TH1F *hInvMassD0TGHCfromDstar,*hInvMassD0barTGHCfromDstar;
5142 TH1F *hetaTGHCfromDstar;
5143 TH2F *hInvMassPtTGHCfromDstar=
new TH2F(
"hInvMassPtTGHCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
5145 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);
5147 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);
5150 THnSparseF *hSparseTGHCfromDstar=
new THnSparseF(
"hSparseTGHCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
5151 hSparseTGHCfromDstar->SetBinEdges(0,massbins);
5152 hSparseTGHCfromDstar->SetBinEdges(1,massbins);
5153 hSparseTGHCfromDstar->SetBinEdges(2,ptbinsForNsparse);
5154 hSparseTGHCfromDstar->SetBinEdges(3,impparbins);
5155 hSparseTGHCfromDstar->SetBinEdges(4,massHypoBins);
5160 for(Int_t ivar=0; ivar<
nVar; ivar++){
5165 TH1F *hCosPDPBTGHCfromDstar;
5166 TH1F *hCosPcPDTGHCfromDstar;
5169 TH2F *hd0D0VSd0xd0TGHCfromDstarpt;
5170 TH2F *hangletracksVSd0xd0TGHCfromDstarpt;
5171 TH2F *hangletracksVSd0D0TGHCfromDstarpt;
5172 TH1F *hd0xd0TGHCfromDstarpt;
5174 TH2F *hTOFpidTGHCfromDstar=
new TH2F(
"hTOFpidTGHCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
5177 for(Int_t i=0;i<
fnbins;i++){
5178 namehist=
"hd0zD0ptTGHCfromDstar_pt";
5180 titlehist=
"d0(z) Tight Cuts FromDstarm ptbin=";
5182 hd0zD0ptTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
5183 hd0zD0ptTGHCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
5184 hd0zD0ptTGHCfromDstar->SetYTitle(
"Entries");
5187 namehist=
"hInvMassD0TGHCfromDstar_pt";
5189 titlehist=
"Invariant Mass Tight Cuts FromDstar ptbin=";
5191 hInvMassD0TGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5192 hInvMassD0TGHCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
5193 hInvMassD0TGHCfromDstar->SetYTitle(
"Entries");
5196 namehist=
"hInvMassD0barTGHCfromDstar_pt";
5198 titlehist=
"Invariant Mass D0bar Tight Cuts FromDstar ptbin=";
5200 hInvMassD0barTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5201 hInvMassD0barTGHCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
5202 hInvMassD0barTGHCfromDstar->SetYTitle(
"Entries");
5205 namehist=
"hetaTGHCfromDstar_pt";
5207 titlehist=
"eta Tight Cuts FromDstar ptbin=";
5209 hetaTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
5210 hetaTGHCfromDstar->SetXTitle(
"Pseudorapidity");
5211 hetaTGHCfromDstar->SetYTitle(
"Entries");
5214 namehist=
"hCosPDPBTGHCfromDstar_pt";
5216 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
5218 hCosPDPBTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5219 hCosPDPBTGHCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
5220 hCosPDPBTGHCfromDstar->SetYTitle(
"Entries");
5223 namehist=
"hCosPcPDTGHCfromDstar_pt";
5225 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
5227 hCosPcPDTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5228 hCosPcPDTGHCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
5229 hCosPcPDTGHCfromDstar->SetYTitle(
"Entries");
5233 namehist=
"hd0xd0TGHCfromDstar_pt";
5235 titlehist=
"d0xd0 Tight Cuts FromDstar ptbin=";
5237 hd0xd0TGHCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
5238 hd0xd0TGHCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
5239 hd0xd0TGHCfromDstarpt->SetYTitle(
"Entries");
5243 namehist=
"hd0D0VSd0xd0TGHCfromDstar_pt";
5245 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromDstar ptbin=";
5247 hd0D0VSd0xd0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
5248 hd0D0VSd0xd0TGHCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5249 hd0D0VSd0xd0TGHCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
5253 namehist=
"hangletracksVSd0xd0TGHCfromDstar_pt";
5255 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromDstar ptbin=";
5257 hangletracksVSd0xd0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
5258 hangletracksVSd0xd0TGHCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5259 hangletracksVSd0xd0TGHCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
5263 namehist=
"hangletracksVSd0D0TGHCfromDstar_pt";
5265 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts FromDstar ptbin=";
5267 hangletracksVSd0D0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
5268 hangletracksVSd0D0TGHCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
5269 hangletracksVSd0D0TGHCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
5279 TH1F *hd0D0TGHCfromDstPM =
new TH1F(
"hd0D0TGHCfromDstarPM",
"D^{0} impact par. plot , Tight Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5280 hd0D0TGHCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
5281 hd0D0TGHCfromDstPM->SetYTitle(
"Entries");
5283 TH1F *hd0D0VtxTrueTGHCfromDstPM =
new TH1F(
"hd0D0VtxTrueTGHCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5284 hd0D0VtxTrueTGHCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
5285 hd0D0VtxTrueTGHCfromDstPM->SetYTitle(
"Entries");
5287 TH1F *hMCd0D0TGHCfromDstPM =
new TH1F(
"hMCd0D0TGHCfromDstarPM",
"D^{0} impact par. plot, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5288 hMCd0D0TGHCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
5289 hMCd0D0TGHCfromDstPM->SetYTitle(
"Entries");
5291 TH1F *hd0D0TGHCfromDstSB =
new TH1F(
"hd0D0TGHCfromDstarSB",
"D^{0} impact par. plot , Tight Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5292 hd0D0TGHCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
5293 hd0D0TGHCfromDstSB->SetYTitle(
"Entries");
5295 TH1F *hd0D0VtxTrueTGHCfromDstSB =
new TH1F(
"hd0D0VtxTrueTGHCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5296 hd0D0VtxTrueTGHCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
5297 hd0D0VtxTrueTGHCfromDstSB->SetYTitle(
"Entries");
5299 TH1F *hMCd0D0TGHCfromDstSB =
new TH1F(
"hMCd0D0TGHCfromDstarSB",
"D^{0} impact par. plot, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5300 hMCd0D0TGHCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
5301 hMCd0D0TGHCfromDstSB->SetYTitle(
"Entries");
5310 TH1F *hd0D0ptTGHCfromDstPM;
5311 TH1F *hMCd0D0ptTGHCfromDstPM;
5312 TH1F *hd0D0VtxTrueptTGHCfromDstPM;
5313 TH1F *hd0D0ptTGHCfromDstSB;
5314 TH1F *hMCd0D0ptTGHCfromDstSB;
5315 TH1F *hd0D0VtxTrueptTGHCfromDstSB;
5316 namehist=
"hd0D0ptTGHCfromDstar_";
5317 titlehist=
"D^{0} impact par. plot, Tight Cuts, FromDStar, ";
5318 for(Int_t i=0;i<
fnbins;i++){
5320 strnamept.Append(
"PkMss_pt");
5323 strtitlept=titlehist;
5324 strtitlept.Append(
" Mass Peak, ");
5326 strtitlept.Append(
"<= pt <");
5328 strtitlept.Append(
" [GeV/c]");
5330 hd0D0ptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5331 hd0D0ptTGHCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
5332 hd0D0ptTGHCfromDstPM->SetYTitle(
"Entries");
5335 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5336 hMCd0D0ptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5337 hMCd0D0ptTGHCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
5338 hMCd0D0ptTGHCfromDstPM->SetYTitle(
"Entries");
5342 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5343 hd0D0VtxTrueptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5344 hd0D0VtxTrueptTGHCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5345 hd0D0VtxTrueptTGHCfromDstPM->SetYTitle(
"Entries");
5349 strnamept.Append(
"SBMss_pt");
5352 strtitlept=titlehist;
5353 strtitlept.Append(
" Side Bands, ");
5355 strtitlept.Append(
"<= pt <");
5357 strtitlept.Append(
" [GeV/c]");
5359 hd0D0ptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5360 hd0D0ptTGHCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
5361 hd0D0ptTGHCfromDstSB->SetYTitle(
"Entries");
5364 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5365 hMCd0D0ptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5366 hMCd0D0ptTGHCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
5367 hMCd0D0ptTGHCfromDstSB->SetYTitle(
"Entries");
5370 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5371 hd0D0VtxTrueptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5372 hd0D0VtxTrueptTGHCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5373 hd0D0VtxTrueptTGHCfromDstSB->SetYTitle(
"Entries");
5382 TH2F *hCPtaVSd0d0TGHCother=
new TH2F(
"hCPtaVSd0d0TGHCother",
"hCPtaVSd0d0_TightCuts_other",1000,-100000.,100000.,100,-1.,1.);
5383 TH1F *hSecVtxZTGHCother=
new TH1F(
"hSecVtxZTGHCother",
"hSecVtxZ_TightCuts_other",1000,-8.,8.);
5384 TH1F *hSecVtxXTGHCother=
new TH1F(
"hSecVtxXTGHCother",
"hSecVtxX_TightCuts_other",1000,-3000.,3000.);
5385 TH1F *hSecVtxYTGHCother=
new TH1F(
"hSecVtxYTGHCother",
"hSecVtxY_TightCuts_other",1000,-3000.,3000.);
5386 TH2F *hSecVtxXYTGHCother=
new TH2F(
"hSecVtxXYTGHCother",
"hSecVtxXY_TightCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
5387 TH1F *hSecVtxPhiTGHCother=
new TH1F(
"hSecVtxPhiTGHCother",
"hSecVtxPhi_TightCuts_other",180,-180.1,180.1);
5388 TH1F *hd0singlTrackTGHCother=
new TH1F(
"hd0singlTrackTGHCother",
"hd0singlTrackTightCuts_Other",1000,-5000.,5000.);
5389 TH1F *hCPtaTGHCother=
new TH1F(
"hCPtaTGHCother",
"hCPta_TightCuts_other",100,-1.,1.);
5390 TH1F *hd0xd0TGHCother=
new TH1F(
"hd0xd0TGHCother",
"hd0xd0_TightCuts_other",1000,-100000.,100000.);
5391 TH1F *hMassTrueTGHCother=
new TH1F(
"hMassTrueTGHCother",
"D^{0} MC inv. Mass Tight Cuts other(All momenta)",600,1.600,2.200);
5392 TH1F *hMassTGHCother=
new TH1F(
"hMassTGHCother",
"D^{0} inv. Mass Tight Cuts other (All momenta)",600,1.600,2.200);
5393 hMassTGHCother->Sumw2();
5394 TH1F *hMassTrueTGHCotherPM=
new TH1F(
"hMassTrueTGHCotherPM",
"D^{0} MC inv. Mass Tight Cuts other, Mass Peak. (All momenta)",600,1.600,2.200);
5395 TH1F *hMassTGHCotherPM=
new TH1F(
"hMassTGHCotherPM",
"D^{0} inv. Mass Tight Cuts other (All momenta), MassPeak",600,1.600,2.200);
5396 hMassTGHCotherPM->Sumw2();
5397 TH1F *hMassTrueTGHCotherSB=
new TH1F(
"hMassTrueTGHCotherSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts other(All momenta)",600,1.600,2.200);
5398 TH1F *hMassTGHCotherSB=
new TH1F(
"hMassTGHCotherSB",
"D^{0} inv. Mass in Side Bands Tight Cuts other (All momenta)",600,1.600,2.200);
5399 hMassTGHCotherSB->Sumw2();
5421 TH1F *hdcaTGHCother=
new TH1F(
"hdcaTGHCother",
"hdca_TightCuts_Other",100,0.,1000.);
5422 hdcaTGHCother->SetXTitle(
"dca [#mum]");
5423 hdcaTGHCother->SetYTitle(
"Entries");
5424 TH1F *hcosthetastarTGHCother=
new TH1F(
"hcosthetastarTGHCother",
"hCosThetaStar_TightCuts_Other",50,-1.,1.);
5425 hcosthetastarTGHCother->SetXTitle(
"cos #theta^{*}");
5426 hcosthetastarTGHCother->SetYTitle(
"Entries");
5427 TH1F *hptD0TGHCother=
new TH1F(
"hptD0TGHCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
5428 hptD0TGHCother->SetXTitle(
"p_{t} [GeV/c]");
5429 hptD0TGHCother->SetYTitle(
"Entries");
5430 TH1F *hptD0VsMaxPtTGHCother=
new TH1F(
"hptD0VsMaxPtTGHCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
5431 TH2F *hptD0PTallsqrtTGHCother=
new TH2F(
"hptD0PTallsqrtTGHCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
5432 TH2F *hptD0PTallTGHCother=
new TH2F(
"hptD0PTallTGHCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
5433 TH2F *hptD0vsptBTGHCother=
new TH2F(
"hptD0vsptBTGHCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5434 TH2F *hpD0vspBTGHCother=
new TH2F(
"hpD0vspBTGHCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5435 TH2F *hptD0vsptcquarkTGHCother=
new TH2F(
"hptD0vsptcquarkTGHCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5436 TH2F *hpD0vspcquarkTGHCother=
new TH2F(
"hpD0vspcquarkTGHCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5448 TH1F *hd0zD0ptTGHCother;
5449 TH1F *hInvMassD0TGHCother,*hInvMassD0barTGHCother;
5450 TH2F *hInvMassPtTGHCother=
new TH2F(
"hInvMassPtTGHCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
5451 THnSparseF *hSparseTGHCother=
new THnSparseF(
"hSparseTGHCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
5452 hSparseTGHCother->SetBinEdges(0,massbins);
5453 hSparseTGHCother->SetBinEdges(1,massbins);
5454 hSparseTGHCother->SetBinEdges(2,ptbinsForNsparse);
5455 hSparseTGHCother->SetBinEdges(3,impparbins);
5456 hSparseTGHCother->SetBinEdges(4,massHypoBins);
5460 fTreeTGHCother =
new TTree(
"fTreeTGHCother",
"Candidate variables tree");
5462 for(Int_t ivar=0; ivar<
nVar; ivar++){
5468 TH1F *hetaTGHCother;
5469 TH1F *hCosPDPBTGHCother;
5470 TH1F *hCosPcPDTGHCother;
5473 TH2F *hd0D0VSd0xd0TGHCotherpt;
5474 TH2F *hangletracksVSd0xd0TGHCotherpt;
5475 TH2F *hangletracksVSd0D0TGHCotherpt;
5476 TH1F *hd0xd0TGHCotherpt;
5478 TH2F *hTOFpidTGHCother=
new TH2F(
"hTOFpidTGHCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
5481 for(Int_t i=0;i<
fnbins;i++){
5482 namehist=
"hd0zD0ptTGHCother_pt";
5484 titlehist=
"d0(z) Tight Cuts Otherm ptbin=";
5486 hd0zD0ptTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
5487 hd0zD0ptTGHCother->SetXTitle(
"d_{0}(z) [#mum]");
5488 hd0zD0ptTGHCother->SetYTitle(
"Entries");
5491 namehist=
"hInvMassD0TGHCother_pt";
5493 titlehist=
"Invariant Mass Tight Cuts Other ptbin=";
5495 hInvMassD0TGHCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5496 hInvMassD0TGHCother->SetXTitle(
"Invariant Mass [GeV]");
5497 hInvMassD0TGHCother->SetYTitle(
"Entries");
5500 namehist=
"hInvMassD0barTGHCother_pt";
5502 titlehist=
"Invariant Mass D0bar Tight Cuts Other ptbin=";
5504 hInvMassD0barTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5505 hInvMassD0barTGHCother->SetXTitle(
"Invariant Mass [GeV]");
5506 hInvMassD0barTGHCother->SetYTitle(
"Entries");
5509 namehist=
"hetaTGHCother_pt";
5511 titlehist=
"eta Tight Cuts Other ptbin=";
5513 hetaTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
5514 hetaTGHCother->SetXTitle(
"Pseudorapidity");
5515 hetaTGHCother->SetYTitle(
"Entries");
5518 namehist=
"hCosPDPBTGHCother_pt";
5520 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
5522 hCosPDPBTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5523 hCosPDPBTGHCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
5524 hCosPDPBTGHCother->SetYTitle(
"Entries");
5527 namehist=
"hCosPcPDTGHCother_pt";
5529 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
5531 hCosPcPDTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5532 hCosPcPDTGHCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
5533 hCosPcPDTGHCother->SetYTitle(
"Entries");
5537 namehist=
"hd0xd0TGHCother_pt";
5539 titlehist=
"d0xd0 Tight Cuts Other ptbin=";
5541 hd0xd0TGHCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
5542 hd0xd0TGHCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
5543 hd0xd0TGHCotherpt->SetYTitle(
"Entries");
5547 namehist=
"hd0D0VSd0xd0TGHCother_pt";
5549 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Other ptbin=";
5551 hd0D0VSd0xd0TGHCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
5552 hd0D0VSd0xd0TGHCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5553 hd0D0VSd0xd0TGHCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
5557 namehist=
"hangletracksVSd0xd0TGHCother_pt";
5559 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Other ptbin=";
5561 hangletracksVSd0xd0TGHCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
5562 hangletracksVSd0xd0TGHCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5563 hangletracksVSd0xd0TGHCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
5567 namehist=
"hangletracksVSd0D0TGHCother_pt";
5569 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Other ptbin=";
5571 hangletracksVSd0D0TGHCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
5572 hangletracksVSd0D0TGHCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
5573 hangletracksVSd0D0TGHCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
5585 TH1F *hd0D0TGHCotherPM =
new TH1F(
"hd0D0TGHCotherPM",
"D^{0} impact par. plot , Tight Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5586 hd0D0TGHCotherPM->SetXTitle(
"Impact parameter [#mum]");
5587 hd0D0TGHCotherPM->SetYTitle(
"Entries");
5589 TH1F *hd0D0VtxTrueTGHCotherPM =
new TH1F(
"hd0D0VtxTrueTGHCotherPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5590 hd0D0VtxTrueTGHCotherPM->SetXTitle(
"Impact parameter [#mum]");
5591 hd0D0VtxTrueTGHCotherPM->SetYTitle(
"Entries");
5593 TH1F *hMCd0D0TGHCotherPM =
new TH1F(
"hMCd0D0TGHCotherPM",
"D^{0} impact par. plot, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5594 hMCd0D0TGHCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
5595 hMCd0D0TGHCotherPM->SetYTitle(
"Entries");
5597 TH1F *hd0D0TGHCotherSB =
new TH1F(
"hd0D0TGHCotherSB",
"D^{0} impact par. plot , Tight Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5598 hd0D0TGHCotherSB->SetXTitle(
"Impact parameter [#mum]");
5599 hd0D0TGHCotherSB->SetYTitle(
"Entries");
5601 TH1F *hd0D0VtxTrueTGHCotherSB =
new TH1F(
"hd0D0VtxTrueTGHCotherSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5602 hd0D0VtxTrueTGHCotherSB->SetXTitle(
"Impact parameter [#mum]");
5603 hd0D0VtxTrueTGHCotherSB->SetYTitle(
"Entries");
5605 TH1F *hMCd0D0TGHCotherSB =
new TH1F(
"hMCd0D0TGHCotherSB",
"D^{0} impact par. plot, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5606 hMCd0D0TGHCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
5607 hMCd0D0TGHCotherSB->SetYTitle(
"Entries");
5616 TH1F *hd0D0ptTGHCotherPM;
5617 TH1F *hMCd0D0ptTGHCotherPM;
5618 TH1F *hd0D0VtxTrueptTGHCotherPM;
5619 TH1F *hd0D0ptTGHCotherSB;
5620 TH1F *hMCd0D0ptTGHCotherSB;
5621 TH1F *hd0D0VtxTrueptTGHCotherSB;
5622 namehist=
"hd0D0ptTGHCother_";
5623 titlehist=
"D^{0} impact par. plot, Tight Cuts, Other, ";
5624 for(Int_t i=0;i<
fnbins;i++){
5626 strnamept.Append(
"PkMss_pt");
5629 strtitlept=titlehist;
5630 strtitlept.Append(
" Mass Peak, ");
5632 strtitlept.Append(
"<= pt <");
5634 strtitlept.Append(
" [GeV/c]");
5636 hd0D0ptTGHCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5637 hd0D0ptTGHCotherPM->SetXTitle(
"Impact parameter [#mum] ");
5638 hd0D0ptTGHCotherPM->SetYTitle(
"Entries");
5641 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5642 hMCd0D0ptTGHCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5643 hMCd0D0ptTGHCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
5644 hMCd0D0ptTGHCotherPM->SetYTitle(
"Entries");
5648 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5649 hd0D0VtxTrueptTGHCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5650 hd0D0VtxTrueptTGHCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5651 hd0D0VtxTrueptTGHCotherPM->SetYTitle(
"Entries");
5655 strnamept.Append(
"SBMss_pt");
5658 strtitlept=titlehist;
5659 strtitlept.Append(
" Side Bands, ");