Go to the source code of this file.
int ana_hc |
( |
TString |
fname, |
|
|
int |
nevts = 0 |
|
) |
| |
Definition at line 1 of file ana_hc.C.
References basiclibs(), c1, ctime, Double_t, eta, gam, i, mpi0, printf(), rtime, and timer.
6 gROOT->LoadMacro(
"$VMCWORKDIR/gconfig/basiclibs.C");
basiclibs();
7 gSystem->Load(
"libRho");
9 TCanvas *
c1=
new TCanvas(
"c1",
"c1",600,600);
12 TH1F *
mpi0=
new TH1F(
"mpi0",
"m(pi0)",100,0.0,0.3);
13 TH1F *meta=
new TH1F(
"meta",
"m(eta)",100,0.3,0.7);
14 TH1F *metac=
new TH1F(
"metac",
"m(eta_c)",200,0,3.5);
15 TH1F *mhc=
new TH1F(
"mhc",
"m(h_c)",200,0,3.8);
20 PndEventReader evr(fname);
22 if (nevts==0) nevts=evr.GetEntries();
25 TCandList neut,
gam, pi0,
eta, etac, hc;
27 TPidMassSelector *etaMassSel=
new TPidMassSelector(
"eta",0.554,0.03);
28 TPidMassSelector *pi0MassSel=
new TPidMassSelector(
"pi0",0.135,0.03);
29 TPidEnergySelector *gamSel=
new TPidEnergySelector(
"en",5,9.9);
31 while (evr.GetEvent() && i++<nevts)
33 if (0==i%100) cout <<
"evt "<<i<<endl;
35 evr.FillList(neut,
"Neutral");
38 for (j=0;j<neut.GetLength();j++)
39 if (neut[j]->GetMicroCandidate()->GetEmcNumberOfCrystals()>=3
40 || neut[j]->GetMicroCandidate()->GetEmcNumberOfCrystals()==0 )
44 for (j=0;j<pi0.GetLength();++j) mpi0->Fill(pi0[j].M());
45 pi0.Select(pi0MassSel);
48 for (j=0;j<eta.GetLength();++j) meta->Fill(eta[j].M());
49 eta.Select(etaMassSel);
51 etac.Combine(eta, pi0, pi0);
52 for (j=0;j<etac.GetLength();++j) metac->Fill(etac[j].M());
55 for (j=0;j<hc.GetLength();++j) mhc->Fill(hc[j].M());
59 c1->cd(1); mpi0->Draw();
60 c1->cd(2); meta->Draw();
61 c1->cd(3); metac->Draw();
62 c1->cd(4); mhc->Draw();
69 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)