11 gROOT->LoadMacro(
"$VMCWORKDIR/gconfig/rootlogon.C");
rootlogon();
13 TCanvas *
c1=
new TCanvas(
"c1",
"c1",900,600);
18 TH1F *phimass =
new TH1F(
"phimass",
"phi cands",100,0.95,1.1);
19 TH1F *pi0mass =
new TH1F(
"pi0mass",
"pi0 cands",100,0.135-0.03,0.135+0.03);
20 TH1F *dsmass =
new TH1F(
"dsmass",
"Ds cands",100,1.968-0.1,1.968+0.1);
21 TH1F *ds0mass =
new TH1F(
"ds0mass",
"Ds0 cands",100,2.317-0.1,2.317+0.1);
22 TH1F *ppmass =
new TH1F(
"ppmass",
"pbarp cands",100,4.306-0.1,4.306+0.1);
24 TH1F *nmult=
new TH1F(
"nmult",
"# neutrals",15,0,15);
26 phimass->SetMinimum(0);
27 pi0mass->SetMinimum(0);
28 dsmass->SetMinimum(0);
29 ds0mass->SetMinimum(0);
30 ppmass->SetMinimum(0);
34 PndEventReader evr(fname);
36 if (nevts==0) nevts=evr.GetEntries();
40 TCandList kp, km, pip, pim,
gam;
41 TCandList
phi, pi0, dsp, dsm, ds0p, ds0m, pp;
45 TPidMassSelector *phiMSel =
new TPidMassSelector(
"phiSelector" , 1.0195 , 0.02);
46 TPidMassSelector *pi0MSel =
new TPidMassSelector(
"pi0Selector" , 0.135 , 0.02);
47 TPidMassSelector *dsMSel =
new TPidMassSelector(
"dsSelector" , 1.9685 , 0.04);
55 while (evr.GetEvent() && i++<nevts)
57 if (0==i%100) cout <<
"evt "<<i<<endl;
59 evr.FillList(kp,
"KaonVeryLoosePlus");
60 evr.FillList(km,
"KaonVeryLooseMinus");
61 evr.FillList(pip,
"PionVeryLoosePlus");
62 evr.FillList(pim,
"PionVeryLooseMinus");
63 evr.FillList(gam,
"Neutral");
65 nmult->Fill(gam.GetLength());
73 for (j=0;j<phi.GetLength();++j) phimass->Fill(phi[j].M());
77 dsp.Combine(phi, pip);
78 dsm.Combine(phi, pim);
79 for (j=0;j<dsm.GetLength();++j) dsmass->Fill(dsm[j].M());
80 for (j=0;j<dsp.GetLength();++j) dsmass->Fill(dsp[j].M());
86 for (j=0;j<pi0.GetLength();++j) pi0mass->Fill(pi0[j].M());
90 ds0p.Combine(dsp, pi0);
91 ds0m.Combine(dsm, pi0);
92 for (j=0;j<ds0p.GetLength();++j) ds0mass->Fill(ds0p[j].M());
93 for (j=0;j<ds0m.GetLength();++j) ds0mass->Fill(ds0m[j].M());
96 pp.Combine(dsp, ds0m);
99 for (j=0;j<pp.GetLength();++j) ppmass->Fill(pp[j].M());
105 c1->cd(1); phimass->Draw();
106 c1->cd(2); pi0mass->Draw();
107 c1->cd(3); dsmass->Draw();
108 c1->cd(4); ds0mass->Draw();
109 c1->cd(5); ppmass->Draw();
110 c1->cd(6); nmult->Draw();
115 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
122 int nd=tc->NDaughters();
124 cout <<tc->Uid()<<
"("<<level<<
") -> ";
125 for (i=0;i<nd;i++) cout<<tc->Daughter(i)->Uid()<<
" ";
128 if (level==0) cout <<endl;
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
int printRecursive(TCandidate *tc, int level=0)
int ana_dsdsj(TString fname="dsds_10k.evt.root", int num=0)