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;
70 : AliAnalysisTaskSE(),
76 fsplitMassD0D0bar(kTRUE),
89 fsidebandInvMassCut(),
90 fsidebandInvMassWindow(),
92 fCleanCandOwnVtx(kFALSE),
96 fSignalTypeTghCuts(0),
102 flistNoCutsFromDstar(0),
104 flistLsCutsSignal(0),
107 flistLsCutsFromDstar(0),
109 flistTghCutsSignal(0),
111 flistTghCutsFromB(0),
112 flistTghCutsFromDstar(0),
113 flistTghCutsOther(0),
115 fselectForUpgrade(0),
116 fskipEventSelection(kFALSE),
124 : AliAnalysisTaskSE(name),
130 fsplitMassD0D0bar(kTRUE),
141 fsignalInvMassCut(-1.),
142 flargeInvMassCut(-1.),
143 fsidebandInvMassCut(-1.),
144 fsidebandInvMassWindow(-1.),
146 fCleanCandOwnVtx(kFALSE),
149 fSignalTypeLsCuts(0),
150 fSignalTypeTghCuts(0),
152 flistMCproperties(0),
153 flistNoCutsSignal(0),
156 flistNoCutsFromDstar(0),
158 flistLsCutsSignal(0),
161 flistLsCutsFromDstar(0),
163 flistTghCutsSignal(0),
165 flistTghCutsFromB(0),
166 flistTghCutsFromDstar(0),
167 flistTghCutsOther(0),
169 fselectForUpgrade(0),
170 fskipEventSelection(kFALSE),
183 DefineOutput(1, TH1F::Class());
184 DefineOutput(2, TH1F::Class());
185 DefineOutput(3, TH1F::Class());
186 DefineOutput(4, TH1F::Class());
187 DefineOutput(5, AliNormalizationCounter::Class());
189 for(Int_t j=6;j<22;j++){
190 DefineOutput(j, TList::Class());
194 DefineOutput(22,AliRDHFCutsD0toKpi::Class());
195 DefineOutput(23,AliRDHFCutsD0toKpi::Class());
201 : AliAnalysisTaskSE(name),
207 fsplitMassD0D0bar(kTRUE),
218 fsignalInvMassCut(-1.),
219 flargeInvMassCut(-1.),
220 fsidebandInvMassCut(-1.),
221 fsidebandInvMassWindow(-1.),
223 fCleanCandOwnVtx(kFALSE),
226 fSignalTypeLsCuts(0),
227 fSignalTypeTghCuts(0),
229 flistMCproperties(0),
230 flistNoCutsSignal(0),
233 flistNoCutsFromDstar(0),
235 flistLsCutsSignal(0),
238 flistLsCutsFromDstar(0),
240 flistTghCutsSignal(0),
242 flistTghCutsFromB(0),
243 flistTghCutsFromDstar(0),
244 flistTghCutsOther(0),
246 fselectForUpgrade(0),
247 fskipEventSelection(kFALSE),
261 printf(
"Different number of pt bins between the two sets of cuts: SWITCH TO STANDARD CUTS \n");
269 printf(
"Different pt bin limits in the two set of cuts: use the first as reference \n");
279 DefineOutput(1, TH1F::Class());
280 DefineOutput(2, TH1F::Class());
281 DefineOutput(3, TH1F::Class());
282 DefineOutput(4, TH1F::Class());
283 DefineOutput(5, AliNormalizationCounter::Class());
285 for(Int_t j=6;j<22;j++){
287 DefineOutput(j, TList::Class());
290 DefineOutput(22,AliRDHFCutsD0toKpi::Class());
291 DefineOutput(23,AliRDHFCutsD0toKpi::Class());
430 if(fDebug > 1) printf(
"AnalysisTaskSED0Mass::Init() \n");
431 fmD0PDG = TDatabasePDG::Instance()->GetParticle(421)->Mass();
440 printf(
"AliAnalysisTaskSECharmFraction: Not All info for mass selection provided: switch to default values \n");
445 const char* nameoutputTight=GetOutputSlot(22)->GetContainer()->GetName();
446 copyfCutsTight->SetName(nameoutputTight);
448 const char* nameoutputLoose=GetOutputSlot(23)->GetContainer()->GetName();
449 copyfCutsLoose->SetName(nameoutputLoose);
452 PostData(22,copyfCutsTight);
453 PostData(23,copyfCutsLoose);
458 printf(
"Two cut objects have different selection for primary vertex recalculation w/o daughters:\n Dangerous for variable drawing!! \n");
504 TString strnamept,strtitlept;
505 Printf(
"INSIDE USER CREATE \n");
509 fNentries=
new TH1F(
"nentriesChFr",
"Analyzed sample properties", 21,-0.5,20.5);
511 fNentries->GetXaxis()->SetBinLabel(1,
"nEventsAnal");
513 fNentries->GetXaxis()->SetBinLabel(2,
"nEvTGHTsel");
514 fNentries->GetXaxis()->SetBinLabel(3,
"nEvTGHTPile-up Rej");
515 fNentries->GetXaxis()->SetBinLabel(4,
"nEvTGHTGoodVtxS");
516 fNentries->GetXaxis()->SetBinLabel(5,
"nEvTGHTRejVtxZ");
517 fNentries->GetXaxis()->SetBinLabel(6,
"nTracksTGHTEv");
518 fNentries->GetXaxis()->SetBinLabel(7,
"nCandTGHTEv");
519 fNentries->GetXaxis()->SetBinLabel(8,
"nCandSelTGHTEv");
520 fNentries->GetXaxis()->SetBinLabel(20,
"nUnexpErrorTGHT");
522 fNentries->GetXaxis()->SetBinLabel(9,
"nEvLSsel");
523 fNentries->GetXaxis()->SetBinLabel(10,
"nEvLSPile-up Rej");
524 fNentries->GetXaxis()->SetBinLabel(11,
"nEvLSGoodVtxS");
525 fNentries->GetXaxis()->SetBinLabel(12,
"nEvLSRejVtxZ");
526 fNentries->GetXaxis()->SetBinLabel(13,
"nTracksLSEv");
527 fNentries->GetXaxis()->SetBinLabel(14,
"nCandLSEv");
528 fNentries->GetXaxis()->SetBinLabel(15,
"nCandSelLSEv");
529 fNentries->GetXaxis()->SetBinLabel(21,
"nUnexpErrorTGHT");
545 fNentries->GetXaxis()->SetNdivisions(1,kFALSE);
547 fSignalType=
new TH1F(
"hsignaltype",
"Histo for type of MC signal", 61,-1.,60.);
548 fSignalTypeLsCuts=
new TH1F(
"hsignaltypeLsCuts",
"Histo for type of MC signal with loose cuts", 61,-1.,60.);
549 fSignalTypeTghCuts=
new TH1F(
"hsignaltypeTghCuts",
"Histo for type of MC signal with tight cuts", 61,-1.,60.);
625 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.};
626 Float_t dumbinning[201];
627 for(Int_t j=0;j<201;j++){
628 dumbinning[j]=(Float_t)j*0.5;
632 const Int_t nPtbinsForSparse=91;
633 Double_t ptbinsForNsparse[nPtbinsForSparse];
635 Double_t massbins[186],impparbins[401];
636 Double_t massHypoBins[4]={1.,2.,3.,4.};
637 Int_t nbinsSparse[5]={185,185,nPtbinsForSparse-1,400,3};
638 for(Int_t nBins=0;nBins<nPtbinsForSparse;nBins++){
639 ptbinsForNsparse[nBins]=pT;
641 else if(pT<20)pT+=0.5;
643 else if(pT<70)pT+=5.;
645 for(Int_t nBins=0;nBins<186;nBins++){
646 massbins[nBins]=1.680+nBins*(2.050-1.680)/185.;
648 for(Int_t nBins=0;nBins<401;nBins++){
649 impparbins[nBins]=-1000+nBins*(2000.)/400.;
668 TH1F *hMCcquarkAllPt=
new TH1F(
"hMCcquarkAllPt",
"c quark Pt (all cquarks produced)",34,ptbinsD0arr);
669 TH1F *hMCcquarkAllEta=
new TH1F(
"hMCcquarkAllEta",
"c quark Eta (all cquarks produced)",50,-3.,3.);
670 TH1F *hMCcquarkAllEnergy=
new TH1F(
"hMCcquarkAllEnergy",
"c quark Pt (all cquarks produced)",200,0.,100.);
671 TH1F *hMCcquarkNdaught=
new TH1F(
"hMCcquarkNdaught",
"N cquark daughters (all cquarks produced)",100,0.,100.);
672 TH1F *hMCD0fromcPt=
new TH1F(
"hMCD0fromcPt",
"D0 from c Pt",34,ptbinsD0arr);
673 TH1F *hMCD0fromcEta=
new TH1F(
"hMCD0fromcEta",
"D0 from c Eta",50,-3.,3.);
674 TH1F *hMCD0fromcEnergy=
new TH1F(
"hMCD0fromcEnergy",
"D0 from c Energy",200,0.,100.);
676 TH2F *hMCD0VscquarkPt=
new TH2F(
"hMCD0VscquarkPt",
"D0 pt Vs cquark pt",34,ptbinsD0arr,34,ptbinsD0arr);
677 TH2F *hMCD0VscquarkEnergy=
new TH2F(
"hMCD0VscquarkEnergy",
"D0 Energy Vs cquark Energy",200,0.,50.,200,0.,50.);
678 TH1F *hMCD0deltacquarkEnergy=
new TH1F(
"hMCD0deltacquarkEnergy",
"Fractional D0 Energy w.r.t. cquark Energy",20,0.,1.);
679 TH1F *hMCD0EnergyVsAvcquarkDaughtEn=
new TH1F(
"hMCD0EnergyVsAvcquarkDaughtEn",
"#Delta(E^{D^0}-E_{avg})/E_{cquark}",40,-1.,1.);
680 TH1F *hMCD0cquarkAngle=
new TH1F(
"hMCD0cquarkAngle",
"cosine of the angle between D0 and c quark particle",40,-1.,1.);
681 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.);
683 TH1I *hMCfromBpdgB=
new TH1I(
"hMCfromBpdgB",
"hMCfromBpdgB",10000,0.,10000);
684 TH1F *hMCBhadrPt=
new TH1F(
"hMCBhadrPt",
"B hadr Pt",34,ptbinsD0arr);
685 TH1F *hMCBhadrEta=
new TH1F(
"hMCBhadrEta",
"B hadr Eta",50,-3.,3.);
686 TH1F *hMCBhadrEnergy=
new TH1F(
"hMCBhadrEnergy",
"B hadr Pt",200,0.,100.);
687 TH1F *hMCBhadrNdaught=
new TH1F(
"hMCBhadrNdaught",
"N Bhadr daughters",100,0.,100.);
688 TH1F *hMCD0fromBPt=
new TH1F(
"hMCD0fromBPt",
"D0 from B Pt",34,ptbinsD0arr);
689 TH1F *hMCD0fromBEta=
new TH1F(
"hMCD0fromBEta",
"D0 from B Eta",50,-3.,3.);
690 TH1F *hMCD0fromBEnergy=
new TH1F(
"hMCD0fromBEnergy",
"D0 from B Energy",200,0.,100.);
692 TH2F *hMCD0VsBhadrPt=
new TH2F(
"hMCD0VsBhadrPt",
"D0 pt Vs Bhadr pt",34,ptbinsD0arr,34,ptbinsD0arr);
693 TH2F *hMCD0VsBhadrEnergy=
new TH2F(
"hMCD0VsBhadrEnergy",
"D0 Energy Vs Bhadr Energy",200,0.,50.,200,0.,50.);
694 TH1F *hMCD0deltaBhadrEnergy=
new TH1F(
"hMCD0deltaBhadrEnergy",
"Fractional D0 Energy w.r.t. Bhadr Energy",20,0.,1.);
695 TH1F *hMCD0EnergyVsAvBDaughtEn=
new TH1F(
"hMCD0EnergyVsAvBDaughtEn",
"#Delta(E^{D^0}-E_{avg})/E_{Bahdr}",40,-1.,1.);
696 TH1F *hMCD0BhadrAngle=
new TH1F(
"hMCD0BhadrAngle",
"cosine of the angle between D0 and Bhadr particle",40,-1.,1.);
697 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.);
699 TH1I *hMCPartFound=
new TH1I(
"hMCPartFound",
"1=c,2=D0,3=fromBall,4=fromBmeson,5=fromBbaryon",6,0,6);
737 Printf(
"AFTER MC HISTOS \n");
743 TH2F *hCPtaVSd0d0NCsign=
new TH2F(
"hCPtaVSd0d0NCsign",
"hCPtaVSd0d0_NoCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
744 TH1F *hSecVtxZNCsign=
new TH1F(
"hSecVtxZNCsign",
"hSecVtxZ_NoCuts_Signal",1000,-8.,8.);
745 TH1F *hSecVtxXNCsign=
new TH1F(
"hSecVtxXNCsign",
"hSecVtxX_NoCuts_Signal",1000,-3000.,3000.);
746 TH1F *hSecVtxYNCsign=
new TH1F(
"hSecVtxYNCsign",
"hSecVtxY_NoCuts_Signal",1000,-3000.,3000.);
747 TH2F *hSecVtxXYNCsign=
new TH2F(
"hSecVtxXYNCsign",
"hSecVtxXY_NoCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
748 TH1F *hSecVtxPhiNCsign=
new TH1F(
"hSecVtxPhiNCsign",
"hSecVtxPhi_NoCuts_Signal",180,-180.1,180.1);
749 TH1F *hd0singlTrackNCsign=
new TH1F(
"hd0singlTrackNCsign",
"hd0singlTrackNoCuts_Signal",1000,-5000.,5000.);
750 TH1F *hCPtaNCsign=
new TH1F(
"hCPtaNCsign",
"hCPta_NoCuts_Signal",100,-1.,1.);
751 TH1F *hd0xd0NCsign=
new TH1F(
"hd0xd0NCsign",
"hd0xd0_NoCuts_Signal",1000,-100000.,100000.);
752 TH1F *hMassTrueNCsign=
new TH1F(
"hMassTrueNCsign",
"D^{0} MC inv. Mass No Cuts Signal(All momenta)",600,1.600,2.200);
753 TH1F *hMassNCsign=
new TH1F(
"hMassNCsign",
"D^{0} inv. Mass No Cuts Signal (All momenta)",600,1.600,2.200);
754 hMassNCsign->Sumw2();
755 TH1F *hMassTrueNCsignPM=
new TH1F(
"hMassTrueNCsignPM",
"D^{0} MC inv. Mass No Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
756 TH1F *hMassNCsignPM=
new TH1F(
"hMassNCsignPM",
"D^{0} inv. Mass No Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
757 hMassNCsignPM->Sumw2();
759 TH1F *hMassTrueNCsignSB=
new TH1F(
"hMassTrueNCsignSB",
"D^{0} MC inv. Mass in Side Bands No Cuts Signal(All momenta)",600,1.600,2.200);
760 TH1F *hMassNCsignSB=
new TH1F(
"hMassNCsignSB",
"D^{0} inv. Mass in Side Bands No Cuts Signal (All momenta)",600,1.600,2.200);
761 hMassNCsignSB->Sumw2();
780 TH1F *hdcaNCsign=
new TH1F(
"hdcaNCsign",
"hdca_NoCuts_Signal",100,0.,1000.);
781 hdcaNCsign->SetXTitle(
"dca [#mum]");
782 hdcaNCsign->SetYTitle(
"Entries");
783 TH1F *hcosthetastarNCsign=
new TH1F(
"hcosthetastarNCsign",
"hCosThetaStar_NoCuts_Signal",50,-1.,1.);
784 hcosthetastarNCsign->SetXTitle(
"cos #theta^{*}");
785 hcosthetastarNCsign->SetYTitle(
"Entries");
786 TH1F *hptD0NCsign=
new TH1F(
"hptD0NCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
787 hptD0NCsign->SetXTitle(
"p_{t} [GeV/c]");
788 hptD0NCsign->SetYTitle(
"Entries");
789 TH1F *hptD0VsMaxPtNCsign=
new TH1F(
"hptD0VsMaxPtNCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
790 TH2F *hptD0PTallsqrtNCsign=
new TH2F(
"hptD0PTallsqrtNCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
791 TH2F *hptD0PTallNCsign=
new TH2F(
"hptD0PTallNCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
792 TH2F *hptD0vsptBNCsign=
new TH2F(
"hptD0vsptBNCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
793 TH2F *hpD0vspBNCsign=
new TH2F(
"hpD0vspBNCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
794 TH2F *hptD0vsptcquarkNCsign=
new TH2F(
"hptD0vsptcquarkNCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
795 TH2F *hpD0vspcquarkNCsign=
new TH2F(
"hpD0vspcquarkNCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
807 TH1F *hd0zD0ptNCsign;
808 TH1F *hInvMassD0NCsign,*hInvMassD0barNCsign;
809 TH2F *hInvMassPtNCsign=
new TH2F(
"hInvMassPtNCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
812 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);
814 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);
817 THnSparseF *hSparseNCsign=
new THnSparseF(
"hSparseNCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
818 hSparseNCsign->SetBinEdges(0,massbins);
819 hSparseNCsign->SetBinEdges(1,massbins);
820 hSparseNCsign->SetBinEdges(2,ptbinsForNsparse);
821 hSparseNCsign->SetBinEdges(3,impparbins);
822 hSparseNCsign->SetBinEdges(4,massHypoBins);
828 THnSparseF *hSparseCxyLxyNCsign=
new THnSparseF(
"hSparseCxyLxyNCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
829 hSparseCxyLxyNCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
830 hSparseCxyLxyNCsign->GetAxis(0)->SetName(
"mass");
831 hSparseCxyLxyNCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
832 hSparseCxyLxyNCsign->GetAxis(1)->SetName(
"pt");
833 hSparseCxyLxyNCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
834 hSparseCxyLxyNCsign->GetAxis(2)->SetName(
"CosPointXY");
835 hSparseCxyLxyNCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
836 hSparseCxyLxyNCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
837 hSparseCxyLxyNCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
844 TH1F *hCosPDPBNCsign;
845 TH1F *hCosPcPDNCsign;
847 TH2F *hd0D0VSd0xd0NCsignpt;
848 TH2F *hangletracksVSd0xd0NCsignpt;
849 TH2F *hangletracksVSd0D0NCsignpt;
850 TH1F *hd0xd0NCsignpt;
852 TH1F *hPhiHistPMNCsignpt,*hPhiHistSBNCsignpt;
855 TH2F *hTOFpidNCsign=
new TH2F(
"hTOFpidNCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
861 for(Int_t i=0;i<
fnbins;i++){
864 namehist=
"hPhiHistPMNCsign_pt";
866 titlehist=
"Azimuthal correlation No Cuts Sign PM ptbin=";
868 hPhiHistPMNCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
869 hPhiHistPMNCsignpt->Sumw2();
872 namehist=
"hPhiHistSBNCsign_pt";
874 titlehist=
"Azimuthal correlation No Cuts Sign SB ptbin=";
876 hPhiHistSBNCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
877 hPhiHistSBNCsignpt->Sumw2();
881 namehist=
"hd0zD0ptNCsign_pt";
883 titlehist=
"d0(z) No Cuts Signalm ptbin=";
885 hd0zD0ptNCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
886 hd0zD0ptNCsign->SetXTitle(
"d_{0}(z) [#mum]");
887 hd0zD0ptNCsign->SetYTitle(
"Entries");
890 namehist=
"hInvMassD0NCsign_pt";
892 titlehist=
"Invariant Mass D0 No Cuts Signal ptbin=";
894 hInvMassD0NCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
895 hInvMassD0NCsign->SetXTitle(
"Invariant Mass [GeV]");
896 hInvMassD0NCsign->SetYTitle(
"Entries");
900 namehist=
"hInvMassD0barNCsign_pt";
902 titlehist=
"Invariant Mass D0bar No Cuts Signal ptbin=";
904 hInvMassD0barNCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
905 hInvMassD0barNCsign->SetXTitle(
"Invariant Mass [GeV]");
906 hInvMassD0barNCsign->SetYTitle(
"Entries");
910 namehist=
"hetaNCsign_pt";
912 titlehist=
"eta No Cuts Signal ptbin=";
914 hetaNCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
915 hetaNCsign->SetXTitle(
"Pseudorapidity");
916 hetaNCsign->SetYTitle(
"Entries");
919 namehist=
"hCosPDPBNCsign_pt";
921 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
923 hCosPDPBNCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
924 hCosPDPBNCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
925 hCosPDPBNCsign->SetYTitle(
"Entries");
928 namehist=
"hCosPcPDNCsign_pt";
930 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
932 hCosPcPDNCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
933 hCosPcPDNCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
934 hCosPcPDNCsign->SetYTitle(
"Entries");
939 namehist=
"hd0xd0NCsign_pt";
941 titlehist=
"d0xd0 No Cuts Signal ptbin=";
943 hd0xd0NCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
944 hd0xd0NCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
945 hd0xd0NCsignpt->SetYTitle(
"Entries");
949 namehist=
"hd0D0VSd0xd0NCsign_pt";
951 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
953 hd0D0VSd0xd0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
954 hd0D0VSd0xd0NCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
955 hd0D0VSd0xd0NCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
959 namehist=
"hangletracksVSd0xd0NCsign_pt";
961 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Signal ptbin=";
963 hangletracksVSd0xd0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
964 hangletracksVSd0xd0NCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
965 hangletracksVSd0xd0NCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
969 namehist=
"hangletracksVSd0D0NCsign_pt";
971 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Signal ptbin=";
973 hangletracksVSd0D0NCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
974 hangletracksVSd0D0NCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
975 hangletracksVSd0D0NCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
979 Printf(
"AFTER LOOP HISTOS CREATION \n");
984 TH1F *hd0D0NCsignPM =
new TH1F(
"hd0D0NCsignPM",
"D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
985 hd0D0NCsignPM->SetXTitle(
"Impact parameter [#mum]");
986 hd0D0NCsignPM->SetYTitle(
"Entries");
988 TH1F *hd0D0VtxTrueNCsignPM =
new TH1F(
"hd0D0VtxTrueNCsignPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
989 hd0D0VtxTrueNCsignPM->SetXTitle(
"Impact parameter [#mum]");
990 hd0D0VtxTrueNCsignPM->SetYTitle(
"Entries");
992 TH1F *hMCd0D0NCsignPM =
new TH1F(
"hMCd0D0NCsignPM",
"D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
993 hMCd0D0NCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
994 hMCd0D0NCsignPM->SetYTitle(
"Entries");
996 TH1F *hd0D0NCsignSB =
new TH1F(
"hd0D0NCsignSB",
"D^{0} impact par. plot , No Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
997 hd0D0NCsignSB->SetXTitle(
"Impact parameter [#mum]");
998 hd0D0NCsignSB->SetYTitle(
"Entries");
1000 TH1F *hd0D0VtxTrueNCsignSB =
new TH1F(
"hd0D0VtxTrueNCsignSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1001 hd0D0VtxTrueNCsignSB->SetXTitle(
"Impact parameter [#mum]");
1002 hd0D0VtxTrueNCsignSB->SetYTitle(
"Entries");
1004 TH1F *hMCd0D0NCsignSB =
new TH1F(
"hMCd0D0NCsignSB",
"D^{0} impact par. plot, No Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
1005 hMCd0D0NCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
1006 hMCd0D0NCsignSB->SetYTitle(
"Entries");
1015 TH1F *hd0D0ptNCsignPM;
1016 TH1F *hMCd0D0ptNCsignPM;
1017 TH1F *hd0D0VtxTrueptNCsignPM;
1018 TH1F *hd0D0ptNCsignSB;
1019 TH1F *hMCd0D0ptNCsignSB;
1020 TH1F *hd0D0VtxTrueptNCsignSB;
1021 namehist=
"hd0D0ptNCsign_";
1022 titlehist=
"D^{0} impact par. plot, No Cuts, Signal, ";
1023 for(Int_t i=0;i<
fnbins;i++){
1026 strnamept.Append(
"PkMss_pt");
1029 strtitlept=titlehist;
1030 strtitlept.Append(
" Mass Peak, ");
1034 strtitlept.Append(
"<= pt <");
1036 strtitlept.Append(
" [GeV/c]");
1038 hd0D0ptNCsignPM=
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1039 hd0D0ptNCsignPM->SetXTitle(
"Impact parameter [#mum] ");
1040 hd0D0ptNCsignPM->SetYTitle(
"Entries");
1043 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1044 hMCd0D0ptNCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1045 hMCd0D0ptNCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
1046 hMCd0D0ptNCsignPM->SetYTitle(
"Entries");
1050 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1051 hd0D0VtxTrueptNCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1052 hd0D0VtxTrueptNCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1053 hd0D0VtxTrueptNCsignPM->SetYTitle(
"Entries");
1057 strnamept.Append(
"SBMss_pt");
1060 strtitlept=titlehist;
1061 strtitlept.Append(
" Side Bands, ");
1063 strtitlept.Append(
"<= pt <");
1065 strtitlept.Append(
" [GeV/c]");
1067 hd0D0ptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1068 hd0D0ptNCsignSB->SetXTitle(
"Impact parameter [#mum] ");
1069 hd0D0ptNCsignSB->SetYTitle(
"Entries");
1072 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1073 hMCd0D0ptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1074 hMCd0D0ptNCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
1075 hMCd0D0ptNCsignSB->SetYTitle(
"Entries");
1078 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1079 hd0D0VtxTrueptNCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1080 hd0D0VtxTrueptNCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1081 hd0D0VtxTrueptNCsignSB->SetYTitle(
"Entries");
1091 TH2F *hCPtaVSd0d0NCback=
new TH2F(
"hCPtaVSd0d0NCback",
"hCPtaVSd0d0_NoCuts_Background",1000,-100000.,100000.,100,-1.,1.);
1092 TH1F *hSecVtxZNCback=
new TH1F(
"hSecVtxZNCback",
"hSecVtxZ_NoCuts_Background",1000,-8.,8.);
1093 TH1F *hSecVtxXNCback=
new TH1F(
"hSecVtxXNCback",
"hSecVtxX_NoCuts_Background",1000,-3000.,3000.);
1094 TH1F *hSecVtxYNCback=
new TH1F(
"hSecVtxYNCback",
"hSecVtxY_NoCuts_Background",1000,-3000.,3000.);
1095 TH2F *hSecVtxXYNCback=
new TH2F(
"hSecVtxXYNCback",
"hSecVtxXY_NoCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
1096 TH1F *hSecVtxPhiNCback=
new TH1F(
"hSecVtxPhiNCback",
"hSecVtxPhi_NoCuts_Background",180,-180.1,180.1);
1097 TH1F *hd0singlTrackNCback=
new TH1F(
"hd0singlTrackNCback",
"hd0singlTrackNoCuts_Back",1000,-5000.,5000.);
1098 TH1F *hCPtaNCback=
new TH1F(
"hCPtaNCback",
"hCPta_NoCuts_Background",100,-1.,1.);
1099 TH1F *hd0xd0NCback=
new TH1F(
"hd0xd0NCback",
"hd0xd0_NoCuts_Background",1000,-100000.,100000.);
1100 TH1F *hMassTrueNCback=
new TH1F(
"hMassTrueNCback",
"D^{0} MC inv. Mass No Cuts Background(All momenta)",600,1.600,2.200);
1101 TH1F *hMassNCback=
new TH1F(
"hMassNCback",
"D^{0} inv. Mass No Cuts Background (All momenta)",600,1.600,2.200);
1102 hMassNCback->Sumw2();
1103 TH1F *hMassTrueNCbackPM=
new TH1F(
"hMassTrueNCbackPM",
"D^{0} MC inv. Mass No Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
1104 TH1F *hMassNCbackPM=
new TH1F(
"hMassNCbackPM",
"D^{0} inv. Mass No Cuts Background (All momenta), MassPeak",600,1.600,2.200);
1105 hMassNCbackPM->Sumw2();
1106 TH1F *hMassTrueNCbackSB=
new TH1F(
"hMassTrueNCbackSB",
"D^{0} MC inv. Mass in Side Bands No Cuts Background(All momenta)",600,1.600,2.200);
1107 TH1F *hMassNCbackSB=
new TH1F(
"hMassNCbackSB",
"D^{0} inv. Mass in Side Bands No Cuts Background (All momenta)",600,1.600,2.200);
1108 hMassNCbackSB->Sumw2();
1128 TH1F *hdcaNCback=
new TH1F(
"hdcaNCback",
"hdca_NoCuts_Backgr",100,0.,1000.);
1129 hdcaNCback->SetXTitle(
"dca [#mum]");
1130 hdcaNCback->SetYTitle(
"Entries");
1131 TH1F *hcosthetastarNCback=
new TH1F(
"hcosthetastarNCback",
"hCosThetaStar_NoCuts_Backgr",50,-1.,1.);
1132 hcosthetastarNCback->SetXTitle(
"cos #theta^{*}");
1133 hcosthetastarNCback->SetYTitle(
"Entries");
1134 TH1F *hptD0NCback=
new TH1F(
"hptD0NCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1135 hptD0NCback->SetXTitle(
"p_{t} [GeV/c]");
1136 hptD0NCback->SetYTitle(
"Entries");
1137 TH1F *hptD0VsMaxPtNCback=
new TH1F(
"hptD0VsMaxPtNCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1138 TH2F *hptD0PTallsqrtNCback=
new TH2F(
"hptD0PTallsqrtNCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1139 TH2F *hptD0PTallNCback=
new TH2F(
"hptD0PTallNCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1140 TH2F *hptD0vsptBNCback=
new TH2F(
"hptD0vsptBNCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1141 TH2F *hpD0vspBNCback=
new TH2F(
"hpD0vspBNCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1142 TH2F *hptD0vsptcquarkNCback=
new TH2F(
"hptD0vsptcquarkNCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1143 TH2F *hpD0vspcquarkNCback=
new TH2F(
"hpD0vspcquarkNCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1155 TH1F *hd0zD0ptNCback;
1156 TH1F *hInvMassD0NCback,*hInvMassD0barNCback;
1157 TH2F *hInvMassPtNCback=
new TH2F(
"hInvMassPtNCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1158 THnSparseF *hSparseNCback=
new THnSparseF(
"hSparseNCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1159 hSparseNCback->SetBinEdges(0,massbins);
1160 hSparseNCback->SetBinEdges(1,massbins);
1161 hSparseNCback->SetBinEdges(2,ptbinsForNsparse);
1162 hSparseNCback->SetBinEdges(3,impparbins);
1163 hSparseNCback->SetBinEdges(4,massHypoBins);
1167 TH1F *hCosPDPBNCback;
1168 TH1F *hCosPcPDNCback;
1170 TH2F *hd0D0VSd0xd0NCbackpt;
1171 TH2F *hangletracksVSd0xd0NCbackpt;
1172 TH2F *hangletracksVSd0D0NCbackpt;
1173 TH1F *hd0xd0NCbackpt;
1176 TH2F *hTOFpidNCback=
new TH2F(
"hTOFpidNCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1179 for(Int_t i=0;i<
fnbins;i++){
1180 namehist=
"hd0zD0ptNCback_pt";
1182 titlehist=
"d0(z) No Cuts Backgrm ptbin=";
1184 hd0zD0ptNCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1185 hd0zD0ptNCback->SetXTitle(
"d_{0}(z) [#mum]");
1186 hd0zD0ptNCback->SetYTitle(
"Entries");
1189 namehist=
"hInvMassD0NCback_pt";
1191 titlehist=
"Invariant Mass No Cuts Backgr ptbin=";
1193 hInvMassD0NCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1194 hInvMassD0NCback->SetXTitle(
"Invariant Mass [GeV]");
1195 hInvMassD0NCback->SetYTitle(
"Entries");
1199 namehist=
"hInvMassD0barNCback_pt";
1201 titlehist=
"Invariant Mass D0bar No Cuts Back ptbin=";
1203 hInvMassD0barNCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1204 hInvMassD0barNCback->SetXTitle(
"Invariant Mass [GeV]");
1205 hInvMassD0barNCback->SetYTitle(
"Entries");
1209 namehist=
"hetaNCback_pt";
1211 titlehist=
"eta No Cuts Backgr ptbin=";
1213 hetaNCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1214 hetaNCback->SetXTitle(
"Pseudorapidity");
1215 hetaNCback->SetYTitle(
"Entries");
1218 namehist=
"hCosPDPBNCback_pt";
1220 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1222 hCosPDPBNCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1223 hCosPDPBNCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
1224 hCosPDPBNCback->SetYTitle(
"Entries");
1227 namehist=
"hCosPcPDNCback_pt";
1229 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1231 hCosPcPDNCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1232 hCosPcPDNCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1233 hCosPcPDNCback->SetYTitle(
"Entries");
1238 namehist=
"hd0xd0NCback_pt";
1240 titlehist=
"d0xd0 No Cuts Background ptbin=";
1242 hd0xd0NCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1243 hd0xd0NCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1244 hd0xd0NCbackpt->SetYTitle(
"Entries");
1248 namehist=
"hd0D0VSd0xd0NCback_pt";
1250 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1252 hd0D0VSd0xd0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1253 hd0D0VSd0xd0NCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1254 hd0D0VSd0xd0NCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1258 namehist=
"hangletracksVSd0xd0NCback_pt";
1260 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Back ptbin=";
1262 hangletracksVSd0xd0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1263 hangletracksVSd0xd0NCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1264 hangletracksVSd0xd0NCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
1268 namehist=
"hangletracksVSd0D0NCback_pt";
1270 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Back ptbin=";
1272 hangletracksVSd0D0NCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1273 hangletracksVSd0D0NCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1274 hangletracksVSd0D0NCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
1287 TH1F *hd0D0NCbackPM =
new TH1F(
"hd0D0NCbackPM",
"D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1288 hd0D0NCbackPM->SetXTitle(
"Impact parameter [#mum]");
1289 hd0D0NCbackPM->SetYTitle(
"Entries");
1291 TH1F *hd0D0VtxTrueNCbackPM =
new TH1F(
"hd0D0VtxTrueNCbackPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1292 hd0D0VtxTrueNCbackPM->SetXTitle(
"Impact parameter [#mum]");
1293 hd0D0VtxTrueNCbackPM->SetYTitle(
"Entries");
1295 TH1F *hMCd0D0NCbackPM =
new TH1F(
"hMCd0D0NCbackPM",
"D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1296 hMCd0D0NCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
1297 hMCd0D0NCbackPM->SetYTitle(
"Entries");
1299 TH1F *hd0D0NCbackSB =
new TH1F(
"hd0D0NCbackSB",
"D^{0} impact par. plot , No Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1300 hd0D0NCbackSB->SetXTitle(
"Impact parameter [#mum]");
1301 hd0D0NCbackSB->SetYTitle(
"Entries");
1303 TH1F *hd0D0VtxTrueNCbackSB =
new TH1F(
"hd0D0VtxTrueNCbackSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1304 hd0D0VtxTrueNCbackSB->SetXTitle(
"Impact parameter [#mum]");
1305 hd0D0VtxTrueNCbackSB->SetYTitle(
"Entries");
1307 TH1F *hMCd0D0NCbackSB =
new TH1F(
"hMCd0D0NCbackSB",
"D^{0} impact par. plot, No Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
1308 hMCd0D0NCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
1309 hMCd0D0NCbackSB->SetYTitle(
"Entries");
1318 TH1F *hd0D0ptNCbackPM;
1319 TH1F *hMCd0D0ptNCbackPM;
1320 TH1F *hd0D0VtxTrueptNCbackPM;
1321 TH1F *hd0D0ptNCbackSB;
1322 TH1F *hMCd0D0ptNCbackSB;
1323 TH1F *hd0D0VtxTrueptNCbackSB;
1324 namehist=
"hd0D0ptNCback_";
1325 titlehist=
"D^{0} impact par. plot, No Cuts, Background, ";
1326 for(Int_t i=0;i<
fnbins;i++){
1328 strnamept.Append(
"PkMss_pt");
1331 strtitlept=titlehist;
1332 strtitlept.Append(
" Mass Peak, ");
1334 strtitlept.Append(
"<= pt <");
1336 strtitlept.Append(
" [GeV/c]");
1338 hd0D0ptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1339 hd0D0ptNCbackPM->SetXTitle(
"Impact parameter [#mum] ");
1340 hd0D0ptNCbackPM->SetYTitle(
"Entries");
1343 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1344 hMCd0D0ptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1345 hMCd0D0ptNCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
1346 hMCd0D0ptNCbackPM->SetYTitle(
"Entries");
1350 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1351 hd0D0VtxTrueptNCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1352 hd0D0VtxTrueptNCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1353 hd0D0VtxTrueptNCbackPM->SetYTitle(
"Entries");
1357 strnamept.Append(
"SBMss_pt");
1360 strtitlept=titlehist;
1361 strtitlept.Append(
" Side Bands, ");
1363 strtitlept.Append(
"<= pt <");
1365 strtitlept.Append(
" [GeV/c]");
1367 hd0D0ptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1368 hd0D0ptNCbackSB->SetXTitle(
"Impact parameter [#mum] ");
1369 hd0D0ptNCbackSB->SetYTitle(
"Entries");
1372 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1373 hMCd0D0ptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1374 hMCd0D0ptNCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
1375 hMCd0D0ptNCbackSB->SetYTitle(
"Entries");
1378 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1379 hd0D0VtxTrueptNCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1380 hd0D0VtxTrueptNCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1381 hd0D0VtxTrueptNCbackSB->SetYTitle(
"Entries");
1391 TH2F *hCPtaVSd0d0NCfromB=
new TH2F(
"hCPtaVSd0d0NCfromB",
"hCPtaVSd0d0_NoCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
1392 TH1F *hSecVtxZNCfromB=
new TH1F(
"hSecVtxZNCfromB",
"hSecVtxZ_NoCuts_FromB",1000,-8.,8.);
1393 TH1F *hSecVtxXNCfromB=
new TH1F(
"hSecVtxXNCfromB",
"hSecVtxX_NoCuts_FromB",1000,-3000.,3000.);
1394 TH1F *hSecVtxYNCfromB=
new TH1F(
"hSecVtxYNCfromB",
"hSecVtxY_NoCuts_FromB",1000,-3000.,3000.);
1395 TH2F *hSecVtxXYNCfromB=
new TH2F(
"hSecVtxXYNCfromB",
"hSecVtxXY_NoCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
1396 TH1F *hSecVtxPhiNCfromB=
new TH1F(
"hSecVtxPhiNCfromB",
"hSecVtxPhi_NoCuts_FromB",180,-180.1,180.1);
1397 TH1F *hd0singlTrackNCfromB=
new TH1F(
"hd0singlTrackNCfromB",
"hd0singlTrackNoCuts_FromB",1000,-5000.,5000.);
1398 TH1F *hCPtaNCfromB=
new TH1F(
"hCPtaNCfromB",
"hCPta_NoCuts_FromB",100,-1.,1.);
1399 TH1F *hd0xd0NCfromB=
new TH1F(
"hd0xd0NCfromB",
"hd0xd0_NoCuts_FromB",1000,-100000.,100000.);
1400 TH1F *hMassTrueNCfromB=
new TH1F(
"hMassTrueNCfromB",
"D^{0} MC inv. Mass No Cuts FromB(All momenta)",600,1.600,2.200);
1401 TH1F *hMassNCfromB=
new TH1F(
"hMassNCfromB",
"D^{0} inv. Mass No Cuts FromB (All momenta)",600,1.600,2.200);
1402 hMassNCfromB->Sumw2();
1403 TH1F *hMassTrueNCfromBPM=
new TH1F(
"hMassTrueNCfromBPM",
"D^{0} MC inv. Mass No Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
1404 TH1F *hMassNCfromBPM=
new TH1F(
"hMassNCfromBPM",
"D^{0} inv. Mass No Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
1405 hMassNCfromB->Sumw2();
1406 TH1F *hMassTrueNCfromBSB=
new TH1F(
"hMassTrueNCfromBSB",
"D^{0} MC inv. Mass in Side Bands No Cuts FromB(All momenta)",600,1.600,2.200);
1407 TH1F *hMassNCfromBSB=
new TH1F(
"hMassNCfromBSB",
"D^{0} inv. Mass in Side Bands No Cuts FromB (All momenta)",600,1.600,2.200);
1408 hMassNCfromBSB->Sumw2();
1431 TH1F *hdcaNCfromB=
new TH1F(
"hdcaNCfromB",
"hdca_NoCuts_FromB",100,0.,1000.);
1432 hdcaNCfromB->SetXTitle(
"dca [#mum]");
1433 hdcaNCfromB->SetYTitle(
"Entries");
1434 TH1F *hcosthetastarNCfromB=
new TH1F(
"hcosthetastarNCfromB",
"hCosThetaStar_NoCuts_FromB",50,-1.,1.);
1435 hcosthetastarNCfromB->SetXTitle(
"cos #theta^{*}");
1436 hcosthetastarNCfromB->SetYTitle(
"Entries");
1437 TH1F *hptD0NCfromB=
new TH1F(
"hptD0NCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1438 hptD0NCfromB->SetXTitle(
"p_{t} [GeV/c]");
1439 hptD0NCfromB->SetYTitle(
"Entries");
1440 TH1F *hptD0VsMaxPtNCfromB=
new TH1F(
"hptD0VsMaxPtNCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1441 TH2F *hptD0PTallsqrtNCfromB=
new TH2F(
"hptD0PTallsqrtNCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1442 TH2F *hptD0PTallNCfromB=
new TH2F(
"hptD0PTallNCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1443 TH2F *hptD0vsptBNCfromB=
new TH2F(
"hptD0vsptBNCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1444 TH2F *hpD0vspBNCfromB=
new TH2F(
"hpD0vspBNCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1445 TH2F *hptD0vsptcquarkNCfromB=
new TH2F(
"hptD0vsptcquarkNCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1446 TH2F *hpD0vspcquarkNCfromB=
new TH2F(
"hpD0vspcquarkNCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1458 TH1F *hd0zD0ptNCfromB;
1459 TH1F *hInvMassD0NCfromB,*hInvMassD0barNCfromB;
1460 TH2F *hInvMassPtNCfromB=
new TH2F(
"hInvMassPtNCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1461 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);
1463 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);
1466 THnSparseF *hSparseNCfromB=
new THnSparseF(
"hSparseNCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1467 hSparseNCfromB->SetBinEdges(0,massbins);
1468 hSparseNCfromB->SetBinEdges(1,massbins);
1469 hSparseNCfromB->SetBinEdges(2,ptbinsForNsparse);
1470 hSparseNCfromB->SetBinEdges(3,impparbins);
1471 hSparseNCfromB->SetBinEdges(4,massHypoBins);
1476 THnSparseF *hSparseRecoNCfromB=
new THnSparseF(
"hSparseRecoNCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1477 hSparseRecoNCfromB->SetBinEdges(0,massbins);
1478 hSparseRecoNCfromB->SetBinEdges(1,massbins);
1479 hSparseRecoNCfromB->SetBinEdges(2,ptbinsForNsparse);
1480 hSparseRecoNCfromB->SetBinEdges(3,impparbins);
1481 hSparseRecoNCfromB->SetBinEdges(4,massHypoBins);
1486 TH1F *hCosPDPBNCfromB;
1487 TH1F *hCosPcPDNCfromB;
1490 TH2F *hd0D0VSd0xd0NCfromBpt;
1491 TH2F *hangletracksVSd0xd0NCfromBpt;
1492 TH2F *hangletracksVSd0D0NCfromBpt;
1493 TH1F *hd0xd0NCfromBpt;
1496 TH2F *hTOFpidNCfromB=
new TH2F(
"hTOFpidNCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1499 for(Int_t i=0;i<
fnbins;i++){
1500 namehist=
"hd0zD0ptNCfromB_pt";
1502 titlehist=
"d0(z) No Cuts FromB ptbin=";
1504 hd0zD0ptNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1505 hd0zD0ptNCfromB->SetXTitle(
"d_{0}(z) [#mum]");
1506 hd0zD0ptNCfromB->SetYTitle(
"Entries");
1509 namehist=
"hInvMassD0NCfromB_pt";
1511 titlehist=
"Invariant Mass No Cuts FromB ptbin=";
1513 hInvMassD0NCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1514 hInvMassD0NCfromB->SetXTitle(
"Invariant Mass [GeV]");
1515 hInvMassD0NCfromB->SetYTitle(
"Entries");
1519 namehist=
"hInvMassD0barNCfromB_pt";
1521 titlehist=
"Invariant Mass D0bar No Cuts FromB ptbin=";
1523 hInvMassD0barNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1524 hInvMassD0barNCfromB->SetXTitle(
"Invariant Mass [GeV]");
1525 hInvMassD0barNCfromB->SetYTitle(
"Entries");
1530 namehist=
"hetaNCfromB_pt";
1532 titlehist=
"eta No Cuts FromB ptbin=";
1534 hetaNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1535 hetaNCfromB->SetXTitle(
"Pseudorapidity");
1536 hetaNCfromB->SetYTitle(
"Entries");
1539 namehist=
"hCosPDPBNCfromB_pt";
1541 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1543 hCosPDPBNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1544 hCosPDPBNCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
1545 hCosPDPBNCfromB->SetYTitle(
"Entries");
1548 namehist=
"hCosPcPDNCfromB_pt";
1550 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1552 hCosPcPDNCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1553 hCosPcPDNCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1554 hCosPcPDNCfromB->SetYTitle(
"Entries");
1558 namehist=
"hd0xd0NCfromB_pt";
1560 titlehist=
"d0xd0 No Cuts FromB ptbin=";
1562 hd0xd0NCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1563 hd0xd0NCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1564 hd0xd0NCfromBpt->SetYTitle(
"Entries");
1568 namehist=
"hd0D0VSd0xd0NCfromB_pt";
1570 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1572 hd0D0VSd0xd0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1573 hd0D0VSd0xd0NCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1574 hd0D0VSd0xd0NCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1578 namehist=
"hangletracksVSd0xd0NCfromB_pt";
1580 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromB ptbin=";
1582 hangletracksVSd0xd0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1583 hangletracksVSd0xd0NCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1584 hangletracksVSd0xd0NCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
1588 namehist=
"hangletracksVSd0D0NCfromB_pt";
1590 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromB ptbin=";
1592 hangletracksVSd0D0NCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1593 hangletracksVSd0D0NCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1594 hangletracksVSd0D0NCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
1605 TH1F *hd0D0NCfromBPM =
new TH1F(
"hd0D0NCfromBPM",
"D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1606 hd0D0NCfromBPM->SetXTitle(
"Impact parameter [#mum]");
1607 hd0D0NCfromBPM->SetYTitle(
"Entries");
1609 TH1F *hd0D0VtxTrueNCfromBPM =
new TH1F(
"hd0D0VtxTrueNCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1610 hd0D0VtxTrueNCfromBPM->SetXTitle(
"Impact parameter [#mum]");
1611 hd0D0VtxTrueNCfromBPM->SetYTitle(
"Entries");
1613 TH1F *hMCd0D0NCfromBPM =
new TH1F(
"hMCd0D0NCfromBPM",
"D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1614 hMCd0D0NCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
1615 hMCd0D0NCfromBPM->SetYTitle(
"Entries");
1617 TH1F *hd0D0NCfromBSB =
new TH1F(
"hd0D0NCfromBSB",
"D^{0} impact par. plot , No Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1618 hd0D0NCfromBSB->SetXTitle(
"Impact parameter [#mum]");
1619 hd0D0NCfromBSB->SetYTitle(
"Entries");
1621 TH1F *hd0D0VtxTrueNCfromBSB =
new TH1F(
"hd0D0VtxTrueNCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1622 hd0D0VtxTrueNCfromBSB->SetXTitle(
"Impact parameter [#mum]");
1623 hd0D0VtxTrueNCfromBSB->SetYTitle(
"Entries");
1625 TH1F *hMCd0D0NCfromBSB =
new TH1F(
"hMCd0D0NCfromBSB",
"D^{0} impact par. plot, No Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
1626 hMCd0D0NCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
1627 hMCd0D0NCfromBSB->SetYTitle(
"Entries");
1636 TH1F *hd0D0ptNCfromBPM;
1637 TH1F *hMCd0D0ptNCfromBPM;
1638 TH1F *hd0D0VtxTrueptNCfromBPM;
1639 TH1F *hd0D0ptNCfromBSB;
1640 TH1F *hMCd0D0ptNCfromBSB;
1641 TH1F *hd0D0VtxTrueptNCfromBSB;
1642 namehist=
"hd0D0ptNCfromB_";
1643 titlehist=
"D^{0} impact par. plot, No Cuts, FromB, ";
1644 for(Int_t i=0;i<
fnbins;i++){
1646 strnamept.Append(
"PkMss_pt");
1649 strtitlept=titlehist;
1650 strtitlept.Append(
" Mass Peak, ");
1652 strtitlept.Append(
"<= pt <");
1654 strtitlept.Append(
" [GeV/c]");
1656 hd0D0ptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1657 hd0D0ptNCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
1658 hd0D0ptNCfromBPM->SetYTitle(
"Entries");
1661 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1662 hMCd0D0ptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1663 hMCd0D0ptNCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
1664 hMCd0D0ptNCfromBPM->SetYTitle(
"Entries");
1668 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1669 hd0D0VtxTrueptNCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1670 hd0D0VtxTrueptNCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1671 hd0D0VtxTrueptNCfromBPM->SetYTitle(
"Entries");
1675 strnamept.Append(
"SBMss_pt");
1678 strtitlept=titlehist;
1679 strtitlept.Append(
" Side Bands, ");
1681 strtitlept.Append(
"<= pt <");
1683 strtitlept.Append(
" [GeV/c]");
1685 hd0D0ptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1686 hd0D0ptNCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
1687 hd0D0ptNCfromBSB->SetYTitle(
"Entries");
1690 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1691 hMCd0D0ptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1692 hMCd0D0ptNCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
1693 hMCd0D0ptNCfromBSB->SetYTitle(
"Entries");
1696 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1697 hd0D0VtxTrueptNCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1698 hd0D0VtxTrueptNCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1699 hd0D0VtxTrueptNCfromBSB->SetYTitle(
"Entries");
1709 TH2F *hCPtaVSd0d0NCfromDstar=
new TH2F(
"hCPtaVSd0d0NCfromDstar",
"hCPtaVSd0d0_NoCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
1710 TH1F *hSecVtxZNCfromDstar=
new TH1F(
"hSecVtxZNCfromDstar",
"hSecVtxZ_NoCuts_FromDStar",1000,-8.,8.);
1711 TH1F *hSecVtxXNCfromDstar=
new TH1F(
"hSecVtxXNCfromDstar",
"hSecVtxX_NoCuts_FromDStar",1000,-3000.,3000.);
1712 TH1F *hSecVtxYNCfromDstar=
new TH1F(
"hSecVtxYNCfromDstar",
"hSecVtxY_NoCuts_FromDStar",1000,-3000.,3000.);
1713 TH2F *hSecVtxXYNCfromDstar=
new TH2F(
"hSecVtxXYNCfromDstar",
"hSecVtxXY_NoCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
1714 TH1F *hSecVtxPhiNCfromDstar=
new TH1F(
"hSecVtxPhiNCfromDstar",
"hSecVtxPhi_NoCuts_FromDStar",180,-180.1,180.1);
1715 TH1F *hd0singlTrackNCfromDstar=
new TH1F(
"hd0singlTrackNCfromDstar",
"hd0singlTrackNoCuts_fromDstar",1000,-5000.,5000.);
1716 TH1F *hCPtaNCfromDstar=
new TH1F(
"hCPtaNCfromDstar",
"hCPta_NoCuts_FromDStar",100,-1.,1.);
1717 TH1F *hd0xd0NCfromDstar=
new TH1F(
"hd0xd0NCfromDstar",
"hd0xd0_NoCuts_FromDStar",1000,-100000.,100000.);
1718 TH1F *hMassTrueNCfromDstar=
new TH1F(
"hMassTrueNCfromDstar",
"D^{0} MC inv. Mass No Cuts FromDStar(All momenta)",600,1.600,2.200);
1719 TH1F *hMassNCfromDstar=
new TH1F(
"hMassNCfromDstar",
"D^{0} inv. Mass No Cuts FromDStar (All momenta)",600,1.600,2.200);
1720 hMassNCfromDstar->Sumw2();
1721 TH1F *hMassTrueNCfromDstarPM=
new TH1F(
"hMassTrueNCfromDstarPM",
"D^{0} MC inv. Mass No Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
1722 TH1F *hMassNCfromDstarPM=
new TH1F(
"hMassNCfromDstarPM",
"D^{0} inv. Mass No Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
1723 hMassNCfromDstarPM->Sumw2();
1724 TH1F *hMassTrueNCfromDstarSB=
new TH1F(
"hMassTrueNCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands No Cuts FromDStar(All momenta)",600,1.600,2.200);
1725 TH1F *hMassNCfromDstarSB=
new TH1F(
"hMassNCfromDstarSB",
"D^{0} inv. Mass in Side Bands No Cuts FromDStar (All momenta)",600,1.600,2.200);
1726 hMassNCfromDstarSB->Sumw2();
1748 TH1F *hdcaNCfromDstar=
new TH1F(
"hdcaNCfromDstar",
"hdca_NoCuts_FromDstar",100,0.,1000.);
1749 hdcaNCfromDstar->SetXTitle(
"dca [#mum]");
1750 hdcaNCfromDstar->SetYTitle(
"Entries");
1751 TH1F *hcosthetastarNCfromDstar=
new TH1F(
"hcosthetastarNCfromDstar",
"hCosThetaStar_NoCuts_FromDstar",50,-1.,1.);
1752 hcosthetastarNCfromDstar->SetXTitle(
"cos #theta^{*}");
1753 hcosthetastarNCfromDstar->SetYTitle(
"Entries");
1754 TH1F *hptD0NCfromDstar=
new TH1F(
"hptD0NCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
1755 hptD0NCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
1756 hptD0NCfromDstar->SetYTitle(
"Entries");
1757 TH1F *hptD0VsMaxPtNCfromDstar=
new TH1F(
"hptD0VsMaxPtNCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
1758 TH2F *hptD0PTallsqrtNCfromDstar=
new TH2F(
"hptD0PTallsqrtNCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
1759 TH2F *hptD0PTallNCfromDstar=
new TH2F(
"hptD0PTallNCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
1760 TH2F *hptD0vsptBNCfromDstar=
new TH2F(
"hptD0vsptBNCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1761 TH2F *hpD0vspBNCfromDstar=
new TH2F(
"hpD0vspBNCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1762 TH2F *hptD0vsptcquarkNCfromDstar=
new TH2F(
"hptD0vsptcquarkNCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1763 TH2F *hpD0vspcquarkNCfromDstar=
new TH2F(
"hpD0vspcquarkNCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
1775 TH1F *hd0zD0ptNCfromDstar;
1776 TH1F *hInvMassD0NCfromDstar,*hInvMassD0barNCfromDstar;
1777 TH2F *hInvMassPtNCfromDstar=
new TH2F(
"hInvMassPtNCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
1778 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);
1780 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);
1783 THnSparseF *hSparseNCfromDstar=
new THnSparseF(
"hSparseNCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
1784 hSparseNCfromDstar->SetBinEdges(0,massbins);
1785 hSparseNCfromDstar->SetBinEdges(1,massbins);
1786 hSparseNCfromDstar->SetBinEdges(2,ptbinsForNsparse);
1787 hSparseNCfromDstar->SetBinEdges(3,impparbins);
1788 hSparseNCfromDstar->SetBinEdges(4,massHypoBins);
1790 TH1F *hetaNCfromDstar;
1791 TH1F *hCosPDPBNCfromDstar;
1792 TH1F *hCosPcPDNCfromDstar;
1795 TH2F *hd0D0VSd0xd0NCfromDstarpt;
1796 TH2F *hangletracksVSd0xd0NCfromDstarpt;
1797 TH2F *hangletracksVSd0D0NCfromDstarpt;
1798 TH1F *hd0xd0NCfromDstarpt;
1800 TH2F *hTOFpidNCfromDstar=
new TH2F(
"hTOFpidNCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
1803 for(Int_t i=0;i<
fnbins;i++){
1804 namehist=
"hd0zD0ptNCfromDstar_pt";
1806 titlehist=
"d0(z) No Cuts FromDstarm ptbin=";
1808 hd0zD0ptNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
1809 hd0zD0ptNCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
1810 hd0zD0ptNCfromDstar->SetYTitle(
"Entries");
1813 namehist=
"hInvMassD0NCfromDstar_pt";
1815 titlehist=
"Invariant Mass No Cuts FromDstar ptbin=";
1817 hInvMassD0NCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1818 hInvMassD0NCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
1819 hInvMassD0NCfromDstar->SetYTitle(
"Entries");
1823 namehist=
"hInvMassD0barNCfromDstar_pt";
1825 titlehist=
"Invariant Mass D0bar No Cuts FromDstar ptbin=";
1827 hInvMassD0barNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
1828 hInvMassD0barNCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
1829 hInvMassD0barNCfromDstar->SetYTitle(
"Entries");
1834 namehist=
"hetaNCfromDstar_pt";
1836 titlehist=
"eta No Cuts FromDstar ptbin=";
1838 hetaNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
1839 hetaNCfromDstar->SetXTitle(
"Pseudorapidity");
1840 hetaNCfromDstar->SetYTitle(
"Entries");
1843 namehist=
"hCosPDPBNCfromDstar_pt";
1845 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
1847 hCosPDPBNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1848 hCosPDPBNCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
1849 hCosPDPBNCfromDstar->SetYTitle(
"Entries");
1852 namehist=
"hCosPcPDNCfromDstar_pt";
1854 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
1856 hCosPcPDNCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
1857 hCosPcPDNCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
1858 hCosPcPDNCfromDstar->SetYTitle(
"Entries");
1862 namehist=
"hd0xd0NCfromDstar_pt";
1864 titlehist=
"d0xd0 No Cuts FromDstar ptbin=";
1866 hd0xd0NCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
1867 hd0xd0NCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
1868 hd0xd0NCfromDstarpt->SetYTitle(
"Entries");
1872 namehist=
"hd0D0VSd0xd0NCfromDstar_pt";
1874 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
1876 hd0D0VSd0xd0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
1877 hd0D0VSd0xd0NCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1878 hd0D0VSd0xd0NCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
1882 namehist=
"hangletracksVSd0xd0NCfromDstar_pt";
1884 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts FromDstar ptbin=";
1886 hangletracksVSd0xd0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
1887 hangletracksVSd0xd0NCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
1888 hangletracksVSd0xd0NCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
1892 namehist=
"hangletracksVSd0D0NCfromDstar_pt";
1894 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts FromDstar ptbin=";
1896 hangletracksVSd0D0NCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
1897 hangletracksVSd0D0NCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
1898 hangletracksVSd0D0NCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
1907 TH1F *hd0D0NCfromDstPM =
new TH1F(
"hd0D0NCfromDstarPM",
"D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1908 hd0D0NCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
1909 hd0D0NCfromDstPM->SetYTitle(
"Entries");
1911 TH1F *hd0D0VtxTrueNCfromDstPM =
new TH1F(
"hd0D0VtxTrueNCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1912 hd0D0VtxTrueNCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
1913 hd0D0VtxTrueNCfromDstPM->SetYTitle(
"Entries");
1915 TH1F *hMCd0D0NCfromDstPM =
new TH1F(
"hMCd0D0NCfromDstarPM",
"D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1916 hMCd0D0NCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
1917 hMCd0D0NCfromDstPM->SetYTitle(
"Entries");
1919 TH1F *hd0D0NCfromDstSB =
new TH1F(
"hd0D0NCfromDstarSB",
"D^{0} impact par. plot , No Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1920 hd0D0NCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
1921 hd0D0NCfromDstSB->SetYTitle(
"Entries");
1923 TH1F *hd0D0VtxTrueNCfromDstSB =
new TH1F(
"hd0D0VtxTrueNCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1924 hd0D0VtxTrueNCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
1925 hd0D0VtxTrueNCfromDstSB->SetYTitle(
"Entries");
1927 TH1F *hMCd0D0NCfromDstSB =
new TH1F(
"hMCd0D0NCfromDstarSB",
"D^{0} impact par. plot, No Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
1928 hMCd0D0NCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
1929 hMCd0D0NCfromDstSB->SetYTitle(
"Entries");
1938 TH1F *hd0D0ptNCfromDstPM;
1939 TH1F *hMCd0D0ptNCfromDstPM;
1940 TH1F *hd0D0VtxTrueptNCfromDstPM;
1941 TH1F *hd0D0ptNCfromDstSB;
1942 TH1F *hMCd0D0ptNCfromDstSB;
1943 TH1F *hd0D0VtxTrueptNCfromDstSB;
1944 namehist=
"hd0D0ptNCfromDstar_";
1945 titlehist=
"D^{0} impact par. plot, No Cuts, FromDStar, ";
1946 for(Int_t i=0;i<
fnbins;i++){
1948 strnamept.Append(
"PkMss_pt");
1951 strtitlept=titlehist;
1952 strtitlept.Append(
" Mass Peak, ");
1954 strtitlept.Append(
"<= pt <");
1956 strtitlept.Append(
" [GeV/c]");
1958 hd0D0ptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1959 hd0D0ptNCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
1960 hd0D0ptNCfromDstPM->SetYTitle(
"Entries");
1963 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1964 hMCd0D0ptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1965 hMCd0D0ptNCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
1966 hMCd0D0ptNCfromDstPM->SetYTitle(
"Entries");
1970 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1971 hd0D0VtxTrueptNCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1972 hd0D0VtxTrueptNCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
1973 hd0D0VtxTrueptNCfromDstPM->SetYTitle(
"Entries");
1977 strnamept.Append(
"SBMss_pt");
1980 strtitlept=titlehist;
1981 strtitlept.Append(
" Side Bands, ");
1983 strtitlept.Append(
"<= pt <");
1985 strtitlept.Append(
" [GeV/c]");
1987 hd0D0ptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1988 hd0D0ptNCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
1989 hd0D0ptNCfromDstSB->SetYTitle(
"Entries");
1992 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
1993 hMCd0D0ptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
1994 hMCd0D0ptNCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
1995 hMCd0D0ptNCfromDstSB->SetYTitle(
"Entries");
1998 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
1999 hd0D0VtxTrueptNCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2000 hd0D0VtxTrueptNCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2001 hd0D0VtxTrueptNCfromDstSB->SetYTitle(
"Entries");
2010 TH2F *hCPtaVSd0d0NCother=
new TH2F(
"hCPtaVSd0d0NCother",
"hCPtaVSd0d0_NoCuts_other",1000,-100000.,100000.,100,-1.,1.);
2011 TH1F *hSecVtxZNCother=
new TH1F(
"hSecVtxZNCother",
"hSecVtxZ_NoCuts_other",1000,-8.,8.);
2012 TH1F *hSecVtxXNCother=
new TH1F(
"hSecVtxXNCother",
"hSecVtxX_NoCuts_other",1000,-3000.,3000.);
2013 TH1F *hSecVtxYNCother=
new TH1F(
"hSecVtxYNCother",
"hSecVtxY_NoCuts_other",1000,-3000.,3000.);
2014 TH2F *hSecVtxXYNCother=
new TH2F(
"hSecVtxXYNCother",
"hSecVtxXY_NoCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
2015 TH1F *hSecVtxPhiNCother=
new TH1F(
"hSecVtxPhiNCother",
"hSecVtxPhi_NoCuts_other",180,-180.1,180.1);
2016 TH1F *hd0singlTrackNCother=
new TH1F(
"hd0singlTrackNCother",
"hd0singlTrackNoCuts_Other",1000,-5000.,5000.);
2017 TH1F *hCPtaNCother=
new TH1F(
"hCPtaNCother",
"hCPta_NoCuts_other",100,-1.,1.);
2018 TH1F *hd0xd0NCother=
new TH1F(
"hd0xd0NCother",
"hd0xd0_NoCuts_other",1000,-100000.,100000.);
2019 TH1F *hMassTrueNCother=
new TH1F(
"hMassTrueNCother",
"D^{0} MC inv. Mass No Cuts other(All momenta)",600,1.600,2.200);
2020 TH1F *hMassNCother=
new TH1F(
"hMassNCother",
"D^{0} inv. Mass No Cuts other (All momenta)",600,1.600,2.200);
2021 hMassNCother->Sumw2();
2022 TH1F *hMassTrueNCotherPM=
new TH1F(
"hMassTrueNCotherPM",
"D^{0} MC inv. Mass No Cuts Other, Mass Peak. (All momenta)",600,1.600,2.200);
2023 TH1F *hMassNCotherPM=
new TH1F(
"hMassNCotherPM",
"D^{0} inv. Mass No Cuts Other (All momenta), MassPeak",600,1.600,2.200);
2024 hMassNCotherPM->Sumw2();
2025 TH1F *hMassTrueNCotherSB=
new TH1F(
"hMassTrueNCotherSB",
"D^{0} MC inv. Mass in Side Bands No Cuts other(All momenta)",600,1.600,2.200);
2026 TH1F *hMassNCotherSB=
new TH1F(
"hMassNCotherSB",
"D^{0} inv. Mass in Side Bands No Cuts other (All momenta)",600,1.600,2.200);
2027 hMassNCotherSB->Sumw2();
2048 TH1F *hdcaNCother=
new TH1F(
"hdcaNCother",
"hdca_NoCuts_Other",100,0.,1000.);
2049 hdcaNCother->SetXTitle(
"dca [#mum]");
2050 hdcaNCother->SetYTitle(
"Entries");
2051 TH1F *hcosthetastarNCother=
new TH1F(
"hcosthetastarNCother",
"hCosThetaStar_NoCuts_Other",50,-1.,1.);
2052 hcosthetastarNCother->SetXTitle(
"cos #theta^{*}");
2053 hcosthetastarNCother->SetYTitle(
"Entries");
2054 TH1F *hptD0NCother=
new TH1F(
"hptD0NCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2055 hptD0NCother->SetXTitle(
"p_{t} [GeV/c]");
2056 hptD0NCother->SetYTitle(
"Entries");
2057 TH1F *hptD0VsMaxPtNCother=
new TH1F(
"hptD0VsMaxPtNCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2058 TH2F *hptD0PTallsqrtNCother=
new TH2F(
"hptD0PTallsqrtNCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2059 TH2F *hptD0PTallNCother=
new TH2F(
"hptD0PTallNCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2060 TH2F *hptD0vsptBNCother=
new TH2F(
"hptD0vsptBNCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2061 TH2F *hpD0vspBNCother=
new TH2F(
"hpD0vspBNCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2062 TH2F *hptD0vsptcquarkNCother=
new TH2F(
"hptD0vsptcquarkNCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2063 TH2F *hpD0vspcquarkNCother=
new TH2F(
"hpD0vspcquarkNCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2075 TH1F *hd0zD0ptNCother;
2076 TH1F *hInvMassD0NCother,*hInvMassD0barNCother;
2077 TH2F *hInvMassPtNCother=
new TH2F(
"hInvMassPtNCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2078 THnSparseF *hSparseNCother=
new THnSparseF(
"hSparseNCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2079 hSparseNCother->SetBinEdges(0,massbins);
2080 hSparseNCother->SetBinEdges(1,massbins);
2081 hSparseNCother->SetBinEdges(2,ptbinsForNsparse);
2082 hSparseNCother->SetBinEdges(3,impparbins);
2083 hSparseNCother->SetBinEdges(4,massHypoBins);
2086 TH1F *hCosPDPBNCother;
2087 TH1F *hCosPcPDNCother;
2090 TH2F *hd0D0VSd0xd0NCotherpt;
2091 TH2F *hangletracksVSd0xd0NCotherpt;
2092 TH2F *hangletracksVSd0D0NCotherpt;
2093 TH1F *hd0xd0NCotherpt;
2095 TH2F *hTOFpidNCother=
new TH2F(
"hTOFpidNCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2098 for(Int_t i=0;i<
fnbins;i++){
2099 namehist=
"hd0zD0ptNCother_pt";
2101 titlehist=
"d0(z) No Cuts Otherm ptbin=";
2103 hd0zD0ptNCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2104 hd0zD0ptNCother->SetXTitle(
"d_{0}(z) [#mum]");
2105 hd0zD0ptNCother->SetYTitle(
"Entries");
2108 namehist=
"hInvMassD0NCother_pt";
2110 titlehist=
"Invariant Mass No Cuts Other ptbin=";
2112 hInvMassD0NCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2113 hInvMassD0NCother->SetXTitle(
"Invariant Mass [GeV]");
2114 hInvMassD0NCother->SetYTitle(
"Entries");
2118 namehist=
"hInvMassD0barNCother_pt";
2120 titlehist=
"Invariant Mass D0bar No Cuts Other ptbin=";
2122 hInvMassD0barNCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2123 hInvMassD0barNCother->SetXTitle(
"Invariant Mass [GeV]");
2124 hInvMassD0barNCother->SetYTitle(
"Entries");
2128 namehist=
"hetaNCother_pt";
2130 titlehist=
"eta No Cuts Other ptbin=";
2132 hetaNCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2133 hetaNCother->SetXTitle(
"Pseudorapidity");
2134 hetaNCother->SetYTitle(
"Entries");
2137 namehist=
"hCosPDPBNCother_pt";
2139 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2141 hCosPDPBNCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2142 hCosPDPBNCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
2143 hCosPDPBNCother->SetYTitle(
"Entries");
2146 namehist=
"hCosPcPDNCother_pt";
2148 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2150 hCosPcPDNCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2151 hCosPcPDNCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2152 hCosPcPDNCother->SetYTitle(
"Entries");
2157 namehist=
"hd0xd0NCother_pt";
2159 titlehist=
"d0xd0 No Cuts Other ptbin=";
2161 hd0xd0NCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2162 hd0xd0NCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2163 hd0xd0NCotherpt->SetYTitle(
"Entries");
2167 namehist=
"hd0D0VSd0xd0NCother_pt";
2169 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
2171 hd0D0VSd0xd0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2172 hd0D0VSd0xd0NCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2173 hd0D0VSd0xd0NCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2177 namehist=
"hangletracksVSd0xd0NCother_pt";
2179 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} No Cuts Other ptbin=";
2181 hangletracksVSd0xd0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2182 hangletracksVSd0xd0NCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2183 hangletracksVSd0xd0NCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
2187 namehist=
"hangletracksVSd0D0NCother_pt";
2189 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} No Cuts Other ptbin=";
2191 hangletracksVSd0D0NCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2192 hangletracksVSd0D0NCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2193 hangletracksVSd0D0NCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
2204 TH1F *hd0D0NCotherPM =
new TH1F(
"hd0D0NCotherPM",
"D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2205 hd0D0NCotherPM->SetXTitle(
"Impact parameter [#mum]");
2206 hd0D0NCotherPM->SetYTitle(
"Entries");
2208 TH1F *hd0D0VtxTrueNCotherPM =
new TH1F(
"hd0D0VtxTrueNCotherPM",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2209 hd0D0VtxTrueNCotherPM->SetXTitle(
"Impact parameter [#mum]");
2210 hd0D0VtxTrueNCotherPM->SetYTitle(
"Entries");
2212 TH1F *hMCd0D0NCotherPM =
new TH1F(
"hMCd0D0NCotherPM",
"D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2213 hMCd0D0NCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
2214 hMCd0D0NCotherPM->SetYTitle(
"Entries");
2216 TH1F *hd0D0NCotherSB =
new TH1F(
"hd0D0NCotherSB",
"D^{0} impact par. plot , No Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2217 hd0D0NCotherSB->SetXTitle(
"Impact parameter [#mum]");
2218 hd0D0NCotherSB->SetYTitle(
"Entries");
2220 TH1F *hd0D0VtxTrueNCotherSB =
new TH1F(
"hd0D0VtxTrueNCotherSB",
"D^{0} impact par. w.r.t. True Vtx, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2221 hd0D0VtxTrueNCotherSB->SetXTitle(
"Impact parameter [#mum]");
2222 hd0D0VtxTrueNCotherSB->SetYTitle(
"Entries");
2224 TH1F *hMCd0D0NCotherSB =
new TH1F(
"hMCd0D0NCotherSB",
"D^{0} impact par. plot, No Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
2225 hMCd0D0NCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
2226 hMCd0D0NCotherSB->SetYTitle(
"Entries");
2235 TH1F *hd0D0ptNCotherPM;
2236 TH1F *hMCd0D0ptNCotherPM;
2237 TH1F *hd0D0VtxTrueptNCotherPM;
2238 TH1F *hd0D0ptNCotherSB;
2239 TH1F *hMCd0D0ptNCotherSB;
2240 TH1F *hd0D0VtxTrueptNCotherSB;
2241 namehist=
"hd0D0ptNCother_";
2242 titlehist=
"D^{0} impact par. plot, No Cuts, Other, ";
2243 for(Int_t i=0;i<
fnbins;i++){
2245 strnamept.Append(
"PkMss_pt");
2248 strtitlept=titlehist;
2249 strtitlept.Append(
" Mass Peak, ");
2251 strtitlept.Append(
"<= pt <");
2253 strtitlept.Append(
" [GeV/c]");
2255 hd0D0ptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2256 hd0D0ptNCotherPM->SetXTitle(
"Impact parameter [#mum] ");
2257 hd0D0ptNCotherPM->SetYTitle(
"Entries");
2260 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2261 hMCd0D0ptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2262 hMCd0D0ptNCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
2263 hMCd0D0ptNCotherPM->SetYTitle(
"Entries");
2267 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2268 hd0D0VtxTrueptNCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2269 hd0D0VtxTrueptNCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2270 hd0D0VtxTrueptNCotherPM->SetYTitle(
"Entries");
2274 strnamept.Append(
"SBMss_pt");
2277 strtitlept=titlehist;
2278 strtitlept.Append(
" Side Bands, ");
2280 strtitlept.Append(
"<= pt <");
2282 strtitlept.Append(
" [GeV/c]");
2284 hd0D0ptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2285 hd0D0ptNCotherSB->SetXTitle(
"Impact parameter [#mum] ");
2286 hd0D0ptNCotherSB->SetYTitle(
"Entries");
2289 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2290 hMCd0D0ptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2291 hMCd0D0ptNCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
2292 hMCd0D0ptNCotherSB->SetYTitle(
"Entries");
2295 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2296 hd0D0VtxTrueptNCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2297 hd0D0VtxTrueptNCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2298 hd0D0VtxTrueptNCotherSB->SetYTitle(
"Entries");
2313 TH2F *hCPtaVSd0d0LSCsign=
new TH2F(
"hCPtaVSd0d0LSCsign",
"hCPtaVSd0d0_LooseCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
2314 TH1F *hSecVtxZLSCsign=
new TH1F(
"hSecVtxZLSCsign",
"hSecVtxZ_LooseCuts_Signal",1000,-8.,8.);
2315 TH1F *hSecVtxXLSCsign=
new TH1F(
"hSecVtxXLSCsign",
"hSecVtxX_LooseCuts_Signal",1000,-3000.,3000.);
2316 TH1F *hSecVtxYLSCsign=
new TH1F(
"hSecVtxYLSCsign",
"hSecVtxY_LooseCuts_Signal",1000,-3000.,3000.);
2317 TH2F *hSecVtxXYLSCsign=
new TH2F(
"hSecVtxXYLSCsign",
"hSecVtxXY_LooseCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
2318 TH1F *hSecVtxPhiLSCsign=
new TH1F(
"hSecVtxPhiLSCsign",
"hSecVtxPhi_LooseCuts_Signal",180,-180.1,180.1);
2319 TH1F *hd0singlTrackLSCsign=
new TH1F(
"hd0singlTrackLSCsign",
"hd0singlTrackLooseCuts_Signal",1000,-5000.,5000.);
2320 TH1F *hCPtaLSCsign=
new TH1F(
"hCPtaLSCsign",
"hCPta_LooseCuts_Signal",100,-1.,1.);
2321 TH1F *hd0xd0LSCsign=
new TH1F(
"hd0xd0LSCsign",
"hd0xd0_LooseCuts_Signal",1000,-100000.,100000.);
2322 TH1F *hMassTrueLSCsign=
new TH1F(
"hMassTrueLSCsign",
"D^{0} MC inv. Mass Loose Cuts Signal(All momenta)",600,1.600,2.200);
2323 TH1F *hMassLSCsign=
new TH1F(
"hMassLSCsign",
"D^{0} inv. Mass Loose Cuts Signal (All momenta)",600,1.600,2.200);
2324 hMassLSCsign->Sumw2();
2325 TH1F *hMassTrueLSCsignPM=
new TH1F(
"hMassTrueLSCsignPM",
"D^{0} MC inv. Mass Loose Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
2326 TH1F *hMassLSCsignPM=
new TH1F(
"hMassLSCsignPM",
"D^{0} inv. Mass Loose Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
2327 hMassLSCsignPM->Sumw2();
2328 TH1F *hMassTrueLSCsignSB=
new TH1F(
"hMassTrueLSCsignSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts Signal(All momenta)",600,1.600,2.200);
2329 TH1F *hMassLSCsignSB=
new TH1F(
"hMassLSCsignSB",
"D^{0} inv. Mass in Side Bands Loose Cuts Signal (All momenta)",600,1.600,2.200);
2330 hMassLSCsignSB->Sumw2();
2350 TH1F *hdcaLSCsign=
new TH1F(
"hdcaLSCsign",
"hdca_LooseCuts_Sign",100,0.,1000.);
2351 hdcaLSCsign->SetXTitle(
"dca [#mum]");
2352 hdcaLSCsign->SetYTitle(
"Entries");
2353 TH1F *hcosthetastarLSCsign=
new TH1F(
"hcosthetastarLSCsign",
"hCosThetaStar_LooseCuts_Sign",50,-1.,1.);
2354 hcosthetastarLSCsign->SetXTitle(
"cos #theta^{*}");
2355 hcosthetastarLSCsign->SetYTitle(
"Entries");
2356 TH1F *hptD0LSCsign=
new TH1F(
"hptD0LSCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2357 hptD0LSCsign->SetXTitle(
"p_{t} [GeV/c]");
2358 hptD0LSCsign->SetYTitle(
"Entries");
2359 TH1F *hptD0VsMaxPtLSCsign=
new TH1F(
"hptD0VsMaxPtLSCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2360 TH2F *hptD0PTallsqrtLSCsign=
new TH2F(
"hptD0PTallsqrtLSCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2361 TH2F *hptD0PTallLSCsign=
new TH2F(
"hptD0PTallLSCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2362 TH2F *hptD0vsptBLSCsign=
new TH2F(
"hptD0vsptBLSCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2363 TH2F *hpD0vspBLSCsign=
new TH2F(
"hpD0vspBLSCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2364 TH2F *hptD0vsptcquarkLSCsign=
new TH2F(
"hptD0vsptcquarkLSCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2365 TH2F *hpD0vspcquarkLSCsign=
new TH2F(
"hpD0vspcquarkLSCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2377 TH1F *hd0zD0ptLSCsign;
2378 TH1F *hInvMassD0LSCsign,*hInvMassD0barLSCsign;
2379 TH2F *hInvMassPtLSCsign=
new TH2F(
"hInvMassPtLSCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2380 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);
2382 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);
2385 THnSparseF *hSparseLSCsign=
new THnSparseF(
"hSparseLSCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2386 hSparseLSCsign->SetBinEdges(0,massbins);
2387 hSparseLSCsign->SetBinEdges(1,massbins);
2388 hSparseLSCsign->SetBinEdges(2,ptbinsForNsparse);
2389 hSparseLSCsign->SetBinEdges(3,impparbins);
2390 hSparseLSCsign->SetBinEdges(4,massHypoBins);
2393 TH1F *hCosPDPBLSCsign;
2394 TH1F *hCosPcPDLSCsign;
2399 THnSparseF *hSparseCxyLxyLSCsign=
new THnSparseF(
"hSparseCxyLxyLSCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
2400 hSparseCxyLxyLSCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
2401 hSparseCxyLxyLSCsign->GetAxis(0)->SetName(
"mass");
2402 hSparseCxyLxyLSCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
2403 hSparseCxyLxyLSCsign->GetAxis(1)->SetName(
"pt");
2404 hSparseCxyLxyLSCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
2405 hSparseCxyLxyLSCsign->GetAxis(2)->SetName(
"CosPointXY");
2406 hSparseCxyLxyLSCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
2407 hSparseCxyLxyLSCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
2408 hSparseCxyLxyLSCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
2412 TH2F *hd0D0VSd0xd0LSCsignpt;
2413 TH2F *hangletracksVSd0xd0LSCsignpt;
2414 TH2F *hangletracksVSd0D0LSCsignpt;
2415 TH1F *hd0xd0LSCsignpt;
2416 TH1F *hPhiHistPMLSCsignpt,*hPhiHistSBLSCsignpt;
2418 TH2F *hTOFpidLSCsign=
new TH2F(
"hTOFpidLSCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2421 for(Int_t i=0;i<
fnbins;i++){
2423 namehist=
"hPhiHistPMLSCsign_pt";
2425 titlehist=
"Azimuthal correlation LS Cuts Sign PM ptbin=";
2427 hPhiHistPMLSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
2428 hPhiHistPMLSCsignpt->Sumw2();
2431 namehist=
"hPhiHistSBLSCsign_pt";
2433 titlehist=
"Azimuthal correlation LS Cuts Sign SB ptbin=";
2435 hPhiHistSBLSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
2436 hPhiHistSBLSCsignpt->Sumw2();
2441 namehist=
"hd0zD0ptLSCsign_pt";
2443 titlehist=
"d0(z) Loose Cuts Signm ptbin=";
2445 hd0zD0ptLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2446 hd0zD0ptLSCsign->SetXTitle(
"d_{0}(z) [#mum]");
2447 hd0zD0ptLSCsign->SetYTitle(
"Entries");
2450 namehist=
"hInvMassD0LSCsign_pt";
2452 titlehist=
"Invariant Mass Loose Cuts Sign ptbin=";
2454 hInvMassD0LSCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2455 hInvMassD0LSCsign->SetXTitle(
"Invariant Mass [GeV]");
2456 hInvMassD0LSCsign->SetYTitle(
"Entries");
2460 namehist=
"hInvMassD0barLSCsign_pt";
2462 titlehist=
"Invariant Mass D0bar Loose Cuts Signal ptbin=";
2464 hInvMassD0barLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2465 hInvMassD0barLSCsign->SetXTitle(
"Invariant Mass [GeV]");
2466 hInvMassD0barLSCsign->SetYTitle(
"Entries");
2469 namehist=
"hetaLSCsign_pt";
2471 titlehist=
"eta Loose Cuts Sign ptbin=";
2473 hetaLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2474 hetaLSCsign->SetXTitle(
"Pseudorapidity");
2475 hetaLSCsign->SetYTitle(
"Entries");
2478 namehist=
"hCosPDPBLSCsign_pt";
2480 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2482 hCosPDPBLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2483 hCosPDPBLSCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
2484 hCosPDPBLSCsign->SetYTitle(
"Entries");
2487 namehist=
"hCosPcPDLSCsign_pt";
2489 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2491 hCosPcPDLSCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2492 hCosPcPDLSCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2493 hCosPcPDLSCsign->SetYTitle(
"Entries");
2498 namehist=
"hd0xd0LSCsign_pt";
2500 titlehist=
"d0xd0 Loose Cuts Sign ptbin=";
2502 hd0xd0LSCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2503 hd0xd0LSCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2504 hd0xd0LSCsignpt->SetYTitle(
"Entries");
2508 namehist=
"hd0D0VSd0xd0LSCsign_pt";
2510 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2512 hd0D0VSd0xd0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2513 hd0D0VSd0xd0LSCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2514 hd0D0VSd0xd0LSCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2518 namehist=
"hangletracksVSd0xd0LSCsign_pt";
2520 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Sign ptbin=";
2522 hangletracksVSd0xd0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2523 hangletracksVSd0xd0LSCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2524 hangletracksVSd0xd0LSCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
2528 namehist=
"hangletracksVSd0D0LSCsign_pt";
2530 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Sign ptbin=";
2532 hangletracksVSd0D0LSCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2533 hangletracksVSd0D0LSCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2534 hangletracksVSd0D0LSCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
2544 TH1F *hd0D0LSCsignPM =
new TH1F(
"hd0D0LSCsignPM",
"D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2545 hd0D0LSCsignPM->SetXTitle(
"Impact parameter [#mum]");
2546 hd0D0LSCsignPM->SetYTitle(
"Entries");
2548 TH1F *hd0D0VtxTrueLSCsignPM =
new TH1F(
"hd0D0VtxTrueLSCsignPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2549 hd0D0VtxTrueLSCsignPM->SetXTitle(
"Impact parameter [#mum]");
2550 hd0D0VtxTrueLSCsignPM->SetYTitle(
"Entries");
2552 TH1F *hMCd0D0LSCsignPM =
new TH1F(
"hMCd0D0LSCsignPM",
"D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2553 hMCd0D0LSCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
2554 hMCd0D0LSCsignPM->SetYTitle(
"Entries");
2556 TH1F *hd0D0LSCsignSB =
new TH1F(
"hd0D0LSCsignSB",
"D^{0} impact par. plot , Loose Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2557 hd0D0LSCsignSB->SetXTitle(
"Impact parameter [#mum]");
2558 hd0D0LSCsignSB->SetYTitle(
"Entries");
2560 TH1F *hd0D0VtxTrueLSCsignSB =
new TH1F(
"hd0D0VtxTrueLSCsignSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2561 hd0D0VtxTrueLSCsignSB->SetXTitle(
"Impact parameter [#mum]");
2562 hd0D0VtxTrueLSCsignSB->SetYTitle(
"Entries");
2564 TH1F *hMCd0D0LSCsignSB =
new TH1F(
"hMCd0D0LSCsignSB",
"D^{0} impact par. plot, Loose Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
2565 hMCd0D0LSCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
2566 hMCd0D0LSCsignSB->SetYTitle(
"Entries");
2575 TH1F *hd0D0ptLSCsignPM;
2576 TH1F *hMCd0D0ptLSCsignPM;
2577 TH1F *hd0D0VtxTrueptLSCsignPM;
2578 TH1F *hd0D0ptLSCsignSB;
2579 TH1F *hMCd0D0ptLSCsignSB;
2580 TH1F *hd0D0VtxTrueptLSCsignSB;
2581 namehist=
"hd0D0ptLSCsign_";
2582 titlehist=
"D^{0} impact par. plot, Loose Cuts, Signal, ";
2583 for(Int_t i=0;i<
fnbins;i++){
2585 strnamept.Append(
"PkMss_pt");
2588 strtitlept=titlehist;
2589 strtitlept.Append(
" Mass Peak, ");
2591 strtitlept.Append(
"<= pt <");
2593 strtitlept.Append(
" [GeV/c]");
2595 hd0D0ptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2596 hd0D0ptLSCsignPM->SetXTitle(
"Impact parameter [#mum] ");
2597 hd0D0ptLSCsignPM->SetYTitle(
"Entries");
2600 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2601 hMCd0D0ptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2602 hMCd0D0ptLSCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
2603 hMCd0D0ptLSCsignPM->SetYTitle(
"Entries");
2607 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2608 hd0D0VtxTrueptLSCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2609 hd0D0VtxTrueptLSCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2610 hd0D0VtxTrueptLSCsignPM->SetYTitle(
"Entries");
2614 strnamept.Append(
"SBMss_pt");
2617 strtitlept=titlehist;
2618 strtitlept.Append(
" Side Bands, ");
2620 strtitlept.Append(
"<= pt <");
2622 strtitlept.Append(
" [GeV/c]");
2624 hd0D0ptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2625 hd0D0ptLSCsignSB->SetXTitle(
"Impact parameter [#mum] ");
2626 hd0D0ptLSCsignSB->SetYTitle(
"Entries");
2629 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2630 hMCd0D0ptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2631 hMCd0D0ptLSCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
2632 hMCd0D0ptLSCsignSB->SetYTitle(
"Entries");
2635 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2636 hd0D0VtxTrueptLSCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2637 hd0D0VtxTrueptLSCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2638 hd0D0VtxTrueptLSCsignSB->SetYTitle(
"Entries");
2646 TH2F *hCPtaVSd0d0LSCback=
new TH2F(
"hCPtaVSd0d0LSCback",
"hCPtaVSd0d0_LooseCuts_Background",1000,-100000.,100000.,100,-1.,1.);
2647 TH1F *hSecVtxZLSCback=
new TH1F(
"hSecVtxZLSCback",
"hSecVtxZ_LooseCuts_Background",1000,-8.,8.);
2648 TH1F *hSecVtxXLSCback=
new TH1F(
"hSecVtxXLSCback",
"hSecVtxX_LooseCuts_Background",1000,-3000.,3000.);
2649 TH1F *hSecVtxYLSCback=
new TH1F(
"hSecVtxYLSCback",
"hSecVtxY_LooseCuts_Background",1000,-3000.,3000.);
2650 TH2F *hSecVtxXYLSCback=
new TH2F(
"hSecVtxXYLSCback",
"hSecVtxXY_LooseCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
2651 TH1F *hSecVtxPhiLSCback=
new TH1F(
"hSecVtxPhiLSCback",
"hSecVtxPhi_LooseCuts_Background",180,-180.1,180.1);
2652 TH1F *hd0singlTrackLSCback=
new TH1F(
"hd0singlTrackLSCback",
"hd0singlTrackLooseCuts_Back",1000,-5000.,5000.);
2653 TH1F *hCPtaLSCback=
new TH1F(
"hCPtaLSCback",
"hCPta_LooseCuts_Background",100,-1.,1.);
2654 TH1F *hd0xd0LSCback=
new TH1F(
"hd0xd0LSCback",
"hd0xd0_LooseCuts_Background",1000,-100000.,100000.);
2655 TH1F *hMassTrueLSCback=
new TH1F(
"hMassTrueLSCback",
"D^{0} MC inv. Mass Loose Cuts Background(All momenta)",600,1.600,2.200);
2656 TH1F *hMassLSCback=
new TH1F(
"hMassLSCback",
"D^{0} inv. Mass Loose Cuts Background (All momenta)",600,1.600,2.200);
2657 hMassLSCback->Sumw2();
2658 TH1F *hMassTrueLSCbackPM=
new TH1F(
"hMassTrueLSCbackPM",
"D^{0} MC inv. Mass Loose Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
2659 TH1F *hMassLSCbackPM=
new TH1F(
"hMassLSCbackPM",
"D^{0} inv. Mass Loose Cuts Background (All momenta), MassPeak",600,1.600,2.200);
2660 hMassLSCbackPM->Sumw2();
2661 TH1F *hMassTrueLSCbackSB=
new TH1F(
"hMassTrueLSCbackSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts Background(All momenta)",600,1.600,2.200);
2662 TH1F *hMassLSCbackSB=
new TH1F(
"hMassLSCbackSB",
"D^{0} inv. Mass in Side Bands Loose Cuts Background (All momenta)",600,1.600,2.200);
2663 hMassLSCbackSB->Sumw2();
2689 TH1F *hdcaLSCback=
new TH1F(
"hdcaLSCback",
"hdca_LooseCuts_Backgr",100,0.,1000.);
2690 hdcaLSCback->SetXTitle(
"dca [#mum]");
2691 hdcaLSCback->SetYTitle(
"Entries");
2692 TH1F *hcosthetastarLSCback=
new TH1F(
"hcosthetastarLSCback",
"hCosThetaStar_LooseCuts_Backgr",50,-1.,1.);
2693 hcosthetastarLSCback->SetXTitle(
"cos #theta^{*}");
2694 hcosthetastarLSCback->SetYTitle(
"Entries");
2695 TH1F *hptD0LSCback=
new TH1F(
"hptD0LSCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2696 hptD0LSCback->SetXTitle(
"p_{t} [GeV/c]");
2697 hptD0LSCback->SetYTitle(
"Entries");
2698 TH1F *hptD0VsMaxPtLSCback=
new TH1F(
"hptD0VsMaxPtLSCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
2699 TH2F *hptD0PTallsqrtLSCback=
new TH2F(
"hptD0PTallsqrtLSCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
2700 TH2F *hptD0PTallLSCback=
new TH2F(
"hptD0PTallLSCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
2701 TH2F *hptD0vsptBLSCback=
new TH2F(
"hptD0vsptBLSCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2702 TH2F *hpD0vspBLSCback=
new TH2F(
"hpD0vspBLSCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2703 TH2F *hptD0vsptcquarkLSCback=
new TH2F(
"hptD0vsptcquarkLSCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2704 TH2F *hpD0vspcquarkLSCback=
new TH2F(
"hpD0vspcquarkLSCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
2716 TH1F *hd0zD0ptLSCback;
2717 TH1F *hInvMassD0LSCback,*hInvMassD0barLSCback;
2718 TH2F *hInvMassPtLSCback=
new TH2F(
"hInvMassPtLSCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
2719 THnSparseF *hSparseLSCback=
new THnSparseF(
"hSparseLSCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
2720 hSparseLSCback->SetBinEdges(0,massbins);
2721 hSparseLSCback->SetBinEdges(1,massbins);
2722 hSparseLSCback->SetBinEdges(2,ptbinsForNsparse);
2723 hSparseLSCback->SetBinEdges(3,impparbins);
2724 hSparseLSCback->SetBinEdges(4,massHypoBins);
2727 TH1F *hCosPDPBLSCback;
2728 TH1F *hCosPcPDLSCback;
2731 TH2F *hd0D0VSd0xd0LSCbackpt;
2732 TH2F *hangletracksVSd0xd0LSCbackpt;
2733 TH2F *hangletracksVSd0D0LSCbackpt;
2734 TH1F *hd0xd0LSCbackpt;
2736 TH2F *hTOFpidLSCback=
new TH2F(
"hTOFpidLSCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
2739 for(Int_t i=0;i<
fnbins;i++){
2740 namehist=
"hd0zD0ptLSCback_pt";
2742 titlehist=
"d0(z) Loose Cuts Backgr ptbin=";
2744 hd0zD0ptLSCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
2745 hd0zD0ptLSCback->SetXTitle(
"d_{0}(z) [#mum]");
2746 hd0zD0ptLSCback->SetYTitle(
"Entries");
2749 namehist=
"hInvMassD0LSCback_pt";
2751 titlehist=
"Invariant Mass Loose Cuts Backgr ptbin=";
2753 hInvMassD0LSCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2754 hInvMassD0LSCback->SetXTitle(
"Invariant Mass [GeV]");
2755 hInvMassD0LSCback->SetYTitle(
"Entries");
2758 namehist=
"hInvMassD0barLSCback_pt";
2760 titlehist=
"Invariant Mass D0bar Loose Cuts Back ptbin=";
2762 hInvMassD0barLSCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
2763 hInvMassD0barLSCback->SetXTitle(
"Invariant Mass [GeV]");
2764 hInvMassD0barLSCback->SetYTitle(
"Entries");
2768 namehist=
"hetaLSCback_pt";
2770 titlehist=
"eta Loose Cuts Backgr ptbin=";
2772 hetaLSCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
2773 hetaLSCback->SetXTitle(
"Pseudorapidity");
2774 hetaLSCback->SetYTitle(
"Entries");
2777 namehist=
"hCosPDPBLSCback_pt";
2779 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
2781 hCosPDPBLSCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2782 hCosPDPBLSCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
2783 hCosPDPBLSCback->SetYTitle(
"Entries");
2786 namehist=
"hCosPcPDLSCback_pt";
2788 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
2790 hCosPcPDLSCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
2791 hCosPcPDLSCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
2792 hCosPcPDLSCback->SetYTitle(
"Entries");
2796 namehist=
"hd0xd0LSCback_pt";
2798 titlehist=
"d0xd0 Loose Cuts Back ptbin=";
2800 hd0xd0LSCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
2801 hd0xd0LSCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
2802 hd0xd0LSCbackpt->SetYTitle(
"Entries");
2806 namehist=
"hd0D0VSd0xd0LSCback_pt";
2808 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
2810 hd0D0VSd0xd0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
2811 hd0D0VSd0xd0LSCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2812 hd0D0VSd0xd0LSCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
2816 namehist=
"hangletracksVSd0xd0LSCback_pt";
2818 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Back ptbin=";
2820 hangletracksVSd0xd0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
2821 hangletracksVSd0xd0LSCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
2822 hangletracksVSd0xd0LSCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
2826 namehist=
"hangletracksVSd0D0LSCback_pt";
2828 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Back ptbin=";
2830 hangletracksVSd0D0LSCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
2831 hangletracksVSd0D0LSCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
2832 hangletracksVSd0D0LSCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
2847 TH1F *hd0D0LSCbackPM =
new TH1F(
"hd0D0LSCbackPM",
"D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2848 hd0D0LSCbackPM->SetXTitle(
"Impact parameter [#mum]");
2849 hd0D0LSCbackPM->SetYTitle(
"Entries");
2851 TH1F *hd0D0VtxTrueLSCbackPM =
new TH1F(
"hd0D0VtxTrueLSCbackPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2852 hd0D0VtxTrueLSCbackPM->SetXTitle(
"Impact parameter [#mum]");
2853 hd0D0VtxTrueLSCbackPM->SetYTitle(
"Entries");
2855 TH1F *hMCd0D0LSCbackPM =
new TH1F(
"hMCd0D0LSCbackPM",
"D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2856 hMCd0D0LSCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
2857 hMCd0D0LSCbackPM->SetYTitle(
"Entries");
2859 TH1F *hd0D0LSCbackSB =
new TH1F(
"hd0D0LSCbackSB",
"D^{0} impact par. plot , Loose Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2860 hd0D0LSCbackSB->SetXTitle(
"Impact parameter [#mum]");
2861 hd0D0LSCbackSB->SetYTitle(
"Entries");
2863 TH1F *hd0D0VtxTrueLSCbackSB =
new TH1F(
"hd0D0VtxTrueLSCbackSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2864 hd0D0VtxTrueLSCbackSB->SetXTitle(
"Impact parameter [#mum]");
2865 hd0D0VtxTrueLSCbackSB->SetYTitle(
"Entries");
2867 TH1F *hMCd0D0LSCbackSB =
new TH1F(
"hMCd0D0LSCbackSB",
"D^{0} impact par. plot, Loose Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
2868 hMCd0D0LSCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
2869 hMCd0D0LSCbackSB->SetYTitle(
"Entries");
2878 TH1F *hd0D0ptLSCbackPM;
2879 TH1F *hMCd0D0ptLSCbackPM;
2880 TH1F *hd0D0VtxTrueptLSCbackPM;
2881 TH1F *hd0D0ptLSCbackSB;
2882 TH1F *hMCd0D0ptLSCbackSB;
2883 TH1F *hd0D0VtxTrueptLSCbackSB;
2884 namehist=
"hd0D0ptLSCback_";
2885 titlehist=
"D^{0} impact par. plot, Loose Cuts, Background, ";
2886 for(Int_t i=0;i<
fnbins;i++){
2888 strnamept.Append(
"PkMss_pt");
2891 strtitlept=titlehist;
2892 strtitlept.Append(
" Mass Peak, ");
2894 strtitlept.Append(
"<= pt <");
2896 strtitlept.Append(
" [GeV/c]");
2898 hd0D0ptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2899 hd0D0ptLSCbackPM->SetXTitle(
"Impact parameter [#mum] ");
2900 hd0D0ptLSCbackPM->SetYTitle(
"Entries");
2903 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2904 hMCd0D0ptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2905 hMCd0D0ptLSCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
2906 hMCd0D0ptLSCbackPM->SetYTitle(
"Entries");
2910 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2911 hd0D0VtxTrueptLSCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2912 hd0D0VtxTrueptLSCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2913 hd0D0VtxTrueptLSCbackPM->SetYTitle(
"Entries");
2917 strnamept.Append(
"SBMss_pt");
2920 strtitlept=titlehist;
2921 strtitlept.Append(
" Side Bands, ");
2923 strtitlept.Append(
"<= pt <");
2925 strtitlept.Append(
" [GeV/c]");
2927 hd0D0ptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2928 hd0D0ptLSCbackSB->SetXTitle(
"Impact parameter [#mum] ");
2929 hd0D0ptLSCbackSB->SetYTitle(
"Entries");
2932 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
2933 hMCd0D0ptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2934 hMCd0D0ptLSCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
2935 hMCd0D0ptLSCbackSB->SetYTitle(
"Entries");
2938 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
2939 hd0D0VtxTrueptLSCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
2940 hd0D0VtxTrueptLSCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
2941 hd0D0VtxTrueptLSCbackSB->SetYTitle(
"Entries");
2951 TH2F *hCPtaVSd0d0LSCfromB=
new TH2F(
"hCPtaVSd0d0LSCfromB",
"hCPtaVSd0d0_LooseCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
2952 TH1F *hSecVtxZLSCfromB=
new TH1F(
"hSecVtxZLSCfromB",
"hSecVtxZ_LooseCuts_FromB",1000,-8.,8.);
2953 TH1F *hSecVtxXLSCfromB=
new TH1F(
"hSecVtxXLSCfromB",
"hSecVtxX_LooseCuts_FromB",1000,-3000.,3000.);
2954 TH1F *hSecVtxYLSCfromB=
new TH1F(
"hSecVtxYLSCfromB",
"hSecVtxY_LooseCuts_FromB",1000,-3000.,3000.);
2955 TH2F *hSecVtxXYLSCfromB=
new TH2F(
"hSecVtxXYLSCfromB",
"hSecVtxXY_LooseCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
2956 TH1F *hSecVtxPhiLSCfromB=
new TH1F(
"hSecVtxPhiLSCfromB",
"hSecVtxPhi_LooseCuts_FromB",180,-180.1,180.1);
2957 TH1F *hd0singlTrackLSCfromB=
new TH1F(
"hd0singlTrackLSCfromB",
"hd0singlTrackLooseCuts_FromB",1000,-5000.,5000.);
2958 TH1F *hCPtaLSCfromB=
new TH1F(
"hCPtaLSCfromB",
"hCPta_LooseCuts_FromB",100,-1.,1.);
2959 TH1F *hd0xd0LSCfromB=
new TH1F(
"hd0xd0LSCfromB",
"hd0xd0_LooseCuts_FromB",1000,-100000.,100000.);
2960 TH1F *hMassTrueLSCfromB=
new TH1F(
"hMassTrueLSCfromB",
"D^{0} MC inv. Mass Loose Cuts FromB(All momenta)",600,1.600,2.200);
2961 TH1F *hMassLSCfromB=
new TH1F(
"hMassLSCfromB",
"D^{0} inv. Mass Loose Cuts FromB (All momenta)",600,1.600,2.200);
2962 hMassLSCfromB->Sumw2();
2963 TH1F *hMassTrueLSCfromBPM=
new TH1F(
"hMassTrueLSCfromBPM",
"D^{0} MC inv. Mass Loose Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
2964 TH1F *hMassLSCfromBPM=
new TH1F(
"hMassLSCfromBPM",
"D^{0} inv. Mass Loose Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
2965 hMassLSCfromBPM->Sumw2();
2966 TH1F *hMassTrueLSCfromBSB=
new TH1F(
"hMassTrueLSCfromBSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts FromB(All momenta)",600,1.600,2.200);
2967 TH1F *hMassLSCfromBSB=
new TH1F(
"hMassLSCfromBSB",
"D^{0} inv. Mass in Side Bands Loose Cuts FromB (All momenta)",600,1.600,2.200);
2968 hMassLSCfromBSB->Sumw2();
2990 TH1F *hdcaLSCfromB=
new TH1F(
"hdcaLSCfromB",
"hdca_LooseCuts_FromB",100,0.,1000.);
2991 hdcaLSCfromB->SetXTitle(
"dca [#mum]");
2992 hdcaLSCfromB->SetYTitle(
"Entries");
2993 TH1F *hcosthetastarLSCfromB=
new TH1F(
"hcosthetastarLSCfromB",
"hCosThetaStar_LooseCuts_FromB",50,-1.,1.);
2994 hcosthetastarLSCfromB->SetXTitle(
"cos #theta^{*}");
2995 hcosthetastarLSCfromB->SetYTitle(
"Entries");
2996 TH1F *hptD0LSCfromB=
new TH1F(
"hptD0LSCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
2997 hptD0LSCfromB->SetXTitle(
"p_{t} [GeV/c]");
2998 hptD0LSCfromB->SetYTitle(
"Entries");
2999 TH1F *hptD0VsMaxPtLSCfromB=
new TH1F(
"hptD0VsMaxPtLSCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3000 TH2F *hptD0PTallsqrtLSCfromB=
new TH2F(
"hptD0PTallsqrtLSCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3001 TH2F *hptD0PTallLSCfromB=
new TH2F(
"hptD0PTallLSCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3002 TH2F *hptD0vsptBLSCfromB=
new TH2F(
"hptD0vsptBLSCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3003 TH2F *hpD0vspBLSCfromB=
new TH2F(
"hpD0vspBLSCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3004 TH2F *hptD0vsptcquarkLSCfromB=
new TH2F(
"hptD0vsptcquarkLSCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3005 TH2F *hpD0vspcquarkLSCfromB=
new TH2F(
"hpD0vspcquarkLSCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3017 TH1F *hd0zD0ptLSCfromB;
3018 TH1F *hInvMassD0LSCfromB,*hInvMassD0barLSCfromB;
3019 TH2F *hInvMassPtLSCfromB=
new TH2F(
"hInvMassPtLSCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3021 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);
3023 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);
3026 THnSparseF *hSparseLSCfromB=
new THnSparseF(
"hSparseLSCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3027 hSparseLSCfromB->SetBinEdges(0,massbins);
3028 hSparseLSCfromB->SetBinEdges(1,massbins);
3029 hSparseLSCfromB->SetBinEdges(2,ptbinsForNsparse);
3030 hSparseLSCfromB->SetBinEdges(3,impparbins);
3031 hSparseLSCfromB->SetBinEdges(4,massHypoBins);
3035 THnSparseF *hSparseRecoLSCfromB=
new THnSparseF(
"hSparseRecoLSCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3036 hSparseRecoLSCfromB->SetBinEdges(0,massbins);
3037 hSparseRecoLSCfromB->SetBinEdges(1,massbins);
3038 hSparseRecoLSCfromB->SetBinEdges(2,ptbinsForNsparse);
3039 hSparseRecoLSCfromB->SetBinEdges(3,impparbins);
3040 hSparseRecoLSCfromB->SetBinEdges(4,massHypoBins);
3045 TH1F *hCosPDPBLSCfromB;
3046 TH1F *hCosPcPDLSCfromB;
3049 TH2F *hd0D0VSd0xd0LSCfromBpt;
3050 TH2F *hangletracksVSd0xd0LSCfromBpt;
3051 TH2F *hangletracksVSd0D0LSCfromBpt;
3052 TH1F *hd0xd0LSCfromBpt;
3055 TH2F *hTOFpidLSCfromB=
new TH2F(
"hTOFpidLSCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3058 for(Int_t i=0;i<
fnbins;i++){
3059 namehist=
"hd0zD0ptLSCfromB_pt";
3061 titlehist=
"d0(z) Loose Cuts FromBm ptbin=";
3063 hd0zD0ptLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3064 hd0zD0ptLSCfromB->SetXTitle(
"d_{0}(z) [#mum]");
3065 hd0zD0ptLSCfromB->SetYTitle(
"Entries");
3068 namehist=
"hInvMassD0LSCfromB_pt";
3070 titlehist=
"Invariant Mass Loose Cuts FromB ptbin=";
3072 hInvMassD0LSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3073 hInvMassD0LSCfromB->SetXTitle(
"Invariant Mass [GeV]");
3074 hInvMassD0LSCfromB->SetYTitle(
"Entries");
3077 namehist=
"hInvMassD0barLSCfromB_pt";
3079 titlehist=
"Invariant Mass D0bar Loose Cuts FromB ptbin=";
3081 hInvMassD0barLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3082 hInvMassD0barLSCfromB->SetXTitle(
"Invariant Mass [GeV]");
3083 hInvMassD0barLSCfromB->SetYTitle(
"Entries");
3086 namehist=
"hetaLSCfromB_pt";
3088 titlehist=
"eta Loose Cuts FromB ptbin=";
3090 hetaLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3091 hetaLSCfromB->SetXTitle(
"Pseudorapidity");
3092 hetaLSCfromB->SetYTitle(
"Entries");
3095 namehist=
"hCosPDPBLSCfromB_pt";
3097 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3099 hCosPDPBLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3100 hCosPDPBLSCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
3101 hCosPDPBLSCfromB->SetYTitle(
"Entries");
3104 namehist=
"hCosPcPDLSCfromB_pt";
3106 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3108 hCosPcPDLSCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3109 hCosPcPDLSCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3110 hCosPcPDLSCfromB->SetYTitle(
"Entries");
3114 namehist=
"hd0xd0LSCfromB_pt";
3116 titlehist=
"d0xd0 Loose Cuts FromB ptbin=";
3118 hd0xd0LSCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3119 hd0xd0LSCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3120 hd0xd0LSCfromBpt->SetYTitle(
"Entries");
3124 namehist=
"hd0D0VSd0xd0LSCfromB_pt";
3126 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
3128 hd0D0VSd0xd0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3129 hd0D0VSd0xd0LSCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3130 hd0D0VSd0xd0LSCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3134 namehist=
"hangletracksVSd0xd0LSCfromB_pt";
3136 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromB ptbin=";
3138 hangletracksVSd0xd0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3139 hangletracksVSd0xd0LSCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3140 hangletracksVSd0xd0LSCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
3144 namehist=
"hangletracksVSd0D0LSCfromB_pt";
3146 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromB ptbin=";
3148 hangletracksVSd0D0LSCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3149 hangletracksVSd0D0LSCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3150 hangletracksVSd0D0LSCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
3162 TH1F *hd0D0LSCfromBPM =
new TH1F(
"hd0D0LSCfromBPM",
"D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3163 hd0D0LSCfromBPM->SetXTitle(
"Impact parameter [#mum]");
3164 hd0D0LSCfromBPM->SetYTitle(
"Entries");
3166 TH1F *hd0D0VtxTrueLSCfromBPM =
new TH1F(
"hd0D0VtxTrueLSCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3167 hd0D0VtxTrueLSCfromBPM->SetXTitle(
"Impact parameter [#mum]");
3168 hd0D0VtxTrueLSCfromBPM->SetYTitle(
"Entries");
3170 TH1F *hMCd0D0LSCfromBPM =
new TH1F(
"hMCd0D0LSCfromBPM",
"D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3171 hMCd0D0LSCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
3172 hMCd0D0LSCfromBPM->SetYTitle(
"Entries");
3174 TH1F *hd0D0LSCfromBSB =
new TH1F(
"hd0D0LSCfromBSB",
"D^{0} impact par. plot , Loose Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3175 hd0D0LSCfromBSB->SetXTitle(
"Impact parameter [#mum]");
3176 hd0D0LSCfromBSB->SetYTitle(
"Entries");
3178 TH1F *hd0D0VtxTrueLSCfromBSB =
new TH1F(
"hd0D0VtxTrueLSCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3179 hd0D0VtxTrueLSCfromBSB->SetXTitle(
"Impact parameter [#mum]");
3180 hd0D0VtxTrueLSCfromBSB->SetYTitle(
"Entries");
3182 TH1F *hMCd0D0LSCfromBSB =
new TH1F(
"hMCd0D0LSCfromBSB",
"D^{0} impact par. plot, Loose Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
3183 hMCd0D0LSCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
3184 hMCd0D0LSCfromBSB->SetYTitle(
"Entries");
3193 TH1F *hd0D0ptLSCfromBPM;
3194 TH1F *hMCd0D0ptLSCfromBPM;
3195 TH1F *hd0D0VtxTrueptLSCfromBPM;
3196 TH1F *hd0D0ptLSCfromBSB;
3197 TH1F *hMCd0D0ptLSCfromBSB;
3198 TH1F *hd0D0VtxTrueptLSCfromBSB;
3199 namehist=
"hd0D0ptLSCfromB_";
3200 titlehist=
"D^{0} impact par. plot, Loose Cuts, FromB, ";
3201 for(Int_t i=0;i<
fnbins;i++){
3203 strnamept.Append(
"PkMss_pt");
3206 strtitlept=titlehist;
3207 strtitlept.Append(
" Mass Peak, ");
3209 strtitlept.Append(
"<= pt <");
3211 strtitlept.Append(
" [GeV/c]");
3213 hd0D0ptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3214 hd0D0ptLSCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
3215 hd0D0ptLSCfromBPM->SetYTitle(
"Entries");
3218 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3219 hMCd0D0ptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3220 hMCd0D0ptLSCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
3221 hMCd0D0ptLSCfromBPM->SetYTitle(
"Entries");
3225 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3226 hd0D0VtxTrueptLSCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3227 hd0D0VtxTrueptLSCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3228 hd0D0VtxTrueptLSCfromBPM->SetYTitle(
"Entries");
3232 strnamept.Append(
"SBMss_pt");
3235 strtitlept=titlehist;
3236 strtitlept.Append(
" Side Bands, ");
3238 strtitlept.Append(
"<= pt <");
3240 strtitlept.Append(
" [GeV/c]");
3242 hd0D0ptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3243 hd0D0ptLSCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
3244 hd0D0ptLSCfromBSB->SetYTitle(
"Entries");
3247 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3248 hMCd0D0ptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3249 hMCd0D0ptLSCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
3250 hMCd0D0ptLSCfromBSB->SetYTitle(
"Entries");
3253 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3254 hd0D0VtxTrueptLSCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3255 hd0D0VtxTrueptLSCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3256 hd0D0VtxTrueptLSCfromBSB->SetYTitle(
"Entries");
3265 TH2F *hCPtaVSd0d0LSCfromDstar=
new TH2F(
"hCPtaVSd0d0LSCfromDstar",
"hCPtaVSd0d0_LooseCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
3266 TH1F *hSecVtxZLSCfromDstar=
new TH1F(
"hSecVtxZLSCfromDstar",
"hSecVtxZ_LooseCuts_FromDStar",1000,-8.,8.);
3267 TH1F *hSecVtxXLSCfromDstar=
new TH1F(
"hSecVtxXLSCfromDstar",
"hSecVtxX_LooseCuts_FromDStar",1000,-3000.,3000.);
3268 TH1F *hSecVtxYLSCfromDstar=
new TH1F(
"hSecVtxYLSCfromDstar",
"hSecVtxY_LooseCuts_FromDStar",1000,-3000.,3000.);
3269 TH2F *hSecVtxXYLSCfromDstar=
new TH2F(
"hSecVtxXYLSCfromDstar",
"hSecVtxXY_LooseCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
3270 TH1F *hSecVtxPhiLSCfromDstar=
new TH1F(
"hSecVtxPhiLSCfromDstar",
"hSecVtxPhi_LooseCuts_FromDStar",180,-180.1,180.1);
3271 TH1F *hd0singlTrackLSCfromDstar=
new TH1F(
"hd0singlTrackLSCfromDstar",
"hd0singlTrackLooseCuts_FromDstar",1000,-5000.,5000.);
3272 TH1F *hCPtaLSCfromDstar=
new TH1F(
"hCPtaLSCfromDstar",
"hCPta_LooseCuts_FromDStar",100,-1.,1.);
3273 TH1F *hd0xd0LSCfromDstar=
new TH1F(
"hd0xd0LSCfromDstar",
"hd0xd0_LooseCuts_FromDStar",1000,-100000.,100000.);
3274 TH1F *hMassTrueLSCfromDstar=
new TH1F(
"hMassTrueLSCfromDstar",
"D^{0} MC inv. Mass Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
3275 TH1F *hMassLSCfromDstar=
new TH1F(
"hMassLSCfromDstar",
"D^{0} inv. Mass Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
3276 hMassLSCfromDstar->Sumw2();
3277 TH1F *hMassTrueLSCfromDstarPM=
new TH1F(
"hMassTrueLSCfromDstarPM",
"D^{0} MC inv. Mass Loose Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
3278 TH1F *hMassLSCfromDstarPM=
new TH1F(
"hMassLSCfromDstarPM",
"D^{0} inv. Mass Loose Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
3279 hMassLSCfromDstarPM->Sumw2();
3280 TH1F *hMassTrueLSCfromDstarSB=
new TH1F(
"hMassTrueLSCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts FromDStar(All momenta)",600,1.600,2.200);
3281 TH1F *hMassLSCfromDstarSB=
new TH1F(
"hMassLSCfromDstarSB",
"D^{0} inv. Mass in Side Bands Loose Cuts FromDStar (All momenta)",600,1.600,2.200);
3282 hMassLSCfromDstarSB->Sumw2();
3307 TH1F *hdcaLSCfromDstar=
new TH1F(
"hdcaLSCfromDstar",
"hdca_LooseCuts_FromDstar",100,0.,1000.);
3308 hdcaLSCfromDstar->SetXTitle(
"dca [#mum]");
3309 hdcaLSCfromDstar->SetYTitle(
"Entries");
3310 TH1F *hcosthetastarLSCfromDstar=
new TH1F(
"hcosthetastarLSCfromDstar",
"hCosThetaStar_LooseCuts_FromDstar",50,-1.,1.);
3311 hcosthetastarLSCfromDstar->SetXTitle(
"cos #theta^{*}");
3312 hcosthetastarLSCfromDstar->SetYTitle(
"Entries");
3313 TH1F *hptD0LSCfromDstar=
new TH1F(
"hptD0LSCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3314 hptD0LSCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
3315 hptD0LSCfromDstar->SetYTitle(
"Entries");
3316 TH1F *hptD0VsMaxPtLSCfromDstar=
new TH1F(
"hptD0VsMaxPtLSCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3317 TH2F *hptD0PTallsqrtLSCfromDstar=
new TH2F(
"hptD0PTallsqrtLSCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3318 TH2F *hptD0PTallLSCfromDstar=
new TH2F(
"hptD0PTallLSCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3319 TH2F *hptD0vsptBLSCfromDstar=
new TH2F(
"hptD0vsptBLSCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3320 TH2F *hpD0vspBLSCfromDstar=
new TH2F(
"hpD0vspBLSCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3321 TH2F *hptD0vsptcquarkLSCfromDstar=
new TH2F(
"hptD0vsptcquarkLSCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3322 TH2F *hpD0vspcquarkLSCfromDstar=
new TH2F(
"hpD0vspcquarkLSCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3334 TH1F *hd0zD0ptLSCfromDstar;
3335 TH1F *hInvMassD0LSCfromDstar,*hInvMassD0barLSCfromDstar;
3336 TH2F *hInvMassPtLSCfromDstar=
new TH2F(
"hInvMassPtLSCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3337 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);
3339 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);
3342 THnSparseF *hSparseLSCfromDstar=
new THnSparseF(
"hSparseLSCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3343 hSparseLSCfromDstar->SetBinEdges(0,massbins);
3344 hSparseLSCfromDstar->SetBinEdges(1,massbins);
3345 hSparseLSCfromDstar->SetBinEdges(2,ptbinsForNsparse);
3346 hSparseLSCfromDstar->SetBinEdges(3,impparbins);
3347 hSparseLSCfromDstar->SetBinEdges(4,massHypoBins);
3349 TH1F *hetaLSCfromDstar;
3350 TH1F *hCosPDPBLSCfromDstar;
3351 TH1F *hCosPcPDLSCfromDstar;
3354 TH2F *hd0D0VSd0xd0LSCfromDstarpt;
3355 TH2F *hangletracksVSd0xd0LSCfromDstarpt;
3356 TH2F *hangletracksVSd0D0LSCfromDstarpt;
3357 TH1F *hd0xd0LSCfromDstarpt;
3359 TH2F *hTOFpidLSCfromDstar=
new TH2F(
"hTOFpidLSCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3362 for(Int_t i=0;i<
fnbins;i++){
3363 namehist=
"hd0zD0ptLSCfromDstar_pt";
3365 titlehist=
"d0(z) Loose Cuts FromDstarm ptbin=";
3367 hd0zD0ptLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3368 hd0zD0ptLSCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
3369 hd0zD0ptLSCfromDstar->SetYTitle(
"Entries");
3372 namehist=
"hInvMassD0LSCfromDstar_pt";
3374 titlehist=
"Invariant Mass Loose Cuts FromDstar ptbin=";
3376 hInvMassD0LSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3377 hInvMassD0LSCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
3378 hInvMassD0LSCfromDstar->SetYTitle(
"Entries");
3381 namehist=
"hInvMassD0barLSCfromDstar_pt";
3383 titlehist=
"Invariant Mass D0bar Loose Cuts FromDstar ptbin=";
3385 hInvMassD0barLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3386 hInvMassD0barLSCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
3387 hInvMassD0barLSCfromDstar->SetYTitle(
"Entries");
3390 namehist=
"hetaLSCfromDstar_pt";
3392 titlehist=
"eta Loose Cuts FromDstar ptbin=";
3394 hetaLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3395 hetaLSCfromDstar->SetXTitle(
"Pseudorapidity");
3396 hetaLSCfromDstar->SetYTitle(
"Entries");
3399 namehist=
"hCosPDPBLSCfromDstar_pt";
3401 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3403 hCosPDPBLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3404 hCosPDPBLSCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
3405 hCosPDPBLSCfromDstar->SetYTitle(
"Entries");
3408 namehist=
"hCosPcPDLSCfromDstar_pt";
3410 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3412 hCosPcPDLSCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3413 hCosPcPDLSCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3414 hCosPcPDLSCfromDstar->SetYTitle(
"Entries");
3418 namehist=
"hd0xd0LSCfromDstar_pt";
3420 titlehist=
"d0xd0 Loose Cuts FromDstar ptbin=";
3422 hd0xd0LSCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3423 hd0xd0LSCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3424 hd0xd0LSCfromDstarpt->SetYTitle(
"Entries");
3428 namehist=
"hd0D0VSd0xd0LSCfromDstar_pt";
3430 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromDstar ptbin=";
3432 hd0D0VSd0xd0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3433 hd0D0VSd0xd0LSCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3434 hd0D0VSd0xd0LSCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3438 namehist=
"hangletracksVSd0xd0LSCfromDstar_pt";
3440 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts FromDstar ptbin=";
3442 hangletracksVSd0xd0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3443 hangletracksVSd0xd0LSCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3444 hangletracksVSd0xd0LSCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
3448 namehist=
"hangletracksVSd0D0LSCfromDstar_pt";
3450 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts FromDstar ptbin=";
3452 hangletracksVSd0D0LSCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3453 hangletracksVSd0D0LSCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3454 hangletracksVSd0D0LSCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
3468 TH1F *hd0D0LSCfromDstPM =
new TH1F(
"hd0D0LSCfromDstarPM",
"D^{0} impact par. plot , Loose Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3469 hd0D0LSCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
3470 hd0D0LSCfromDstPM->SetYTitle(
"Entries");
3472 TH1F *hd0D0VtxTrueLSCfromDstPM =
new TH1F(
"hd0D0VtxTrueLSCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3473 hd0D0VtxTrueLSCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
3474 hd0D0VtxTrueLSCfromDstPM->SetYTitle(
"Entries");
3476 TH1F *hMCd0D0LSCfromDstPM =
new TH1F(
"hMCd0D0LSCfromDstarPM",
"D^{0} impact par. plot, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3477 hMCd0D0LSCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
3478 hMCd0D0LSCfromDstPM->SetYTitle(
"Entries");
3480 TH1F *hd0D0LSCfromDstSB =
new TH1F(
"hd0D0LSCfromDstarSB",
"D^{0} impact par. plot , Loose Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3481 hd0D0LSCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
3482 hd0D0LSCfromDstSB->SetYTitle(
"Entries");
3484 TH1F *hd0D0VtxTrueLSCfromDstSB =
new TH1F(
"hd0D0VtxTrueLSCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3485 hd0D0VtxTrueLSCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
3486 hd0D0VtxTrueLSCfromDstSB->SetYTitle(
"Entries");
3488 TH1F *hMCd0D0LSCfromDstSB =
new TH1F(
"hMCd0D0LSCfromDstarSB",
"D^{0} impact par. plot, Loose Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
3489 hMCd0D0LSCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
3490 hMCd0D0LSCfromDstSB->SetYTitle(
"Entries");
3499 TH1F *hd0D0ptLSCfromDstPM;
3500 TH1F *hMCd0D0ptLSCfromDstPM;
3501 TH1F *hd0D0VtxTrueptLSCfromDstPM;
3502 TH1F *hd0D0ptLSCfromDstSB;
3503 TH1F *hMCd0D0ptLSCfromDstSB;
3504 TH1F *hd0D0VtxTrueptLSCfromDstSB;
3505 namehist=
"hd0D0ptLSCfromDstar_";
3506 titlehist=
"D^{0} impact par. plot, Loose Cuts, FromDStar, ";
3507 for(Int_t i=0;i<
fnbins;i++){
3509 strnamept.Append(
"PkMss_pt");
3512 strtitlept=titlehist;
3513 strtitlept.Append(
" Mass Peak, ");
3515 strtitlept.Append(
"<= pt <");
3517 strtitlept.Append(
" [GeV/c]");
3519 hd0D0ptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3520 hd0D0ptLSCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
3521 hd0D0ptLSCfromDstPM->SetYTitle(
"Entries");
3524 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3525 hMCd0D0ptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3526 hMCd0D0ptLSCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
3527 hMCd0D0ptLSCfromDstPM->SetYTitle(
"Entries");
3531 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3532 hd0D0VtxTrueptLSCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3533 hd0D0VtxTrueptLSCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3534 hd0D0VtxTrueptLSCfromDstPM->SetYTitle(
"Entries");
3538 strnamept.Append(
"SBMss_pt");
3541 strtitlept=titlehist;
3542 strtitlept.Append(
" Side Bands, ");
3544 strtitlept.Append(
"<= pt <");
3546 strtitlept.Append(
" [GeV/c]");
3548 hd0D0ptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3549 hd0D0ptLSCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
3550 hd0D0ptLSCfromDstSB->SetYTitle(
"Entries");
3553 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3554 hMCd0D0ptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3555 hMCd0D0ptLSCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
3556 hMCd0D0ptLSCfromDstSB->SetYTitle(
"Entries");
3559 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3560 hd0D0VtxTrueptLSCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3561 hd0D0VtxTrueptLSCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3562 hd0D0VtxTrueptLSCfromDstSB->SetYTitle(
"Entries");
3571 TH2F *hCPtaVSd0d0LSCother=
new TH2F(
"hCPtaVSd0d0LSCother",
"hCPtaVSd0d0_LooseCuts_other",1000,-100000.,100000.,100,-1.,1.);
3572 TH1F *hSecVtxZLSCother=
new TH1F(
"hSecVtxZLSCother",
"hSecVtxZ_LooseCuts_other",1000,-8.,8.);
3573 TH1F *hSecVtxXLSCother=
new TH1F(
"hSecVtxXLSCother",
"hSecVtxX_LooseCuts_other",1000,-3000.,3000.);
3574 TH1F *hSecVtxYLSCother=
new TH1F(
"hSecVtxYLSCother",
"hSecVtxY_LooseCuts_other",1000,-3000.,3000.);
3575 TH2F *hSecVtxXYLSCother=
new TH2F(
"hSecVtxXYLSCother",
"hSecVtxXY_LooseCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
3576 TH1F *hSecVtxPhiLSCother=
new TH1F(
"hSecVtxPhiLSCother",
"hSecVtxPhi_LooseCuts_other",180,-180.1,180.1);
3577 TH1F *hd0singlTrackLSCother=
new TH1F(
"hd0singlTrackLSCother",
"hd0singlTrackLooseCuts_Other",1000,-5000.,5000.);
3578 TH1F *hCPtaLSCother=
new TH1F(
"hCPtaLSCother",
"hCPta_LooseCuts_other",100,-1.,1.);
3579 TH1F *hd0xd0LSCother=
new TH1F(
"hd0xd0LSCother",
"hd0xd0_LooseCuts_other",1000,-100000.,100000.);
3580 TH1F *hMassTrueLSCother=
new TH1F(
"hMassTrueLSCother",
"D^{0} MC inv. Mass Loose Cuts other(All momenta)",600,1.600,2.200);
3581 TH1F *hMassLSCother=
new TH1F(
"hMassLSCother",
"D^{0} inv. Mass Loose Cuts other (All momenta)",600,1.600,2.200);
3582 hMassLSCother->Sumw2();
3583 TH1F *hMassTrueLSCotherPM=
new TH1F(
"hMassTrueLSCotherPM",
"D^{0} MC inv. Mass Loose Cuts other, Mass Peak. (All momenta)",600,1.600,2.200);
3584 TH1F *hMassLSCotherPM=
new TH1F(
"hMassLSCotherPM",
"D^{0} inv. Mass Loose Cuts other (All momenta), MassPeak",600,1.600,2.200);
3585 hMassLSCotherPM->Sumw2();
3586 TH1F *hMassTrueLSCotherSB=
new TH1F(
"hMassTrueLSCotherSB",
"D^{0} MC inv. Mass in Side Bands Loose Cuts other(All momenta)",600,1.600,2.200);
3587 TH1F *hMassLSCotherSB=
new TH1F(
"hMassLSCotherSB",
"D^{0} inv. Mass in Side Bands Loose Cuts other (All momenta)",600,1.600,2.200);
3588 hMassLSCotherSB->Sumw2();
3610 TH1F *hdcaLSCother=
new TH1F(
"hdcaLSCother",
"hdca_LooseCuts_Other",100,0.,1000.);
3611 hdcaLSCother->SetXTitle(
"dca [#mum]");
3612 hdcaLSCother->SetYTitle(
"Entries");
3613 TH1F *hcosthetastarLSCother=
new TH1F(
"hcosthetastarLSCother",
"hCosThetaStar_LooseCuts_Other",50,-1.,1.);
3614 hcosthetastarLSCother->SetXTitle(
"cos #theta^{*}");
3615 hcosthetastarLSCother->SetYTitle(
"Entries");
3616 TH1F *hptD0LSCother=
new TH1F(
"hptD0LSCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3617 hptD0LSCother->SetXTitle(
"p_{t} [GeV/c]");
3618 hptD0LSCother->SetYTitle(
"Entries");
3619 TH1F *hptD0VsMaxPtLSCother=
new TH1F(
"hptD0VsMaxPtLSCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3620 TH2F *hptD0PTallsqrtLSCother=
new TH2F(
"hptD0PTallsqrtLSCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3621 TH2F *hptD0PTallLSCother=
new TH2F(
"hptD0PTallLSCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3622 TH2F *hptD0vsptBLSCother=
new TH2F(
"hptD0vsptBLSCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3623 TH2F *hpD0vspBLSCother=
new TH2F(
"hpD0vspBLSCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3624 TH2F *hptD0vsptcquarkLSCother=
new TH2F(
"hptD0vsptcquarkLSCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3625 TH2F *hpD0vspcquarkLSCother=
new TH2F(
"hpD0vspcquarkLSCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3637 TH1F *hd0zD0ptLSCother;
3638 TH1F *hInvMassD0LSCother,*hInvMassD0barLSCother;
3639 TH2F *hInvMassPtLSCother=
new TH2F(
"hInvMassPtLSCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3640 THnSparseF *hSparseLSCother=
new THnSparseF(
"hSparseLSCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3641 hSparseLSCother->SetBinEdges(0,massbins);
3642 hSparseLSCother->SetBinEdges(1,massbins);
3643 hSparseLSCother->SetBinEdges(2,ptbinsForNsparse);
3644 hSparseLSCother->SetBinEdges(3,impparbins);
3645 hSparseLSCother->SetBinEdges(4,massHypoBins);
3648 TH1F *hCosPDPBLSCother;
3649 TH1F *hCosPcPDLSCother;
3652 TH2F *hd0D0VSd0xd0LSCotherpt;
3653 TH2F *hangletracksVSd0xd0LSCotherpt;
3654 TH2F *hangletracksVSd0D0LSCotherpt;
3655 TH1F *hd0xd0LSCotherpt;
3657 TH2F *hTOFpidLSCother=
new TH2F(
"hTOFpidLSCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3660 for(Int_t i=0;i<
fnbins;i++){
3661 namehist=
"hd0zD0ptLSCother_pt";
3663 titlehist=
"d0(z) Loose Cuts Otherm ptbin=";
3665 hd0zD0ptLSCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
3666 hd0zD0ptLSCother->SetXTitle(
"d_{0}(z) [#mum]");
3667 hd0zD0ptLSCother->SetYTitle(
"Entries");
3670 namehist=
"hInvMassD0LSCother_pt";
3672 titlehist=
"Invariant Mass Loose Cuts Other ptbin=";
3674 hInvMassD0LSCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3675 hInvMassD0LSCother->SetXTitle(
"Invariant Mass [GeV]");
3676 hInvMassD0LSCother->SetYTitle(
"Entries");
3679 namehist=
"hInvMassD0barLSCother_pt";
3681 titlehist=
"Invariant Mass D0bar Loose Cuts Other ptbin=";
3683 hInvMassD0barLSCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
3684 hInvMassD0barLSCother->SetXTitle(
"Invariant Mass [GeV]");
3685 hInvMassD0barLSCother->SetYTitle(
"Entries");
3688 namehist=
"hetaLSCother_pt";
3690 titlehist=
"eta Loose Cuts Other ptbin=";
3692 hetaLSCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
3693 hetaLSCother->SetXTitle(
"Pseudorapidity");
3694 hetaLSCother->SetYTitle(
"Entries");
3697 namehist=
"hCosPDPBLSCother_pt";
3699 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
3701 hCosPDPBLSCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3702 hCosPDPBLSCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
3703 hCosPDPBLSCother->SetYTitle(
"Entries");
3706 namehist=
"hCosPcPDLSCother_pt";
3708 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
3710 hCosPcPDLSCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
3711 hCosPcPDLSCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
3712 hCosPcPDLSCother->SetYTitle(
"Entries");
3716 namehist=
"hd0xd0LSCother_pt";
3718 titlehist=
"d0xd0 Loose Cuts Other ptbin=";
3720 hd0xd0LSCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
3721 hd0xd0LSCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
3722 hd0xd0LSCotherpt->SetYTitle(
"Entries");
3726 namehist=
"hd0D0VSd0xd0LSCother_pt";
3728 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Other ptbin=";
3730 hd0D0VSd0xd0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
3731 hd0D0VSd0xd0LSCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3732 hd0D0VSd0xd0LSCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
3736 namehist=
"hangletracksVSd0xd0LSCother_pt";
3738 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Loose Cuts Other ptbin=";
3740 hangletracksVSd0xd0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
3741 hangletracksVSd0xd0LSCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
3742 hangletracksVSd0xd0LSCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
3746 namehist=
"hangletracksVSd0D0LSCother_pt";
3748 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Loose Cuts Other ptbin=";
3750 hangletracksVSd0D0LSCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
3751 hangletracksVSd0D0LSCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
3752 hangletracksVSd0D0LSCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
3763 TH1F *hd0D0LSCotherPM =
new TH1F(
"hd0D0LSCotherPM",
"D^{0} impact par. plot , Loose Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3764 hd0D0LSCotherPM->SetXTitle(
"Impact parameter [#mum]");
3765 hd0D0LSCotherPM->SetYTitle(
"Entries");
3767 TH1F *hd0D0VtxTrueLSCotherPM =
new TH1F(
"hd0D0VtxTrueLSCotherPM",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3768 hd0D0VtxTrueLSCotherPM->SetXTitle(
"Impact parameter [#mum]");
3769 hd0D0VtxTrueLSCotherPM->SetYTitle(
"Entries");
3771 TH1F *hMCd0D0LSCotherPM =
new TH1F(
"hMCd0D0LSCotherPM",
"D^{0} impact par. plot, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3772 hMCd0D0LSCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
3773 hMCd0D0LSCotherPM->SetYTitle(
"Entries");
3775 TH1F *hd0D0LSCotherSB =
new TH1F(
"hd0D0LSCotherSB",
"D^{0} impact par. plot , Loose Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3776 hd0D0LSCotherSB->SetXTitle(
"Impact parameter [#mum]");
3777 hd0D0LSCotherSB->SetYTitle(
"Entries");
3779 TH1F *hd0D0VtxTrueLSCotherSB =
new TH1F(
"hd0D0VtxTrueLSCotherSB",
"D^{0} impact par. w.r.t. True Vtx, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3780 hd0D0VtxTrueLSCotherSB->SetXTitle(
"Impact parameter [#mum]");
3781 hd0D0VtxTrueLSCotherSB->SetYTitle(
"Entries");
3783 TH1F *hMCd0D0LSCotherSB =
new TH1F(
"hMCd0D0LSCotherSB",
"D^{0} impact par. plot, Loose Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
3784 hMCd0D0LSCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
3785 hMCd0D0LSCotherSB->SetYTitle(
"Entries");
3794 TH1F *hd0D0ptLSCotherPM;
3795 TH1F *hMCd0D0ptLSCotherPM;
3796 TH1F *hd0D0VtxTrueptLSCotherPM;
3797 TH1F *hd0D0ptLSCotherSB;
3798 TH1F *hMCd0D0ptLSCotherSB;
3799 TH1F *hd0D0VtxTrueptLSCotherSB;
3800 namehist=
"hd0D0ptLSCother_";
3801 titlehist=
"D^{0} impact par. plot, Loose Cuts, Other, ";
3802 for(Int_t i=0;i<
fnbins;i++){
3804 strnamept.Append(
"PkMss_pt");
3807 strtitlept=titlehist;
3808 strtitlept.Append(
" Mass Peak, ");
3810 strtitlept.Append(
"<= pt <");
3812 strtitlept.Append(
" [GeV/c]");
3814 hd0D0ptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3815 hd0D0ptLSCotherPM->SetXTitle(
"Impact parameter [#mum] ");
3816 hd0D0ptLSCotherPM->SetYTitle(
"Entries");
3819 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3820 hMCd0D0ptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3821 hMCd0D0ptLSCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
3822 hMCd0D0ptLSCotherPM->SetYTitle(
"Entries");
3826 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3827 hd0D0VtxTrueptLSCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3828 hd0D0VtxTrueptLSCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3829 hd0D0VtxTrueptLSCotherPM->SetYTitle(
"Entries");
3833 strnamept.Append(
"SBMss_pt");
3836 strtitlept=titlehist;
3837 strtitlept.Append(
" Side Bands, ");
3839 strtitlept.Append(
"<= pt <");
3841 strtitlept.Append(
" [GeV/c]");
3843 hd0D0ptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3844 hd0D0ptLSCotherSB->SetXTitle(
"Impact parameter [#mum] ");
3845 hd0D0ptLSCotherSB->SetYTitle(
"Entries");
3848 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
3849 hMCd0D0ptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3850 hMCd0D0ptLSCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
3851 hMCd0D0ptLSCotherSB->SetYTitle(
"Entries");
3854 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
3855 hd0D0VtxTrueptLSCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
3856 hd0D0VtxTrueptLSCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
3857 hd0D0VtxTrueptLSCotherSB->SetYTitle(
"Entries");
3874 TH2F *hCPtaVSd0d0TGHCsign=
new TH2F(
"hCPtaVSd0d0TGHCsign",
"hCPtaVSd0d0_TightCuts_Signal",1000,-100000.,100000.,100,-1.,1.);
3875 TH1F *hSecVtxZTGHCsign=
new TH1F(
"hSecVtxZTGHCsign",
"hSecVtxZ_TightCuts_Signal",1000,-8.,8.);
3876 TH1F *hSecVtxXTGHCsign=
new TH1F(
"hSecVtxXTGHCsign",
"hSecVtxX_TightCuts_Signal",1000,-3000.,3000.);
3877 TH1F *hSecVtxYTGHCsign=
new TH1F(
"hSecVtxYTGHCsign",
"hSecVtxY_TightCuts_Signal",1000,-3000.,3000.);
3878 TH2F *hSecVtxXYTGHCsign=
new TH2F(
"hSecVtxXYTGHCsign",
"hSecVtxXY_TightCuts_Signal",1000,-3000.,3000.,1000,-3000.,3000.);
3879 TH1F *hSecVtxPhiTGHCsign=
new TH1F(
"hSecVtxPhiTGHCsign",
"hSecVtxPhi_TightCuts_Signal",180,-180.1,180.1);
3880 TH1F *hd0singlTrackTGHCsign=
new TH1F(
"hd0singlTrackTGHCsign",
"hd0singlTrackTightCuts_Signal",1000,-5000.,5000.);
3881 TH1F *hCPtaTGHCsign=
new TH1F(
"hCPtaTGHCsign",
"hCPta_TightCuts_Signal",100,-1.,1.);
3882 TH1F *hd0xd0TGHCsign=
new TH1F(
"hd0xd0TGHCsign",
"hd0xd0_TightCuts_Signal",1000,-100000.,100000.);
3883 TH1F *hMassTrueTGHCsign=
new TH1F(
"hMassTrueTGHCsign",
"D^{0} MC inv. Mass Tight Cuts Signal(All momenta)",600,1.600,2.200);
3884 TH1F *hMassTGHCsign=
new TH1F(
"hMassTGHCsign",
"D^{0} inv. Mass Tight Cuts Signal (All momenta)",600,1.600,2.200);
3885 hMassTGHCsign->Sumw2();
3886 TH1F *hMassTrueTGHCsignPM=
new TH1F(
"hMassTrueTGHCsignPM",
"D^{0} MC inv. Mass Tight Cuts Signal, Mass Peak. (All momenta)",600,1.600,2.200);
3887 TH1F *hMassTGHCsignPM=
new TH1F(
"hMassTGHCsignPM",
"D^{0} inv. Mass Tight Cuts Signal (All momenta), MassPeak",600,1.600,2.200);
3888 hMassTGHCsignPM->Sumw2();
3889 TH1F *hMassTrueTGHCsignSB=
new TH1F(
"hMassTrueTGHCsignSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts Signal(All momenta)",600,1.600,2.200);
3890 TH1F *hMassTGHCsignSB=
new TH1F(
"hMassTGHCsignSB",
"D^{0} inv. Mass in Side Bands Tight Cuts Signal (All momenta)",600,1.600,2.200);
3891 hMassTGHCsignSB->Sumw2();
3915 TH1F *hdcaTGHCsign=
new TH1F(
"hdcaTGHCsign",
"hdca_TightCuts_Signal",100,0.,1000.);
3916 hdcaTGHCsign->SetXTitle(
"dca [#mum]");
3917 hdcaTGHCsign->SetYTitle(
"Entries");
3918 TH1F *hcosthetastarTGHCsign=
new TH1F(
"hcosthetastarTGHCsign",
"hCosThetaStar_TightCuts_Signal",50,-1.,1.);
3919 hcosthetastarTGHCsign->SetXTitle(
"cos #theta^{*}");
3920 hcosthetastarTGHCsign->SetYTitle(
"Entries");
3921 TH1F *hptD0TGHCsign=
new TH1F(
"hptD0TGHCsign",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
3922 hptD0TGHCsign->SetXTitle(
"p_{t} [GeV/c]");
3923 hptD0TGHCsign->SetYTitle(
"Entries");
3924 TH1F *hptD0VsMaxPtTGHCsign=
new TH1F(
"hptD0VsMaxPtTGHCsign",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
3925 TH2F *hptD0PTallsqrtTGHCsign=
new TH2F(
"hptD0PTallsqrtTGHCsign",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
3926 TH2F *hptD0PTallTGHCsign=
new TH2F(
"hptD0PTallTGHCsign",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
3927 TH2F *hptD0vsptBTGHCsign=
new TH2F(
"hptD0vsptBTGHCsign",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3928 TH2F *hpD0vspBTGHCsign=
new TH2F(
"hpD0vspBTGHCsign",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3929 TH2F *hptD0vsptcquarkTGHCsign=
new TH2F(
"hptD0vsptcquarkTGHCsign",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3930 TH2F *hpD0vspcquarkTGHCsign=
new TH2F(
"hpD0vspcquarkTGHCsign",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
3942 TH1F *hd0zD0ptTGHCsign;
3943 TH1F *hInvMassD0TGHCsign,*hInvMassD0barTGHCsign;
3944 TH2F *hInvMassPtTGHCsign=
new TH2F(
"hInvMassPtTGHCsign",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
3945 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);
3947 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);
3951 THnSparseF *hSparseTGHCsign=
new THnSparseF(
"hSparseTGHCsign",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
3952 hSparseTGHCsign->SetBinEdges(0,massbins);
3953 hSparseTGHCsign->SetBinEdges(1,massbins);
3954 hSparseTGHCsign->SetBinEdges(2,ptbinsForNsparse);
3955 hSparseTGHCsign->SetBinEdges(3,impparbins);
3956 hSparseTGHCsign->SetBinEdges(4,massHypoBins);
3960 THnSparseF *hSparseCxyLxyTGHCsign=
new THnSparseF(
"hSparseCxyLxyTGHCsign",
"Candidate Mass;massD0;Pt;CosXY;Lxy",4,nbinsSparsCxyLxy,binLowLimitSparseCxyLxy,binUpLimitSparseCxyLxy);
3961 hSparseCxyLxyTGHCsign->SetBinEdges(1,ptbinlimitsCxyLxy);
3962 hSparseCxyLxyTGHCsign->GetAxis(0)->SetName(
"mass");
3963 hSparseCxyLxyTGHCsign->GetAxis(0)->SetTitle(
"Invariant Mass (K#pi) [GeV/c^{2}]");
3964 hSparseCxyLxyTGHCsign->GetAxis(1)->SetName(
"pt");
3965 hSparseCxyLxyTGHCsign->GetAxis(1)->SetTitle(
"p_{t} [GeV/c]");
3966 hSparseCxyLxyTGHCsign->GetAxis(2)->SetName(
"CosPointXY");
3967 hSparseCxyLxyTGHCsign->GetAxis(2)->SetTitle(
"Cos#theta_{point}^{XY}");
3968 hSparseCxyLxyTGHCsign->GetAxis(3)->SetName(
"NormDecLengthXY");
3969 hSparseCxyLxyTGHCsign->GetAxis(3)->SetTitle(
"Normalized XY decay length");
3976 TH1F *hCosPDPBTGHCsign;
3977 TH1F *hCosPcPDTGHCsign;
3980 TH2F *hd0D0VSd0xd0TGHCsignpt;
3981 TH2F *hangletracksVSd0xd0TGHCsignpt;
3982 TH2F *hangletracksVSd0D0TGHCsignpt;
3983 TH1F *hd0xd0TGHCsignpt;
3984 TH1F *hPhiHistPMTGHCsignpt,*hPhiHistSBTGHCsignpt;
3986 TH2F *hTOFpidTGHCsign=
new TH2F(
"hTOFpidTGHCsign",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
3989 for(Int_t i=0;i<
fnbins;i++){
3991 namehist=
"hPhiHistPMTGHCsign_pt";
3993 titlehist=
"Azimuthal correlation TGH Cuts Sign PM ptbin=";
3995 hPhiHistPMTGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
3996 hPhiHistPMTGHCsignpt->Sumw2();
3999 namehist=
"hPhiHistSBTGHCsign_pt";
4001 titlehist=
"Azimuthal correlation TGH Cuts Sign SB ptbin=";
4003 hPhiHistSBTGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.15,3.15);
4004 hPhiHistSBTGHCsignpt->Sumw2();
4007 namehist=
"hd0zD0ptTGHCsign_pt";
4009 titlehist=
"d0(z) Tight Cuts Signal ptbin=";
4011 hd0zD0ptTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4012 hd0zD0ptTGHCsign->SetXTitle(
"d_{0}(z) [#mum]");
4013 hd0zD0ptTGHCsign->SetYTitle(
"Entries");
4016 namehist=
"hInvMassD0TGHCsign_pt";
4018 titlehist=
"Invariant Mass Tight Cuts Signal ptbin=";
4020 hInvMassD0TGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4021 hInvMassD0TGHCsign->SetXTitle(
"Invariant Mass [GeV]");
4022 hInvMassD0TGHCsign->SetYTitle(
"Entries");
4025 namehist=
"hInvMassD0barTGHCsign_pt";
4027 titlehist=
"Invariant Mass D0bar Tight Cuts Signal ptbin=";
4029 hInvMassD0barTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4030 hInvMassD0barTGHCsign->SetXTitle(
"Invariant Mass [GeV]");
4031 hInvMassD0barTGHCsign->SetYTitle(
"Entries");
4035 namehist=
"hetaTGHCsign_pt";
4037 titlehist=
"eta Tight Cuts Signal ptbin=";
4039 hetaTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4040 hetaTGHCsign->SetXTitle(
"Pseudorapidity");
4041 hetaTGHCsign->SetYTitle(
"Entries");
4044 namehist=
"hCosPDPBTGHCsign_pt";
4046 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4048 hCosPDPBTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4049 hCosPDPBTGHCsign->SetXTitle(
"Cosine between D0 momentum and B momentum");
4050 hCosPDPBTGHCsign->SetYTitle(
"Entries");
4053 namehist=
"hCosPcPDTGHCsign_pt";
4055 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4057 hCosPcPDTGHCsign=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4058 hCosPcPDTGHCsign->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4059 hCosPcPDTGHCsign->SetYTitle(
"Entries");
4063 namehist=
"hd0xd0TGHCsign_pt";
4065 titlehist=
"d0xd0 Tight Cuts Signal ptbin=";
4067 hd0xd0TGHCsignpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4068 hd0xd0TGHCsignpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4069 hd0xd0TGHCsignpt->SetYTitle(
"Entries");
4073 namehist=
"hd0D0VSd0xd0TGHCsign_pt";
4075 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Signal ptbin=";
4077 hd0D0VSd0xd0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4078 hd0D0VSd0xd0TGHCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4079 hd0D0VSd0xd0TGHCsignpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4083 namehist=
"hangletracksVSd0xd0TGHCsign_pt";
4085 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Signal ptbin=";
4087 hangletracksVSd0xd0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4088 hangletracksVSd0xd0TGHCsignpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4089 hangletracksVSd0xd0TGHCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
4093 namehist=
"hangletracksVSd0D0TGHCsign_pt";
4095 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Signal ptbin=";
4097 hangletracksVSd0D0TGHCsignpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4098 hangletracksVSd0D0TGHCsignpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4099 hangletracksVSd0D0TGHCsignpt->SetYTitle(
" angle between K and #p tracks [rad]");
4114 TH1F *hd0D0TGHCsignPM =
new TH1F(
"hd0D0TGHCsignPM",
"D^{0} impact par. plot , Tight Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4115 hd0D0TGHCsignPM->SetXTitle(
"Impact parameter [#mum]");
4116 hd0D0TGHCsignPM->SetYTitle(
"Entries");
4118 TH1F *hd0D0VtxTrueTGHCsignPM =
new TH1F(
"hd0D0VtxTrueTGHCsignPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4119 hd0D0VtxTrueTGHCsignPM->SetXTitle(
"Impact parameter [#mum]");
4120 hd0D0VtxTrueTGHCsignPM->SetYTitle(
"Entries");
4122 TH1F *hMCd0D0TGHCsignPM =
new TH1F(
"hMCd0D0TGHCsignPM",
"D^{0} impact par. plot, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4123 hMCd0D0TGHCsignPM->SetXTitle(
"MC Impact parameter [#mum]");
4124 hMCd0D0TGHCsignPM->SetYTitle(
"Entries");
4126 TH1F *hd0D0TGHCsignSB =
new TH1F(
"hd0D0TGHCsignSB",
"D^{0} impact par. plot , Tight Cuts ,Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4127 hd0D0TGHCsignSB->SetXTitle(
"Impact parameter [#mum]");
4128 hd0D0TGHCsignSB->SetYTitle(
"Entries");
4130 TH1F *hd0D0VtxTrueTGHCsignSB =
new TH1F(
"hd0D0VtxTrueTGHCsignSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4131 hd0D0VtxTrueTGHCsignSB->SetXTitle(
"Impact parameter [#mum]");
4132 hd0D0VtxTrueTGHCsignSB->SetYTitle(
"Entries");
4134 TH1F *hMCd0D0TGHCsignSB =
new TH1F(
"hMCd0D0TGHCsignSB",
"D^{0} impact par. plot, Tight Cuts, Signal,Mass Peak (All momenta)",1000,-1000.,1000.);
4135 hMCd0D0TGHCsignSB->SetXTitle(
"MC Impact parameter [#mum]");
4136 hMCd0D0TGHCsignSB->SetYTitle(
"Entries");
4145 TH1F *hd0D0ptTGHCsignPM;
4146 TH1F *hMCd0D0ptTGHCsignPM;
4147 TH1F *hd0D0VtxTrueptTGHCsignPM;
4148 TH1F *hd0D0ptTGHCsignSB;
4149 TH1F *hMCd0D0ptTGHCsignSB;
4150 TH1F *hd0D0VtxTrueptTGHCsignSB;
4151 namehist=
"hd0D0ptTGHCsign_";
4152 titlehist=
"D^{0} impact par. plot, Tight Cuts, Signal, ";
4153 for(Int_t i=0;i<
fnbins;i++){
4155 strnamept.Append(
"PkMss_pt");
4158 strtitlept=titlehist;
4159 strtitlept.Append(
" Mass Peak, ");
4161 strtitlept.Append(
"<= pt <");
4163 strtitlept.Append(
" [GeV/c]");
4165 hd0D0ptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4166 hd0D0ptTGHCsignPM->SetXTitle(
"Impact parameter [#mum] ");
4167 hd0D0ptTGHCsignPM->SetYTitle(
"Entries");
4170 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4171 hMCd0D0ptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4172 hMCd0D0ptTGHCsignPM->SetXTitle(
"MC Impact parameter [#mum] ");
4173 hMCd0D0ptTGHCsignPM->SetYTitle(
"Entries");
4177 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4178 hd0D0VtxTrueptTGHCsignPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4179 hd0D0VtxTrueptTGHCsignPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4180 hd0D0VtxTrueptTGHCsignPM->SetYTitle(
"Entries");
4184 strnamept.Append(
"SBMss_pt");
4187 strtitlept=titlehist;
4188 strtitlept.Append(
" Side Bands, ");
4190 strtitlept.Append(
"<= pt <");
4192 strtitlept.Append(
" [GeV/c]");
4194 hd0D0ptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4195 hd0D0ptTGHCsignSB->SetXTitle(
"Impact parameter [#mum] ");
4196 hd0D0ptTGHCsignSB->SetYTitle(
"Entries");
4199 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4200 hMCd0D0ptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4201 hMCd0D0ptTGHCsignSB->SetXTitle(
"MC Impact parameter [#mum] ");
4202 hMCd0D0ptTGHCsignSB->SetYTitle(
"Entries");
4205 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4206 hd0D0VtxTrueptTGHCsignSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4207 hd0D0VtxTrueptTGHCsignSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4208 hd0D0VtxTrueptTGHCsignSB->SetYTitle(
"Entries");
4216 TH2F *hCPtaVSd0d0TGHCback=
new TH2F(
"hCPtaVSd0d0TGHCback",
"hCPtaVSd0d0_TightCuts_Background",1000,-100000.,100000.,100,-1.,1.);
4217 TH1F *hSecVtxZTGHCback=
new TH1F(
"hSecVtxZTGHCback",
"hSecVtxZ_TightCuts_Background",1000,-8.,8.);
4218 TH1F *hSecVtxXTGHCback=
new TH1F(
"hSecVtxXTGHCback",
"hSecVtxX_TightCuts_Background",1000,-3000.,3000.);
4219 TH1F *hSecVtxYTGHCback=
new TH1F(
"hSecVtxYTGHCback",
"hSecVtxY_TightCuts_Background",1000,-3000.,3000.);
4220 TH2F *hSecVtxXYTGHCback=
new TH2F(
"hSecVtxXYTGHCback",
"hSecVtxXY_TightCuts_Background",1000,-3000.,3000.,1000,-3000.,3000.);
4221 TH1F *hSecVtxPhiTGHCback=
new TH1F(
"hSecVtxPhiTGHCback",
"hSecVtxPhi_TightCuts_Background",180,-180.1,180.1);
4222 TH1F *hd0singlTrackTGHCback=
new TH1F(
"hd0singlTrackTGHCback",
"hd0singlTrackTightCuts_Back",1000,-5000.,5000.);
4223 TH1F *hCPtaTGHCback=
new TH1F(
"hCPtaTGHCback",
"hCPta_TightCuts_Background",100,-1.,1.);
4224 TH1F *hd0xd0TGHCback=
new TH1F(
"hd0xd0TGHCback",
"hd0xd0_TightCuts_Background",1000,-100000.,100000.);
4225 TH1F *hMassTrueTGHCback=
new TH1F(
"hMassTrueTGHCback",
"D^{0} MC inv. Mass Tight Cuts Background(All momenta)",600,1.600,2.200);
4226 TH1F *hMassTGHCback=
new TH1F(
"hMassTGHCback",
"D^{0} inv. Mass Tight Cuts Background (All momenta)",600,1.600,2.200);
4227 hMassTGHCback->Sumw2();
4228 TH1F *hMassTrueTGHCbackPM=
new TH1F(
"hMassTrueTGHCbackPM",
"D^{0} MC inv. Mass Tight Cuts Background, Mass Peak. (All momenta)",600,1.600,2.200);
4229 TH1F *hMassTGHCbackPM=
new TH1F(
"hMassTGHCbackPM",
"D^{0} inv. Mass Tight Cuts Background (All momenta), MassPeak",600,1.600,2.200);
4230 hMassTGHCbackPM->Sumw2();
4231 TH1F *hMassTrueTGHCbackSB=
new TH1F(
"hMassTrueTGHCbackSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts Backgrround(All momenta)",600,1.600,2.200);
4232 TH1F *hMassTGHCbackSB=
new TH1F(
"hMassTGHCbackSB",
"D^{0} inv. Mass in Side Bands Tight Cuts Background (All momenta)",600,1.600,2.200);
4233 hMassTGHCbackSB->Sumw2();
4258 TH1F *hdcaTGHCback=
new TH1F(
"hdcaTGHCback",
"hdca_TightCuts_Backgr",100,0.,1000.);
4259 hdcaTGHCback->SetXTitle(
"dca [#mum]");
4260 hdcaTGHCback->SetYTitle(
"Entries");
4261 TH1F *hcosthetastarTGHCback=
new TH1F(
"hcosthetastarTGHCback",
"hCosThetaStar_TightCuts_Backgr",50,-1.,1.);
4262 hcosthetastarTGHCback->SetXTitle(
"cos #theta^{*}");
4263 hcosthetastarTGHCback->SetYTitle(
"Entries");
4264 TH1F *hptD0TGHCback=
new TH1F(
"hptD0TGHCback",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4265 hptD0TGHCback->SetXTitle(
"p_{t} [GeV/c]");
4266 hptD0TGHCback->SetYTitle(
"Entries");
4267 TH1F *hptD0VsMaxPtTGHCback=
new TH1F(
"hptD0VsMaxPtTGHCback",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4268 TH2F *hptD0PTallsqrtTGHCback=
new TH2F(
"hptD0PTallsqrtTGHCback",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4269 TH2F *hptD0PTallTGHCback=
new TH2F(
"hptD0PTallTGHCback",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4270 TH2F *hptD0vsptBTGHCback=
new TH2F(
"hptD0vsptBTGHCback",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4271 TH2F *hpD0vspBTGHCback=
new TH2F(
"hpD0vspBTGHCback",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4272 TH2F *hptD0vsptcquarkTGHCback=
new TH2F(
"hptD0vsptcquarkTGHCback",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4273 TH2F *hpD0vspcquarkTGHCback=
new TH2F(
"hpD0vspcquarkTGHCback",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4285 TH1F *hd0zD0ptTGHCback;
4286 TH1F *hInvMassD0TGHCback,*hInvMassD0barTGHCback;
4287 TH2F *hInvMassPtTGHCback=
new TH2F(
"hInvMassPtTGHCback",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4288 THnSparseF *hSparseTGHCback=
new THnSparseF(
"hSparseTGHCback",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4289 hSparseTGHCback->SetBinEdges(0,massbins);
4290 hSparseTGHCback->SetBinEdges(1,massbins);
4291 hSparseTGHCback->SetBinEdges(2,ptbinsForNsparse);
4292 hSparseTGHCback->SetBinEdges(3,impparbins);
4293 hSparseTGHCback->SetBinEdges(4,massHypoBins);
4296 TH1F *hCosPDPBTGHCback;
4297 TH1F *hCosPcPDTGHCback;
4300 TH2F *hd0D0VSd0xd0TGHCbackpt;
4301 TH2F *hangletracksVSd0xd0TGHCbackpt;
4302 TH2F *hangletracksVSd0D0TGHCbackpt;
4303 TH1F *hd0xd0TGHCbackpt;
4305 TH2F *hTOFpidTGHCback=
new TH2F(
"hTOFpidTGHCback",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4309 for(Int_t i=0;i<
fnbins;i++){
4310 namehist=
"hd0zD0ptTGHCback_pt";
4312 titlehist=
"d0(z) Tight Cuts Backgrm ptbin=";
4314 hd0zD0ptTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4315 hd0zD0ptTGHCback->SetXTitle(
"d_{0}(z) [#mum]");
4316 hd0zD0ptTGHCback->SetYTitle(
"Entries");
4319 namehist=
"hInvMassD0TGHCback_pt";
4321 titlehist=
"Invariant Mass Tight Cuts Backgr ptbin=";
4323 hInvMassD0TGHCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4324 hInvMassD0TGHCback->SetXTitle(
"Invariant Mass [GeV]");
4325 hInvMassD0TGHCback->SetYTitle(
"Entries");
4328 namehist=
"hInvMassD0barTGHCback_pt";
4330 titlehist=
"Invariant Mass D0bar Tight Cuts Back ptbin=";
4332 hInvMassD0barTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4333 hInvMassD0barTGHCback->SetXTitle(
"Invariant Mass [GeV]");
4334 hInvMassD0barTGHCback->SetYTitle(
"Entries");
4337 namehist=
"hetaTGHCback_pt";
4339 titlehist=
"eta Tight Cuts Backgr ptbin=";
4341 hetaTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4342 hetaTGHCback->SetXTitle(
"Pseudorapidity");
4343 hetaTGHCback->SetYTitle(
"Entries");
4346 namehist=
"hCosPDPBTGHCback_pt";
4348 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4350 hCosPDPBTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4351 hCosPDPBTGHCback->SetXTitle(
"Cosine between D0 momentum and B momentum");
4352 hCosPDPBTGHCback->SetYTitle(
"Entries");
4355 namehist=
"hCosPcPDTGHCback_pt";
4357 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4359 hCosPcPDTGHCback=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4360 hCosPcPDTGHCback->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4361 hCosPcPDTGHCback->SetYTitle(
"Entries");
4365 namehist=
"hd0xd0TGHCback_pt";
4367 titlehist=
"d0xd0 Tight Cuts Back ptbin=";
4369 hd0xd0TGHCbackpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4370 hd0xd0TGHCbackpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4371 hd0xd0TGHCbackpt->SetYTitle(
"Entries");
4375 namehist=
"hd0D0VSd0xd0TGHCback_pt";
4377 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Back ptbin=";
4379 hd0D0VSd0xd0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4380 hd0D0VSd0xd0TGHCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4381 hd0D0VSd0xd0TGHCbackpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4385 namehist=
"hangletracksVSd0xd0TGHCback_pt";
4387 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Back ptbin=";
4389 hangletracksVSd0xd0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4390 hangletracksVSd0xd0TGHCbackpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4391 hangletracksVSd0xd0TGHCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
4395 namehist=
"hangletracksVSd0D0TGHCback_pt";
4397 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Back ptbin=";
4399 hangletracksVSd0D0TGHCbackpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4400 hangletracksVSd0D0TGHCbackpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4401 hangletracksVSd0D0TGHCbackpt->SetYTitle(
" angle between K and #p tracks [rad]");
4414 TH1F *hd0D0TGHCbackPM =
new TH1F(
"hd0D0TGHCbackPM",
"D^{0} impact par. plot , Tight Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4415 hd0D0TGHCbackPM->SetXTitle(
"Impact parameter [#mum]");
4416 hd0D0TGHCbackPM->SetYTitle(
"Entries");
4418 TH1F *hd0D0VtxTrueTGHCbackPM =
new TH1F(
"hd0D0VtxTrueTGHCbackPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4419 hd0D0VtxTrueTGHCbackPM->SetXTitle(
"Impact parameter [#mum]");
4420 hd0D0VtxTrueTGHCbackPM->SetYTitle(
"Entries");
4422 TH1F *hMCd0D0TGHCbackPM =
new TH1F(
"hMCd0D0TGHCbackPM",
"D^{0} impact par. plot, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4423 hMCd0D0TGHCbackPM->SetXTitle(
"MC Impact parameter [#mum]");
4424 hMCd0D0TGHCbackPM->SetYTitle(
"Entries");
4426 TH1F *hd0D0TGHCbackSB =
new TH1F(
"hd0D0TGHCbackSB",
"D^{0} impact par. plot , Tight Cuts ,Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4427 hd0D0TGHCbackSB->SetXTitle(
"Impact parameter [#mum]");
4428 hd0D0TGHCbackSB->SetYTitle(
"Entries");
4430 TH1F *hd0D0VtxTrueTGHCbackSB =
new TH1F(
"hd0D0VtxTrueTGHCbackSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4431 hd0D0VtxTrueTGHCbackSB->SetXTitle(
"Impact parameter [#mum]");
4432 hd0D0VtxTrueTGHCbackSB->SetYTitle(
"Entries");
4434 TH1F *hMCd0D0TGHCbackSB =
new TH1F(
"hMCd0D0TGHCbackSB",
"D^{0} impact par. plot, Tight Cuts, Background,Mass Peak (All momenta)",1000,-1000.,1000.);
4435 hMCd0D0TGHCbackSB->SetXTitle(
"MC Impact parameter [#mum]");
4436 hMCd0D0TGHCbackSB->SetYTitle(
"Entries");
4445 TH1F *hd0D0ptTGHCbackPM;
4446 TH1F *hMCd0D0ptTGHCbackPM;
4447 TH1F *hd0D0VtxTrueptTGHCbackPM;
4448 TH1F *hd0D0ptTGHCbackSB;
4449 TH1F *hMCd0D0ptTGHCbackSB;
4450 TH1F *hd0D0VtxTrueptTGHCbackSB;
4451 namehist=
"hd0D0ptTGHCback_";
4452 titlehist=
"D^{0} impact par. plot, Tight Cuts, Background, ";
4453 for(Int_t i=0;i<
fnbins;i++){
4455 strnamept.Append(
"PkMss_pt");
4458 strtitlept=titlehist;
4459 strtitlept.Append(
" Mass Peak, ");
4461 strtitlept.Append(
"<= pt <");
4463 strtitlept.Append(
" [GeV/c]");
4465 hd0D0ptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4466 hd0D0ptTGHCbackPM->SetXTitle(
"Impact parameter [#mum] ");
4467 hd0D0ptTGHCbackPM->SetYTitle(
"Entries");
4470 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4471 hMCd0D0ptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4472 hMCd0D0ptTGHCbackPM->SetXTitle(
"MC Impact parameter [#mum] ");
4473 hMCd0D0ptTGHCbackPM->SetYTitle(
"Entries");
4477 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4478 hd0D0VtxTrueptTGHCbackPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4479 hd0D0VtxTrueptTGHCbackPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4480 hd0D0VtxTrueptTGHCbackPM->SetYTitle(
"Entries");
4484 strnamept.Append(
"SBMss_pt");
4487 strtitlept=titlehist;
4488 strtitlept.Append(
" Side Bands, ");
4490 strtitlept.Append(
"<= pt <");
4492 strtitlept.Append(
" [GeV/c]");
4494 hd0D0ptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4495 hd0D0ptTGHCbackSB->SetXTitle(
"Impact parameter [#mum] ");
4496 hd0D0ptTGHCbackSB->SetYTitle(
"Entries");
4499 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4500 hMCd0D0ptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4501 hMCd0D0ptTGHCbackSB->SetXTitle(
"MC Impact parameter [#mum] ");
4502 hMCd0D0ptTGHCbackSB->SetYTitle(
"Entries");
4505 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4506 hd0D0VtxTrueptTGHCbackSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4507 hd0D0VtxTrueptTGHCbackSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4508 hd0D0VtxTrueptTGHCbackSB->SetYTitle(
"Entries");
4518 TH2F *hCPtaVSd0d0TGHCfromB=
new TH2F(
"hCPtaVSd0d0TGHCfromB",
"hCPtaVSd0d0_TightCuts_FromB",1000,-100000.,100000.,100,-1.,1.);
4519 TH1F *hSecVtxZTGHCfromB=
new TH1F(
"hSecVtxZTGHCfromB",
"hSecVtxZ_TightCuts_FromB",1000,-8.,8.);
4520 TH1F *hSecVtxXTGHCfromB=
new TH1F(
"hSecVtxXTGHCfromB",
"hSecVtxX_TightCuts_FromB",1000,-3000.,3000.);
4521 TH1F *hSecVtxYTGHCfromB=
new TH1F(
"hSecVtxYTGHCfromB",
"hSecVtxY_TightCuts_FromB",1000,-3000.,3000.);
4522 TH2F *hSecVtxXYTGHCfromB=
new TH2F(
"hSecVtxXYTGHCfromB",
"hSecVtxXY_TightCuts_FromB",1000,-3000.,3000.,1000,-3000.,3000.);
4523 TH1F *hSecVtxPhiTGHCfromB=
new TH1F(
"hSecVtxPhiTGHCfromB",
"hSecVtxPhi_TightCuts_FromB",180,-180.1,180.1);
4524 TH1F *hd0singlTrackTGHCfromB=
new TH1F(
"hd0singlTrackTGHCfromB",
"hd0singlTrackTightCuts_FromB",1000,-5000.,5000.);
4525 TH1F *hCPtaTGHCfromB=
new TH1F(
"hCPtaTGHCfromB",
"hCPta_TightCuts_FromB",100,-1.,1.);
4526 TH1F *hd0xd0TGHCfromB=
new TH1F(
"hd0xd0TGHCfromB",
"hd0xd0_TightCuts_FromB",1000,-100000.,100000.);
4527 TH1F *hMassTrueTGHCfromB=
new TH1F(
"hMassTrueTGHCfromB",
"D^{0} MC inv. Mass Tight Cuts FromB(All momenta)",600,1.600,2.200);
4528 TH1F *hMassTGHCfromB=
new TH1F(
"hMassTGHCfromB",
"D^{0} inv. Mass Tight Cuts FromB (All momenta)",600,1.600,2.200);
4529 hMassTGHCfromB->Sumw2();
4530 TH1F *hMassTrueTGHCfromBPM=
new TH1F(
"hMassTrueTGHCfromBPM",
"D^{0} MC inv. Mass Tight Cuts FromB, Mass Peak. (All momenta)",600,1.600,2.200);
4531 TH1F *hMassTGHCfromBPM=
new TH1F(
"hMassTGHCfromBPM",
"D^{0} inv. Mass Tight Cuts FromB (All momenta), MassPeak",600,1.600,2.200);
4532 hMassTGHCfromBPM->Sumw2();
4533 TH1F *hMassTrueTGHCfromBSB=
new TH1F(
"hMassTrueTGHCfromBSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts FromB(All momenta)",600,1.600,2.200);
4534 TH1F *hMassTGHCfromBSB=
new TH1F(
"hMassTGHCfromBSB",
"D^{0} inv. Mass in Side Bands Tight Cuts FromB (All momenta)",600,1.600,2.200);
4535 hMassTGHCfromBSB->Sumw2();
4556 TH1F *hdcaTGHCfromB=
new TH1F(
"hdcaTGHCfromB",
"hdca_TightCuts_FromB",100,0.,1000.);
4557 hdcaTGHCfromB->SetXTitle(
"dca [#mum]");
4558 hdcaTGHCfromB->SetYTitle(
"Entries");
4559 TH1F *hcosthetastarTGHCfromB=
new TH1F(
"hcosthetastarTGHCfromB",
"hCosThetaStar_TightCuts_FromB",50,-1.,1.);
4560 hcosthetastarTGHCfromB->SetXTitle(
"cos #theta^{*}");
4561 hcosthetastarTGHCfromB->SetYTitle(
"Entries");
4562 TH1F *hptD0TGHCfromB=
new TH1F(
"hptD0TGHCfromB",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4563 hptD0TGHCfromB->SetXTitle(
"p_{t} [GeV/c]");
4564 hptD0TGHCfromB->SetYTitle(
"Entries");
4565 TH1F *hptD0VsMaxPtTGHCfromB=
new TH1F(
"hptD0VsMaxPtTGHCfromB",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4566 TH2F *hptD0PTallsqrtTGHCfromB=
new TH2F(
"hptD0PTallsqrtTGHCfromB",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4567 TH2F *hptD0PTallTGHCfromB=
new TH2F(
"hptD0PTallTGHCfromB",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4568 TH2F *hptD0vsptBTGHCfromB=
new TH2F(
"hptD0vsptBTGHCfromB",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4569 TH2F *hpD0vspBTGHCfromB=
new TH2F(
"hpD0vspBTGHCfromB",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4570 TH2F *hptD0vsptcquarkTGHCfromB=
new TH2F(
"hptD0vsptcquarkTGHCfromB",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4571 TH2F *hpD0vspcquarkTGHCfromB=
new TH2F(
"hpD0vspcquarkTGHCfromB",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4583 TH1F *hd0zD0ptTGHCfromB;
4584 TH1F *hInvMassD0TGHCfromB,*hInvMassD0barTGHCfromB;
4585 TH2F *hInvMassPtTGHCfromB=
new TH2F(
"hInvMassPtTGHCfromB",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4586 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);
4588 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);
4592 THnSparseF *hSparseTGHCfromB=
new THnSparseF(
"hSparseTGHCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4593 hSparseTGHCfromB->SetBinEdges(0,massbins);
4594 hSparseTGHCfromB->SetBinEdges(1,massbins);
4595 hSparseTGHCfromB->SetBinEdges(2,ptbinsForNsparse);
4596 hSparseTGHCfromB->SetBinEdges(3,impparbins);
4597 hSparseTGHCfromB->SetBinEdges(4,massHypoBins);
4601 THnSparseF *hSparseRecoTGHCfromB=
new THnSparseF(
"hSparseRecoTGHCfromB",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4602 hSparseRecoTGHCfromB->SetBinEdges(0,massbins);
4603 hSparseRecoTGHCfromB->SetBinEdges(1,massbins);
4604 hSparseRecoTGHCfromB->SetBinEdges(2,ptbinsForNsparse);
4605 hSparseRecoTGHCfromB->SetBinEdges(3,impparbins);
4606 hSparseRecoTGHCfromB->SetBinEdges(4,massHypoBins);
4609 TH1F *hetaTGHCfromB;
4610 TH1F *hCosPDPBTGHCfromB;
4611 TH1F *hCosPcPDTGHCfromB;
4614 TH2F *hd0D0VSd0xd0TGHCfromBpt;
4615 TH2F *hangletracksVSd0xd0TGHCfromBpt;
4616 TH2F *hangletracksVSd0D0TGHCfromBpt;
4617 TH1F *hd0xd0TGHCfromBpt;
4619 TH2F *hTOFpidTGHCfromB=
new TH2F(
"hTOFpidTGHCfromB",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4623 for(Int_t i=0;i<
fnbins;i++){
4624 namehist=
"hd0zD0ptTGHCfromB_pt";
4626 titlehist=
"d0(z) Tight Cuts FromBm ptbin=";
4628 hd0zD0ptTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4629 hd0zD0ptTGHCfromB->SetXTitle(
"d_{0}(z) [#mum]");
4630 hd0zD0ptTGHCfromB->SetYTitle(
"Entries");
4633 namehist=
"hInvMassD0TGHCfromB_pt";
4635 titlehist=
"Invariant Mass Tight Cuts FromB ptbin=";
4637 hInvMassD0TGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4638 hInvMassD0TGHCfromB->SetXTitle(
"Invariant Mass [GeV]");
4639 hInvMassD0TGHCfromB->SetYTitle(
"Entries");
4642 namehist=
"hInvMassD0barTGHCfromB_pt";
4644 titlehist=
"Invariant Mass D0bar Tight Cuts FromB ptbin=";
4646 hInvMassD0barTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4647 hInvMassD0barTGHCfromB->SetXTitle(
"Invariant Mass [GeV]");
4648 hInvMassD0barTGHCfromB->SetYTitle(
"Entries");
4651 namehist=
"hetaTGHCfromB_pt";
4653 titlehist=
"eta Tight Cuts FromB ptbin=";
4655 hetaTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4656 hetaTGHCfromB->SetXTitle(
"Pseudorapidity");
4657 hetaTGHCfromB->SetYTitle(
"Entries");
4660 namehist=
"hCosPDPBTGHCfromB_pt";
4662 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4664 hCosPDPBTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4665 hCosPDPBTGHCfromB->SetXTitle(
"Cosine between D0 momentum and B momentum");
4666 hCosPDPBTGHCfromB->SetYTitle(
"Entries");
4669 namehist=
"hCosPcPDTGHCfromB_pt";
4671 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4673 hCosPcPDTGHCfromB=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4674 hCosPcPDTGHCfromB->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4675 hCosPcPDTGHCfromB->SetYTitle(
"Entries");
4679 namehist=
"hd0xd0TGHCfromB_pt";
4681 titlehist=
"d0xd0 Tight Cuts FromB ptbin=";
4683 hd0xd0TGHCfromBpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4684 hd0xd0TGHCfromBpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4685 hd0xd0TGHCfromBpt->SetYTitle(
"Entries");
4689 namehist=
"hd0D0VSd0xd0TGHCfromB_pt";
4691 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromB ptbin=";
4693 hd0D0VSd0xd0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4694 hd0D0VSd0xd0TGHCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4695 hd0D0VSd0xd0TGHCfromBpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
4699 namehist=
"hangletracksVSd0xd0TGHCfromB_pt";
4701 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromB ptbin=";
4703 hangletracksVSd0xd0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
4704 hangletracksVSd0xd0TGHCfromBpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4705 hangletracksVSd0xd0TGHCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
4709 namehist=
"hangletracksVSd0D0TGHCfromB_pt";
4711 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts FromB ptbin=";
4713 hangletracksVSd0D0TGHCfromBpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
4714 hangletracksVSd0D0TGHCfromBpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
4715 hangletracksVSd0D0TGHCfromBpt->SetYTitle(
" angle between K and #p tracks [rad]");
4727 TH1F *hd0D0TGHCfromBPM =
new TH1F(
"hd0D0TGHCfromBPM",
"D^{0} impact par. plot , Tight Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4728 hd0D0TGHCfromBPM->SetXTitle(
"Impact parameter [#mum]");
4729 hd0D0TGHCfromBPM->SetYTitle(
"Entries");
4731 TH1F *hd0D0VtxTrueTGHCfromBPM =
new TH1F(
"hd0D0VtxTrueTGHCfromBPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4732 hd0D0VtxTrueTGHCfromBPM->SetXTitle(
"Impact parameter [#mum]");
4733 hd0D0VtxTrueTGHCfromBPM->SetYTitle(
"Entries");
4735 TH1F *hMCd0D0TGHCfromBPM =
new TH1F(
"hMCd0D0TGHCfromBPM",
"D^{0} impact par. plot, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4736 hMCd0D0TGHCfromBPM->SetXTitle(
"MC Impact parameter [#mum]");
4737 hMCd0D0TGHCfromBPM->SetYTitle(
"Entries");
4739 TH1F *hd0D0TGHCfromBSB =
new TH1F(
"hd0D0TGHCfromBSB",
"D^{0} impact par. plot , Tight Cuts ,FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4740 hd0D0TGHCfromBSB->SetXTitle(
"Impact parameter [#mum]");
4741 hd0D0TGHCfromBSB->SetYTitle(
"Entries");
4743 TH1F *hd0D0VtxTrueTGHCfromBSB =
new TH1F(
"hd0D0VtxTrueTGHCfromBSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4744 hd0D0VtxTrueTGHCfromBSB->SetXTitle(
"Impact parameter [#mum]");
4745 hd0D0VtxTrueTGHCfromBSB->SetYTitle(
"Entries");
4747 TH1F *hMCd0D0TGHCfromBSB =
new TH1F(
"hMCd0D0TGHCfromBSB",
"D^{0} impact par. plot, Tight Cuts, FromB,Mass Peak (All momenta)",1000,-1000.,1000.);
4748 hMCd0D0TGHCfromBSB->SetXTitle(
"MC Impact parameter [#mum]");
4749 hMCd0D0TGHCfromBSB->SetYTitle(
"Entries");
4758 TH1F *hd0D0ptTGHCfromBPM;
4759 TH1F *hMCd0D0ptTGHCfromBPM;
4760 TH1F *hd0D0VtxTrueptTGHCfromBPM;
4761 TH1F *hd0D0ptTGHCfromBSB;
4762 TH1F *hMCd0D0ptTGHCfromBSB;
4763 TH1F *hd0D0VtxTrueptTGHCfromBSB;
4764 namehist=
"hd0D0ptTGHCfromB_";
4765 titlehist=
"D^{0} impact par. plot, Tight Cuts, FromB, ";
4766 for(Int_t i=0;i<
fnbins;i++){
4768 strnamept.Append(
"PkMss_pt");
4771 strtitlept=titlehist;
4772 strtitlept.Append(
" Mass Peak, ");
4774 strtitlept.Append(
"<= pt <");
4776 strtitlept.Append(
" [GeV/c]");
4778 hd0D0ptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4779 hd0D0ptTGHCfromBPM->SetXTitle(
"Impact parameter [#mum] ");
4780 hd0D0ptTGHCfromBPM->SetYTitle(
"Entries");
4783 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4784 hMCd0D0ptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4785 hMCd0D0ptTGHCfromBPM->SetXTitle(
"MC Impact parameter [#mum] ");
4786 hMCd0D0ptTGHCfromBPM->SetYTitle(
"Entries");
4790 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4791 hd0D0VtxTrueptTGHCfromBPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4792 hd0D0VtxTrueptTGHCfromBPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4793 hd0D0VtxTrueptTGHCfromBPM->SetYTitle(
"Entries");
4797 strnamept.Append(
"SBMss_pt");
4800 strtitlept=titlehist;
4801 strtitlept.Append(
" Side Bands, ");
4803 strtitlept.Append(
"<= pt <");
4805 strtitlept.Append(
" [GeV/c]");
4807 hd0D0ptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4808 hd0D0ptTGHCfromBSB->SetXTitle(
"Impact parameter [#mum] ");
4809 hd0D0ptTGHCfromBSB->SetYTitle(
"Entries");
4812 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
4813 hMCd0D0ptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4814 hMCd0D0ptTGHCfromBSB->SetXTitle(
"MC Impact parameter [#mum] ");
4815 hMCd0D0ptTGHCfromBSB->SetYTitle(
"Entries");
4818 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
4819 hd0D0VtxTrueptTGHCfromBSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
4820 hd0D0VtxTrueptTGHCfromBSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
4821 hd0D0VtxTrueptTGHCfromBSB->SetYTitle(
"Entries");
4830 TH2F *hCPtaVSd0d0TGHCfromDstar=
new TH2F(
"hCPtaVSd0d0TGHCfromDstar",
"hCPtaVSd0d0_TightCuts_FromDStar",1000,-100000.,100000.,100,-1.,1.);
4831 TH1F *hSecVtxZTGHCfromDstar=
new TH1F(
"hSecVtxZTGHCfromDstar",
"hSecVtxZ_TightCuts_FromDStar",1000,-8.,8.);
4832 TH1F *hSecVtxXTGHCfromDstar=
new TH1F(
"hSecVtxXTGHCfromDstar",
"hSecVtxX_TightCuts_FromDStar",1000,-3000.,3000.);
4833 TH1F *hSecVtxYTGHCfromDstar=
new TH1F(
"hSecVtxYTGHCfromDstar",
"hSecVtxY_TightCuts_FromDStar",1000,-3000.,3000.);
4834 TH2F *hSecVtxXYTGHCfromDstar=
new TH2F(
"hSecVtxXYTGHCfromDstar",
"hSecVtxXY_TightCuts_FromDStar",1000,-3000.,3000.,1000,-3000.,3000.);
4835 TH1F *hSecVtxPhiTGHCfromDstar=
new TH1F(
"hSecVtxPhiTGHCfromDstar",
"hSecVtxPhi_TightCuts_FromDStar",180,-180.1,180.1);
4836 TH1F *hd0singlTrackTGHCfromDstar=
new TH1F(
"hd0singlTrackTGHCfromDstar",
"hd0singlTrackTightCuts_FromDstar",1000,-5000.,5000.);
4837 TH1F *hCPtaTGHCfromDstar=
new TH1F(
"hCPtaTGHCfromDstar",
"hCPta_TightCuts_FromDStar",100,-1.,1.);
4838 TH1F *hd0xd0TGHCfromDstar=
new TH1F(
"hd0xd0TGHCfromDstar",
"hd0xd0_TightCuts_FromDStar",1000,-100000.,100000.);
4839 TH1F *hMassTrueTGHCfromDstar=
new TH1F(
"hMassTrueTGHCfromDstar",
"D^{0} MC inv. Mass Tight Cuts FromDStar(All momenta)",600,1.600,2.200);
4840 TH1F *hMassTGHCfromDstar=
new TH1F(
"hMassTGHCfromDstar",
"D^{0} inv. Mass Tight Cuts FromDStar (All momenta)",600,1.600,2.200);
4841 hMassTGHCfromDstar->Sumw2();
4842 TH1F *hMassTrueTGHCfromDstarPM=
new TH1F(
"hMassTrueTGHCfromDstarPM",
"D^{0} MC inv. Mass Tight Cuts FromDStar, Mass Peak. (All momenta)",600,1.600,2.200);
4843 TH1F *hMassTGHCfromDstarPM=
new TH1F(
"hMassTGHCfromDstarPM",
"D^{0} inv. Mass Tight Cuts FromDStar (All momenta), MassPeak",600,1.600,2.200);
4844 hMassTGHCfromDstarPM->Sumw2();
4845 TH1F *hMassTrueTGHCfromDstarSB=
new TH1F(
"hMassTrueTGHCfromDstarSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts FromDStar(All momenta)",600,1.600,2.200);
4846 TH1F *hMassTGHCfromDstarSB=
new TH1F(
"hMassTGHCfromDstarSB",
"D^{0} inv. Mass in Side Bands Tight Cuts FromDStar (All momenta)",600,1.600,2.200);
4847 hMassTGHCfromDstarSB->Sumw2();
4870 TH1F *hdcaTGHCfromDstar=
new TH1F(
"hdcaTGHCfromDstar",
"hdca_TightCuts_FromDstar",100,0.,1000.);
4871 hdcaTGHCfromDstar->SetXTitle(
"dca [#mum]");
4872 hdcaTGHCfromDstar->SetYTitle(
"Entries");
4873 TH1F *hcosthetastarTGHCfromDstar=
new TH1F(
"hcosthetastarTGHCfromDstar",
"hCosThetaStar_TightCuts_FromDstar",50,-1.,1.);
4874 hcosthetastarTGHCfromDstar->SetXTitle(
"cos #theta^{*}");
4875 hcosthetastarTGHCfromDstar->SetYTitle(
"Entries");
4876 TH1F *hptD0TGHCfromDstar=
new TH1F(
"hptD0TGHCfromDstar",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
4877 hptD0TGHCfromDstar->SetXTitle(
"p_{t} [GeV/c]");
4878 hptD0TGHCfromDstar->SetYTitle(
"Entries");
4879 TH1F *hptD0VsMaxPtTGHCfromDstar=
new TH1F(
"hptD0VsMaxPtTGHCfromDstar",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
4880 TH2F *hptD0PTallsqrtTGHCfromDstar=
new TH2F(
"hptD0PTallsqrtTGHCfromDstar",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
4881 TH2F *hptD0PTallTGHCfromDstar=
new TH2F(
"hptD0PTallTGHCfromDstar",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
4882 TH2F *hptD0vsptBTGHCfromDstar=
new TH2F(
"hptD0vsptBTGHCfromDstar",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4883 TH2F *hpD0vspBTGHCfromDstar=
new TH2F(
"hpD0vspBTGHCfromDstar",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4884 TH2F *hptD0vsptcquarkTGHCfromDstar=
new TH2F(
"hptD0vsptcquarkTGHCfromDstar",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4885 TH2F *hpD0vspcquarkTGHCfromDstar=
new TH2F(
"hpD0vspcquarkTGHCfromDstar",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
4897 TH1F *hd0zD0ptTGHCfromDstar;
4898 TH1F *hInvMassD0TGHCfromDstar,*hInvMassD0barTGHCfromDstar;
4899 TH1F *hetaTGHCfromDstar;
4900 TH2F *hInvMassPtTGHCfromDstar=
new TH2F(
"hInvMassPtTGHCfromDstar",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
4902 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);
4904 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);
4907 THnSparseF *hSparseTGHCfromDstar=
new THnSparseF(
"hSparseTGHCfromDstar",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
4908 hSparseTGHCfromDstar->SetBinEdges(0,massbins);
4909 hSparseTGHCfromDstar->SetBinEdges(1,massbins);
4910 hSparseTGHCfromDstar->SetBinEdges(2,ptbinsForNsparse);
4911 hSparseTGHCfromDstar->SetBinEdges(3,impparbins);
4912 hSparseTGHCfromDstar->SetBinEdges(4,massHypoBins);
4914 TH1F *hCosPDPBTGHCfromDstar;
4915 TH1F *hCosPcPDTGHCfromDstar;
4918 TH2F *hd0D0VSd0xd0TGHCfromDstarpt;
4919 TH2F *hangletracksVSd0xd0TGHCfromDstarpt;
4920 TH2F *hangletracksVSd0D0TGHCfromDstarpt;
4921 TH1F *hd0xd0TGHCfromDstarpt;
4923 TH2F *hTOFpidTGHCfromDstar=
new TH2F(
"hTOFpidTGHCfromDstar",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
4926 for(Int_t i=0;i<
fnbins;i++){
4927 namehist=
"hd0zD0ptTGHCfromDstar_pt";
4929 titlehist=
"d0(z) Tight Cuts FromDstarm ptbin=";
4931 hd0zD0ptTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
4932 hd0zD0ptTGHCfromDstar->SetXTitle(
"d_{0}(z) [#mum]");
4933 hd0zD0ptTGHCfromDstar->SetYTitle(
"Entries");
4936 namehist=
"hInvMassD0TGHCfromDstar_pt";
4938 titlehist=
"Invariant Mass Tight Cuts FromDstar ptbin=";
4940 hInvMassD0TGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4941 hInvMassD0TGHCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
4942 hInvMassD0TGHCfromDstar->SetYTitle(
"Entries");
4945 namehist=
"hInvMassD0barTGHCfromDstar_pt";
4947 titlehist=
"Invariant Mass D0bar Tight Cuts FromDstar ptbin=";
4949 hInvMassD0barTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
4950 hInvMassD0barTGHCfromDstar->SetXTitle(
"Invariant Mass [GeV]");
4951 hInvMassD0barTGHCfromDstar->SetYTitle(
"Entries");
4954 namehist=
"hetaTGHCfromDstar_pt";
4956 titlehist=
"eta Tight Cuts FromDstar ptbin=";
4958 hetaTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
4959 hetaTGHCfromDstar->SetXTitle(
"Pseudorapidity");
4960 hetaTGHCfromDstar->SetYTitle(
"Entries");
4963 namehist=
"hCosPDPBTGHCfromDstar_pt";
4965 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
4967 hCosPDPBTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4968 hCosPDPBTGHCfromDstar->SetXTitle(
"Cosine between D0 momentum and B momentum");
4969 hCosPDPBTGHCfromDstar->SetYTitle(
"Entries");
4972 namehist=
"hCosPcPDTGHCfromDstar_pt";
4974 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
4976 hCosPcPDTGHCfromDstar=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
4977 hCosPcPDTGHCfromDstar->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
4978 hCosPcPDTGHCfromDstar->SetYTitle(
"Entries");
4982 namehist=
"hd0xd0TGHCfromDstar_pt";
4984 titlehist=
"d0xd0 Tight Cuts FromDstar ptbin=";
4986 hd0xd0TGHCfromDstarpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
4987 hd0xd0TGHCfromDstarpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
4988 hd0xd0TGHCfromDstarpt->SetYTitle(
"Entries");
4992 namehist=
"hd0D0VSd0xd0TGHCfromDstar_pt";
4994 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromDstar ptbin=";
4996 hd0D0VSd0xd0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
4997 hd0D0VSd0xd0TGHCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
4998 hd0D0VSd0xd0TGHCfromDstarpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
5002 namehist=
"hangletracksVSd0xd0TGHCfromDstar_pt";
5004 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts FromDstar ptbin=";
5006 hangletracksVSd0xd0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
5007 hangletracksVSd0xd0TGHCfromDstarpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5008 hangletracksVSd0xd0TGHCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
5012 namehist=
"hangletracksVSd0D0TGHCfromDstar_pt";
5014 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts FromDstar ptbin=";
5016 hangletracksVSd0D0TGHCfromDstarpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
5017 hangletracksVSd0D0TGHCfromDstarpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
5018 hangletracksVSd0D0TGHCfromDstarpt->SetYTitle(
" angle between K and #p tracks [rad]");
5028 TH1F *hd0D0TGHCfromDstPM =
new TH1F(
"hd0D0TGHCfromDstarPM",
"D^{0} impact par. plot , Tight Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5029 hd0D0TGHCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
5030 hd0D0TGHCfromDstPM->SetYTitle(
"Entries");
5032 TH1F *hd0D0VtxTrueTGHCfromDstPM =
new TH1F(
"hd0D0VtxTrueTGHCfromDstarPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5033 hd0D0VtxTrueTGHCfromDstPM->SetXTitle(
"Impact parameter [#mum]");
5034 hd0D0VtxTrueTGHCfromDstPM->SetYTitle(
"Entries");
5036 TH1F *hMCd0D0TGHCfromDstPM =
new TH1F(
"hMCd0D0TGHCfromDstarPM",
"D^{0} impact par. plot, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5037 hMCd0D0TGHCfromDstPM->SetXTitle(
"MC Impact parameter [#mum]");
5038 hMCd0D0TGHCfromDstPM->SetYTitle(
"Entries");
5040 TH1F *hd0D0TGHCfromDstSB =
new TH1F(
"hd0D0TGHCfromDstarSB",
"D^{0} impact par. plot , Tight Cuts ,FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5041 hd0D0TGHCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
5042 hd0D0TGHCfromDstSB->SetYTitle(
"Entries");
5044 TH1F *hd0D0VtxTrueTGHCfromDstSB =
new TH1F(
"hd0D0VtxTrueTGHCfromDstarSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5045 hd0D0VtxTrueTGHCfromDstSB->SetXTitle(
"Impact parameter [#mum]");
5046 hd0D0VtxTrueTGHCfromDstSB->SetYTitle(
"Entries");
5048 TH1F *hMCd0D0TGHCfromDstSB =
new TH1F(
"hMCd0D0TGHCfromDstarSB",
"D^{0} impact par. plot, Tight Cuts, FromDStar,Mass Peak (All momenta)",1000,-1000.,1000.);
5049 hMCd0D0TGHCfromDstSB->SetXTitle(
"MC Impact parameter [#mum]");
5050 hMCd0D0TGHCfromDstSB->SetYTitle(
"Entries");
5059 TH1F *hd0D0ptTGHCfromDstPM;
5060 TH1F *hMCd0D0ptTGHCfromDstPM;
5061 TH1F *hd0D0VtxTrueptTGHCfromDstPM;
5062 TH1F *hd0D0ptTGHCfromDstSB;
5063 TH1F *hMCd0D0ptTGHCfromDstSB;
5064 TH1F *hd0D0VtxTrueptTGHCfromDstSB;
5065 namehist=
"hd0D0ptTGHCfromDstar_";
5066 titlehist=
"D^{0} impact par. plot, Tight Cuts, FromDStar, ";
5067 for(Int_t i=0;i<
fnbins;i++){
5069 strnamept.Append(
"PkMss_pt");
5072 strtitlept=titlehist;
5073 strtitlept.Append(
" Mass Peak, ");
5075 strtitlept.Append(
"<= pt <");
5077 strtitlept.Append(
" [GeV/c]");
5079 hd0D0ptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5080 hd0D0ptTGHCfromDstPM->SetXTitle(
"Impact parameter [#mum] ");
5081 hd0D0ptTGHCfromDstPM->SetYTitle(
"Entries");
5084 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5085 hMCd0D0ptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5086 hMCd0D0ptTGHCfromDstPM->SetXTitle(
"MC Impact parameter [#mum] ");
5087 hMCd0D0ptTGHCfromDstPM->SetYTitle(
"Entries");
5091 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5092 hd0D0VtxTrueptTGHCfromDstPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5093 hd0D0VtxTrueptTGHCfromDstPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5094 hd0D0VtxTrueptTGHCfromDstPM->SetYTitle(
"Entries");
5098 strnamept.Append(
"SBMss_pt");
5101 strtitlept=titlehist;
5102 strtitlept.Append(
" Side Bands, ");
5104 strtitlept.Append(
"<= pt <");
5106 strtitlept.Append(
" [GeV/c]");
5108 hd0D0ptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5109 hd0D0ptTGHCfromDstSB->SetXTitle(
"Impact parameter [#mum] ");
5110 hd0D0ptTGHCfromDstSB->SetYTitle(
"Entries");
5113 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5114 hMCd0D0ptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5115 hMCd0D0ptTGHCfromDstSB->SetXTitle(
"MC Impact parameter [#mum] ");
5116 hMCd0D0ptTGHCfromDstSB->SetYTitle(
"Entries");
5119 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5120 hd0D0VtxTrueptTGHCfromDstSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5121 hd0D0VtxTrueptTGHCfromDstSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5122 hd0D0VtxTrueptTGHCfromDstSB->SetYTitle(
"Entries");
5131 TH2F *hCPtaVSd0d0TGHCother=
new TH2F(
"hCPtaVSd0d0TGHCother",
"hCPtaVSd0d0_TightCuts_other",1000,-100000.,100000.,100,-1.,1.);
5132 TH1F *hSecVtxZTGHCother=
new TH1F(
"hSecVtxZTGHCother",
"hSecVtxZ_TightCuts_other",1000,-8.,8.);
5133 TH1F *hSecVtxXTGHCother=
new TH1F(
"hSecVtxXTGHCother",
"hSecVtxX_TightCuts_other",1000,-3000.,3000.);
5134 TH1F *hSecVtxYTGHCother=
new TH1F(
"hSecVtxYTGHCother",
"hSecVtxY_TightCuts_other",1000,-3000.,3000.);
5135 TH2F *hSecVtxXYTGHCother=
new TH2F(
"hSecVtxXYTGHCother",
"hSecVtxXY_TightCuts_other",1000,-3000.,3000.,1000,-3000.,3000.);
5136 TH1F *hSecVtxPhiTGHCother=
new TH1F(
"hSecVtxPhiTGHCother",
"hSecVtxPhi_TightCuts_other",180,-180.1,180.1);
5137 TH1F *hd0singlTrackTGHCother=
new TH1F(
"hd0singlTrackTGHCother",
"hd0singlTrackTightCuts_Other",1000,-5000.,5000.);
5138 TH1F *hCPtaTGHCother=
new TH1F(
"hCPtaTGHCother",
"hCPta_TightCuts_other",100,-1.,1.);
5139 TH1F *hd0xd0TGHCother=
new TH1F(
"hd0xd0TGHCother",
"hd0xd0_TightCuts_other",1000,-100000.,100000.);
5140 TH1F *hMassTrueTGHCother=
new TH1F(
"hMassTrueTGHCother",
"D^{0} MC inv. Mass Tight Cuts other(All momenta)",600,1.600,2.200);
5141 TH1F *hMassTGHCother=
new TH1F(
"hMassTGHCother",
"D^{0} inv. Mass Tight Cuts other (All momenta)",600,1.600,2.200);
5142 hMassTGHCother->Sumw2();
5143 TH1F *hMassTrueTGHCotherPM=
new TH1F(
"hMassTrueTGHCotherPM",
"D^{0} MC inv. Mass Tight Cuts other, Mass Peak. (All momenta)",600,1.600,2.200);
5144 TH1F *hMassTGHCotherPM=
new TH1F(
"hMassTGHCotherPM",
"D^{0} inv. Mass Tight Cuts other (All momenta), MassPeak",600,1.600,2.200);
5145 hMassTGHCotherPM->Sumw2();
5146 TH1F *hMassTrueTGHCotherSB=
new TH1F(
"hMassTrueTGHCotherSB",
"D^{0} MC inv. Mass in Side Bands Tight Cuts other(All momenta)",600,1.600,2.200);
5147 TH1F *hMassTGHCotherSB=
new TH1F(
"hMassTGHCotherSB",
"D^{0} inv. Mass in Side Bands Tight Cuts other (All momenta)",600,1.600,2.200);
5148 hMassTGHCotherSB->Sumw2();
5170 TH1F *hdcaTGHCother=
new TH1F(
"hdcaTGHCother",
"hdca_TightCuts_Other",100,0.,1000.);
5171 hdcaTGHCother->SetXTitle(
"dca [#mum]");
5172 hdcaTGHCother->SetYTitle(
"Entries");
5173 TH1F *hcosthetastarTGHCother=
new TH1F(
"hcosthetastarTGHCother",
"hCosThetaStar_TightCuts_Other",50,-1.,1.);
5174 hcosthetastarTGHCother->SetXTitle(
"cos #theta^{*}");
5175 hcosthetastarTGHCother->SetYTitle(
"Entries");
5176 TH1F *hptD0TGHCother=
new TH1F(
"hptD0TGHCother",
"D^{0} transverse momentum distribution",34,ptbinsD0arr);
5177 hptD0TGHCother->SetXTitle(
"p_{t} [GeV/c]");
5178 hptD0TGHCother->SetYTitle(
"Entries");
5179 TH1F *hptD0VsMaxPtTGHCother=
new TH1F(
"hptD0VsMaxPtTGHCother",
"Difference between D^{0} pt and highest (or second) pt",400,-50.,50.);
5180 TH2F *hptD0PTallsqrtTGHCother=
new TH2F(
"hptD0PTallsqrtTGHCother",
"D^{0} pt Vs Sqrt(Sum pt square)",34,ptbinsD0arr,200,dumbinning);
5181 TH2F *hptD0PTallTGHCother=
new TH2F(
"hptD0PTallTGHCother",
"D^{0} pt Vs Sum pt ",34,ptbinsD0arr,200,dumbinning);
5182 TH2F *hptD0vsptBTGHCother=
new TH2F(
"hptD0vsptBTGHCother",
"D^{0} pt Vs B pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5183 TH2F *hpD0vspBTGHCother=
new TH2F(
"hpD0vspBTGHCother",
"D^{0} tot momentum Vs B tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5184 TH2F *hptD0vsptcquarkTGHCother=
new TH2F(
"hptD0vsptcquarkTGHCother",
"D^{0} pt Vs cquark pt distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5185 TH2F *hpD0vspcquarkTGHCother=
new TH2F(
"hpD0vspcquarkTGHCother",
"D^{0} tot momentum Vs cquark tot momentum distribution",34,ptbinsD0arr,34,ptbinsD0arr);
5197 TH1F *hd0zD0ptTGHCother;
5198 TH1F *hInvMassD0TGHCother,*hInvMassD0barTGHCother;
5199 TH2F *hInvMassPtTGHCother=
new TH2F(
"hInvMassPtTGHCother",
"Candidate p_{t} Vs invariant mass",330,1.700,2.030,200,0.,20.);
5200 THnSparseF *hSparseTGHCother=
new THnSparseF(
"hSparseTGHCother",
"Candidate Masses, pt, Imp Par;massD0;massD0bar;pt;impactpar;selcase",5,nbinsSparse);
5201 hSparseTGHCother->SetBinEdges(0,massbins);
5202 hSparseTGHCother->SetBinEdges(1,massbins);
5203 hSparseTGHCother->SetBinEdges(2,ptbinsForNsparse);
5204 hSparseTGHCother->SetBinEdges(3,impparbins);
5205 hSparseTGHCother->SetBinEdges(4,massHypoBins);
5207 TH1F *hetaTGHCother;
5208 TH1F *hCosPDPBTGHCother;
5209 TH1F *hCosPcPDTGHCother;
5212 TH2F *hd0D0VSd0xd0TGHCotherpt;
5213 TH2F *hangletracksVSd0xd0TGHCotherpt;
5214 TH2F *hangletracksVSd0D0TGHCotherpt;
5215 TH1F *hd0xd0TGHCotherpt;
5217 TH2F *hTOFpidTGHCother=
new TH2F(
"hTOFpidTGHCother",
"TOF time VS momentum",10,0.,4.,50,-50000.,50000.);
5220 for(Int_t i=0;i<
fnbins;i++){
5221 namehist=
"hd0zD0ptTGHCother_pt";
5223 titlehist=
"d0(z) Tight Cuts Otherm ptbin=";
5225 hd0zD0ptTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),1000,-3000,3000.);
5226 hd0zD0ptTGHCother->SetXTitle(
"d_{0}(z) [#mum]");
5227 hd0zD0ptTGHCother->SetYTitle(
"Entries");
5230 namehist=
"hInvMassD0TGHCother_pt";
5232 titlehist=
"Invariant Mass Tight Cuts Other ptbin=";
5234 hInvMassD0TGHCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5235 hInvMassD0TGHCother->SetXTitle(
"Invariant Mass [GeV]");
5236 hInvMassD0TGHCother->SetYTitle(
"Entries");
5239 namehist=
"hInvMassD0barTGHCother_pt";
5241 titlehist=
"Invariant Mass D0bar Tight Cuts Other ptbin=";
5243 hInvMassD0barTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),600,1.600,2.200);
5244 hInvMassD0barTGHCother->SetXTitle(
"Invariant Mass [GeV]");
5245 hInvMassD0barTGHCother->SetYTitle(
"Entries");
5248 namehist=
"hetaTGHCother_pt";
5250 titlehist=
"eta Tight Cuts Other ptbin=";
5252 hetaTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),100,-3.,3.);
5253 hetaTGHCother->SetXTitle(
"Pseudorapidity");
5254 hetaTGHCother->SetYTitle(
"Entries");
5257 namehist=
"hCosPDPBTGHCother_pt";
5259 titlehist=
"Cosine between D0 momentum and B momentum, ptbin=";
5261 hCosPDPBTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5262 hCosPDPBTGHCother->SetXTitle(
"Cosine between D0 momentum and B momentum");
5263 hCosPDPBTGHCother->SetYTitle(
"Entries");
5266 namehist=
"hCosPcPDTGHCother_pt";
5268 titlehist=
"Cosine between cquark momentum and D0 momentum, ptbin=";
5270 hCosPcPDTGHCother=
new TH1F(namehist.Data(),titlehist.Data(),50,-1.,1.);
5271 hCosPcPDTGHCother->SetXTitle(
"Cosine between c quark momentum and D0 momentum");
5272 hCosPcPDTGHCother->SetYTitle(
"Entries");
5276 namehist=
"hd0xd0TGHCother_pt";
5278 titlehist=
"d0xd0 Tight Cuts Other ptbin=";
5280 hd0xd0TGHCotherpt=
new TH1F(namehist.Data(),titlehist.Data(),1000,-50000.,10000.);
5281 hd0xd0TGHCotherpt->SetXTitle(
"d_{0}^{K}xd_{0}^{#pi} [#mum^2]");
5282 hd0xd0TGHCotherpt->SetYTitle(
"Entries");
5286 namehist=
"hd0D0VSd0xd0TGHCother_pt";
5288 titlehist=
"d_{0}^{D^{0}} Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Other ptbin=";
5290 hd0D0VSd0xd0TGHCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,100,-300,300);
5291 hd0D0VSd0xd0TGHCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5292 hd0D0VSd0xd0TGHCotherpt->SetYTitle(
" d_{0}^{D^{0}} [#mum]");
5296 namehist=
"hangletracksVSd0xd0TGHCother_pt";
5298 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{K}xd_{0}^{#pi} Tight Cuts Other ptbin=";
5300 hangletracksVSd0xd0TGHCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-50000.,30000.,40,-0.1,3.24);
5301 hangletracksVSd0xd0TGHCotherpt->SetXTitle(
" d_{0}^{K}xd_{0}^{#pi} [#mum]");
5302 hangletracksVSd0xd0TGHCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
5306 namehist=
"hangletracksVSd0D0TGHCother_pt";
5308 titlehist=
"Angle between K and #pi tracks Vs d_{0}^{D^{0}} Tight Cuts Other ptbin=";
5310 hangletracksVSd0D0TGHCotherpt=
new TH2F(namehist.Data(),titlehist.Data(),200,-400.,400.,40,-0.12,3.24);
5311 hangletracksVSd0D0TGHCotherpt->SetXTitle(
" d_{0}^{D^{0}} [#mum]");
5312 hangletracksVSd0D0TGHCotherpt->SetYTitle(
" angle between K and #p tracks [rad]");
5324 TH1F *hd0D0TGHCotherPM =
new TH1F(
"hd0D0TGHCotherPM",
"D^{0} impact par. plot , Tight Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5325 hd0D0TGHCotherPM->SetXTitle(
"Impact parameter [#mum]");
5326 hd0D0TGHCotherPM->SetYTitle(
"Entries");
5328 TH1F *hd0D0VtxTrueTGHCotherPM =
new TH1F(
"hd0D0VtxTrueTGHCotherPM",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5329 hd0D0VtxTrueTGHCotherPM->SetXTitle(
"Impact parameter [#mum]");
5330 hd0D0VtxTrueTGHCotherPM->SetYTitle(
"Entries");
5332 TH1F *hMCd0D0TGHCotherPM =
new TH1F(
"hMCd0D0TGHCotherPM",
"D^{0} impact par. plot, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5333 hMCd0D0TGHCotherPM->SetXTitle(
"MC Impact parameter [#mum]");
5334 hMCd0D0TGHCotherPM->SetYTitle(
"Entries");
5336 TH1F *hd0D0TGHCotherSB =
new TH1F(
"hd0D0TGHCotherSB",
"D^{0} impact par. plot , Tight Cuts ,Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5337 hd0D0TGHCotherSB->SetXTitle(
"Impact parameter [#mum]");
5338 hd0D0TGHCotherSB->SetYTitle(
"Entries");
5340 TH1F *hd0D0VtxTrueTGHCotherSB =
new TH1F(
"hd0D0VtxTrueTGHCotherSB",
"D^{0} impact par. w.r.t. True Vtx, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5341 hd0D0VtxTrueTGHCotherSB->SetXTitle(
"Impact parameter [#mum]");
5342 hd0D0VtxTrueTGHCotherSB->SetYTitle(
"Entries");
5344 TH1F *hMCd0D0TGHCotherSB =
new TH1F(
"hMCd0D0TGHCotherSB",
"D^{0} impact par. plot, Tight Cuts, Other,Mass Peak (All momenta)",1000,-1000.,1000.);
5345 hMCd0D0TGHCotherSB->SetXTitle(
"MC Impact parameter [#mum]");
5346 hMCd0D0TGHCotherSB->SetYTitle(
"Entries");
5355 TH1F *hd0D0ptTGHCotherPM;
5356 TH1F *hMCd0D0ptTGHCotherPM;
5357 TH1F *hd0D0VtxTrueptTGHCotherPM;
5358 TH1F *hd0D0ptTGHCotherSB;
5359 TH1F *hMCd0D0ptTGHCotherSB;
5360 TH1F *hd0D0VtxTrueptTGHCotherSB;
5361 namehist=
"hd0D0ptTGHCother_";
5362 titlehist=
"D^{0} impact par. plot, Tight Cuts, Other, ";
5363 for(Int_t i=0;i<
fnbins;i++){
5365 strnamept.Append(
"PkMss_pt");
5368 strtitlept=titlehist;
5369 strtitlept.Append(
" Mass Peak, ");
5371 strtitlept.Append(
"<= pt <");
5373 strtitlept.Append(
" [GeV/c]");
5375 hd0D0ptTGHCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5376 hd0D0ptTGHCotherPM->SetXTitle(
"Impact parameter [#mum] ");
5377 hd0D0ptTGHCotherPM->SetYTitle(
"Entries");
5380 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5381 hMCd0D0ptTGHCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5382 hMCd0D0ptTGHCotherPM->SetXTitle(
"MC Impact parameter [#mum] ");
5383 hMCd0D0ptTGHCotherPM->SetYTitle(
"Entries");
5387 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5388 hd0D0VtxTrueptTGHCotherPM =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5389 hd0D0VtxTrueptTGHCotherPM->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5390 hd0D0VtxTrueptTGHCotherPM->SetYTitle(
"Entries");
5394 strnamept.Append(
"SBMss_pt");
5397 strtitlept=titlehist;
5398 strtitlept.Append(
" Side Bands, ");
5400 strtitlept.Append(
"<= pt <");
5402 strtitlept.Append(
" [GeV/c]");
5404 hd0D0ptTGHCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5405 hd0D0ptTGHCotherSB->SetXTitle(
"Impact parameter [#mum] ");
5406 hd0D0ptTGHCotherSB->SetYTitle(
"Entries");
5409 strnamept.ReplaceAll(
"hd0D0",
"hMCd0D0");
5410 hMCd0D0ptTGHCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5411 hMCd0D0ptTGHCotherSB->SetXTitle(
"MC Impact parameter [#mum] ");
5412 hMCd0D0ptTGHCotherSB->SetYTitle(
"Entries");
5415 strnamept.ReplaceAll(
"hMCd0D0",
"hd0D0VtxTrue");
5416 hd0D0VtxTrueptTGHCotherSB =
new TH1F(strnamept.Data(),strtitlept.Data(),1000,-1000.,1000.);
5417 hd0D0VtxTrueptTGHCotherSB->SetXTitle(
"Impact parameter w.r.t. True Vtx [#mum] ");
5418 hd0D0VtxTrueptTGHCotherSB->SetYTitle(
"Entries");
5421 Printf(
"AFTER DATA HISTOS CREATION \n");
5423 delete ptbinlimitsCxyLxy;
5462 AliAODEvent *aod =
dynamic_cast<AliAODEvent*
> (InputEvent());
5464 Printf(
"ERROR: aod not available");
5467 TClonesArray *arrayD0toKpi=NULL;
5468 if(!aod && AODEvent() && IsStandardAOD()) {
5471 aod =
dynamic_cast<AliAODEvent*
> (AODEvent());
5474 AliAODHandler* aodHandler = (AliAODHandler*)
5475 ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
5477 if(aodHandler->GetExtensions()) {
5478 AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(
"AliAOD.VertexingHF.root");
5479 AliAODEvent* aodFromExt = ext->GetAOD();
5482 arrayD0toKpi =(TClonesArray*)aodFromExt->GetList()->FindObject(
"LikeSign2Prong");
5484 Printf(
"AliAnalysisTaskSECharmFraction::UserExec: LikeSign branch not found!\n");
5490 arrayD0toKpi = (TClonesArray*)aodFromExt->GetList()->FindObject(
"D0toKpi");
5492 Printf(
"AliAnalysisTaskSECharmFraction::UserExec: D0toKpi branch not found!\n");
5500 arrayD0toKpi =(TClonesArray*)aod->GetList()->FindObject(
"LikeSign2Prong");
5502 Printf(
"AliAnalysisTaskSECharmFraction::UserExec: LikeSign branch not found!\n");
5508 arrayD0toKpi = (TClonesArray*)aod->GetList()->FindObject(
"D0toKpi");
5510 Printf(
"AliAnalysisTaskSECharmFraction::UserExec: D0toKpi branch not found!\n");
5518 printf(
"AliAnalysisTaskSECharmFraction::UserExec: input branch not found!\n");
5530 Int_t nSelectedloose=0, nSelectedtight=0;
5532 Bool_t isEventSelTGHT=kTRUE,isEventSelLOOSE=kTRUE;
5535 isEventSelTGHT=kFALSE;
5549 isEventSelLOOSE=kFALSE;
5564 if(!(isEventSelTGHT||isEventSelLOOSE)){
5577 if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001){
5584 AliAODVertex *vtx1 = (AliAODVertex*)aod->GetPrimaryVertex();
5585 TString primTitle = vtx1->GetTitle();
5586 if(primTitle.Contains(
"VertexerTracks") && vtx1->GetNContributors()>0) {
5609 if(isEventSelTGHT)
fNentries->Fill(5,aod->GetNumberOfTracks());
5610 if(isEventSelLOOSE)
fNentries->Fill(12,aod->GetNumberOfTracks());
5613 Bool_t aziListIsFilled=kFALSE;
5614 Double_t azilist[30000];
5615 Int_t trkIDlist[30000],nprim=0;
5618 for(Int_t ephi=0;ephi<30000;ephi++){
5619 azilist[ephi]=-999.;
5620 trkIDlist[ephi]=-999;
5628 TClonesArray *arrayMC=0x0;
5629 AliAODMCHeader *aodmcHeader=0x0;
5630 Double_t vtxTrue[3];
5636 (TClonesArray*)aod->GetList()->FindObject(AliAODMCParticle::StdBranchName());
5638 Printf(
"AliAnalysisTaskSECharmFraction::UserExec: MC particles branch not found!\n");
5643 (AliAODMCHeader*)aod->GetList()->FindObject(AliAODMCHeader::StdBranchName());
5645 Printf(
"AliAnalysisTaskSECharmFraction::UserExec: MC header branch not found!\n");
5649 aodmcHeader->GetVertex(vtxTrue);
5658 Int_t nTotD0toKpi=0;
5659 Int_t okd0tight,okd0bartight,okd0loose,okd0barloose,okd0tightnopid,okd0bartightnopid;
5660 Bool_t defaultNC=kTRUE;
5661 Bool_t isPeakD0,isPeakD0bar,isSideBandD0,isSideBandD0bar,isSideBand;
5662 Bool_t isinacceptance;
5663 Int_t signallevel=-1;
5666 Double_t invMassD0,invMassD0bar,ptD0,massmumtrue;
5673 Int_t trkIDtoEntry[100000];
5679 for(Int_t it=0;it<aod->GetNumberOfTracks();it++) {
5680 AliAODTrack *track =
dynamic_cast<AliAODTrack*
>(aod->GetTrack(it));
5681 if(!track) AliFatal(
"Not a standard AOD");
5684 if(track->Pt()>
fptMax[0]){
5689 else if(track->Pt()>
fptMax[1]){
5694 if(track->GetID()<0) {
5701 trkIDtoEntry[track->GetID()]=it;
5706 Int_t nD0toKpi = arrayD0toKpi->GetEntriesFast();
5707 nTotD0toKpi += nD0toKpi;
5709 if(isEventSelTGHT)
fNentries->Fill(6,nD0toKpi);
5710 if(isEventSelLOOSE)
fNentries->Fill(13,nD0toKpi);
5714 for (Int_t iD0toKpi = 0; iD0toKpi < nD0toKpi; iD0toKpi++) {
5715 if(aodDMC!=0x0)
delete aodDMC;
5720 isSideBandD0=kFALSE;
5721 isSideBandD0bar=kFALSE;
5723 isinacceptance=kTRUE;
5727 okd0bartightnopid=0;
5746 AliAODVertex *origownvtx=0x0;