7 case 22: mctxt+=
"#gamma" ;
break;
8 case 11: mctxt+=
"e^{-}" ;
break;
9 case -11: mctxt+=
"e^{+}" ;
break;
10 case 13: mctxt+=
"#mu^{-}" ;
break;
11 case -13: mctxt+=
"#mu^{+}" ;
break;
12 case 111: mctxt+=
"#pi^{0}" ;
break;
13 case 211: mctxt+=
"#pi^{+}" ;
break;
14 case -211: mctxt+=
"#pi^{-}" ;
break;
15 case 310: mctxt+=
"K^{0}_{S}" ;
break;
16 case 130: mctxt+=
"K^{0}_{L}" ;
break;
17 case 321: mctxt+=
"K^{+}" ;
break;
18 case -321: mctxt+=
"K^{-}" ;
break;
20 case 12: mctxt+=
"#nu_{e}";
break;
21 case 14: mctxt+=
"#nu_{#mu}";
break;
22 case -12: mctxt+=
"#bar{#nu}_{e}";
break;
23 case -14: mctxt+=
"#bar{#nu}_{#mu}";
break;
25 case 2112: mctxt+=
"n" ;
break;
26 case 2212: mctxt+=
"p" ;
break;
28 case 3122: mctxt+=
"#Lambda";
break;
29 case 3124: mctxt+=
"#Lambda(1520)";
break;
30 case 13122: mctxt+=
"#Lambda(1405)";
break;
32 case 3222: mctxt+=
"#Sigma^{+}";
break;
33 case 3224: mctxt+=
"#Sigma^{*+}";
break;
34 case 3212: mctxt+=
"#Sigma^{0}";
break;
35 case 3214: mctxt+=
"#Sigma^{*0}";
break;
36 case 3112: mctxt+=
"#Sigma^{-}";
break;
37 case 3114: mctxt+=
"#Sigma^{*-}";
break;
39 case 3312: mctxt+=
"#Xi^{-}";
break;
40 case 3322: mctxt+=
"#Xi^{0}";
break;
41 case 3314: mctxt+=
"#Xi^{*-}";
break;
42 case 3324: mctxt+=
"#Xi^{*0}";
break;
44 case 3334: mctxt+=
"#Omega^{-}";
break;
46 case -2112: mctxt+=
"#bar{n}" ;
break;
47 case -2212: mctxt+=
"#bar{p}" ;
break;
49 case -3122: mctxt+=
"#bar{#Lambda}";
break;
50 case -3124: mctxt+=
"#bar{#Lambda}(1520)";
break;
51 case -13122: mctxt+=
"#bar{#Lambda}(1405)";
break;
53 case -3222: mctxt+=
"#bar{#Sigma}^{-}";
break;
54 case -3224: mctxt+=
"#bar{#Sigma}^{*-}";
break;
55 case -3212: mctxt+=
"#bar{#Sigma}^{0}";
break;
56 case -3214: mctxt+=
"#bar{#Sigma}^{*0}";
break;
57 case -3112: mctxt+=
"#bar{#Sigma}^{+}";
break;
58 case -3114: mctxt+=
"#bar{#Sigma}^{*+}";
break;
60 case -3312: mctxt+=
"#bar{#Xi}^{+}";
break;
61 case -3322: mctxt+=
"#bar{#Xi}^{0}";
break;
62 case -3314: mctxt+=
"#bar{#Xi}^{*+}";
break;
63 case -3324: mctxt+=
"#bar{#Xi}^{*0}";
break;
65 case -3334: mctxt+=
"#bar{#Omega}^{+}";
break;
67 case 443: mctxt+=
"J/#Psi";
break;
68 case 100443: mctxt+=
"#Psi(2S)";
break;
69 case 441: mctxt+=
"#eta_c(1S)";
break;
70 case 10441: mctxt+=
"#xi_{c0}(1P)";
break;
71 case 20443: mctxt+=
"#xi_{c1}(1P)";
break;
72 case 445: mctxt+=
"#xi_{c2}(1P)";
break;
73 case 100441: mctxt+=
"#eta_c(2S)";
break;
74 case 10443: mctxt+=
"h_c(1P)";
break;
76 default: mctxt+=
"?" ;
break;
86 TLorentzVector sum, tmp;
89 if(
id<0)
return "none";
93 for(Int_t
i=0;
i<mctrack_array->GetEntries();
i++){
116 TString shouldbe=
"#Psi(2S) (#xi_{c1}(1P) (J/#Psi (#Lambda (p #pi^{-} ) #bar{#Lambda} (#bar{n} #pi^{0} (#gamma e^{+} e^{-} ) ) ) #gamma ) #gamma ) ";
118 cout <<
"-------------------------------------------------"<<endl
119 <<
"This macro checks the decay tree stored by QAmacro evtgen_2"<<endl
120 <<
"in file qa_evtgen2.root"<<endl
121 <<
"Is checks the layout of the (fixed) tree by a string comparison."<<endl
122 <<
"-----------------------------------------------"<<endl;
128 TChain *abc=
new TChain(
"pndsim");
129 abc->Add(
"qa_evtgen2.root");
132 abc->SetBranchAddress(
"MCTrack",&mctrack_array);
134 Int_t
ncounts = abc->GetEntries();
135 if(ncounts<1) fTest=kFALSE;
137 for(
int k = 0; k <
ncounts; k++){
142 cout <<
"====== Evt "<<k<<
" ======="<<endl;
143 for(Int_t
i=0;
i<mctrack_array->GetEntries();
i++){
148 cout <<
"Part "<<
i<<
": "<<mytxt<<endl;
149 if(fullevt!=
"") fullevt+=
" / ";
153 cout <<
"Full Event: "<<fullevt<<endl;
154 if(fullevt!=shouldbe){
155 cout <<
"Event layout differs from the one defined in qa macro!!!"<<endl;
156 cout <<
"Shouldbe: "<<shouldbe<<endl;
159 cout <<
"==================="<<endl;
164 cout <<
" Test Passed" << endl;
165 cout <<
" All Ok " << endl;
167 cout <<
" Test Failed" << endl;
168 cout <<
" Not Ok " << endl;
173 printf(
"RealTime=%f seconds, CpuTime=%f seconds\n",rtime,ctime);
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
void add_mccode(TString &mctxt, Int_t id)
TString propagate_mclist(Int_t id, TClonesArray *mctrack_array)
Int_t GetSecondMotherID() const
TClonesArray * mctrack_array
Int_t GetMotherID() const