@@ -45,6 +45,11 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
4545 signal = new MCSignal (name, " Primary electrons" , {prong}, {-1 }); // define the signal using the full constructor
4646 return signal;
4747 }
48+ if (!nameStr.compare (" photon" )) {
49+ MCProng prong (1 , {22 }, {true }, {false }, {0 }, {0 }, {false }); // define 1-generation prong using the full constructor
50+ signal = new MCSignal (name, " Photon" , {prong}, {-1 }); // define the signal using the full constructor
51+ return signal;
52+ }
4853 if (!nameStr.compare (" kaonFromPhi" )) {
4954 MCProng prong (2 , {321 , 333 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false }); // define 2-generation prong using the full constructor
5055 signal = new MCSignal (name, " Kaons from phi-mesons" , {prong}, {-1 }); // define the signal using the full constructor
@@ -173,22 +178,28 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
173178 signal = new MCSignal (name, " Electrons from pi0 decays" , {prong}, {-1 });
174179 return signal;
175180 }
181+ if (!nameStr.compare (" Pi0decayTOe" )) {
182+ MCProng prong (2 , {111 , 11 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
183+ prong.SetSignalInTime (0 , true ); // set direction to check for daughters (true, in time) or for mothers (false, back in time)
184+ signal = new MCSignal (name, " Pi0 decays into an electron" , {prong}, {-1 });
185+ return signal;
186+ }
176187 if (!nameStr.compare (" Pi0" )) {
177188 MCProng prong (1 , {111 }, {true }, {false }, {0 }, {0 }, {false });
178- // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
189+ // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
179190 signal = new MCSignal (name, " Pi0" , {prong}, {-1 });
180191 return signal;
181192 }
182193 if (!nameStr.compare (" LMeeLFQ" )) {
183194 MCProng prong (1 , {900 }, {true }, {false }, {0 }, {0 }, {false });
184- // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
185- signal = new MCSignal (name, " light flavor mesons + quarkonia" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi,jpsi,psi2s
195+ // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
196+ signal = new MCSignal (name, " light flavor mesons + quarkonia" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi,jpsi,psi2s
186197 return signal;
187198 }
188199 if (!nameStr.compare (" LMeeLF" )) {
189200 MCProng prong (1 , {901 }, {true }, {false }, {0 }, {0 }, {false });
190- // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
191- signal = new MCSignal (name, " ligh flavor mesons" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi
201+ // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
202+ signal = new MCSignal (name, " ligh flavor mesons" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi
192203 return signal;
193204 }
194205 if (!nameStr.compare (" electronFromDs" )) {
@@ -201,6 +212,11 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
201212 signal = new MCSignal (name, " Ds mesons" , {prong}, {-1 });
202213 return signal;
203214 }
215+ if (!nameStr.compare (" electronFromPC" )) {
216+ MCProng prong (2 , {11 , 22 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
217+ signal = new MCSignal (name, " electron from a photon conversion" , {prong}, {-1 });
218+ return signal;
219+ }
204220
205221 // 2-prong signals
206222 if (!nameStr.compare (" dielectron" )) {
@@ -230,7 +246,7 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
230246 return signal;
231247 }
232248
233- // LMEE single signals
249+ // LMEE single signals
234250 if (!nameStr.compare (" eFromPi0" )) {
235251 MCProng prong (2 , {11 , 111 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
236252 signal = new MCSignal (name, " Electrons from pi0 decays" , {prong}, {-1 });
@@ -288,10 +304,17 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
288304 signal = new MCSignal (name, " Electrons from LF meson + quarkonia decays" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi,jpsi,psi2s mesons
289305 return signal;
290306 }
307+ if (!nameStr.compare (" LFQdecayToE" )) {
308+ MCProng prong (2 , {900 , 11 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
309+ // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
310+ prong.SetSignalInTime (0 , true ); // set direction to check for daughters (true, in time) or for mothers (false, back in time)
311+ signal = new MCSignal (name, " LF meson + quarkonia decays into e" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi,jpsi,psi2s mesons
312+ return signal;
313+ }
291314 if (!nameStr.compare (" eFromLMeeLF" )) {
292315 MCProng prong (2 , {11 , 901 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
293- // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
294- signal = new MCSignal (name, " Electrons from LF meson decays" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi mesons
316+ // prong.SetSourceBit(0, MCProng::kPhysicalPrimary, false); // set source to be ALICE primary particles
317+ signal = new MCSignal (name, " Electrons from LF meson decays" , {prong}, {-1 }); // pi0,eta,eta',rho,omega,phi mesons
295318 return signal;
296319 }
297320 if (!nameStr.compare (" eFromHc" )) {
@@ -334,9 +357,15 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
334357 signal = new MCSignal (name, " Electrons from open charmed hadron decays from b hadron decays" , {prong}, {-1 });
335358 return signal;
336359 }
360+ // if (!nameStr.compare("LFQtoPC")) {
361+ // MCProng prong(3, {900, 22, 11}, {true, true, true}, {false, false, false}, {0, 0, 0}, {0, 0, 0}, {false, false, false});
362+ // prong.SetSignalInTime(0, true); // set direction to check for daughters (true, in time) or for mothers (false, back in time)
363+ // signal = new MCSignal(name, "LF meson + quarkonia decays into photon conversion electron", {prong}, {-1});
364+ // return signal;
365+ // }
337366
338367 // _________________________________________________________________________________________________________________________
339- // LMEE pair signals for LF, same mother
368+ // LMEE pair signals for LF, same mother
340369 if (!nameStr.compare (" eeFromPi0" )) {
341370 MCProng prong (2 , {11 , 111 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
342371 signal = new MCSignal (name, " ee pairs from pi0 decays" , {prong, prong}, {1 , 1 }); // signal at pair level
@@ -398,37 +427,37 @@ MCSignal* o2::aod::dqmcsignals::GetMCSignal(const char* name)
398427 return signal;
399428 }
400429
401- // LMEE pair signals for HF
402- // c->e and c->e (prompt)
430+ // LMEE pair signals for HF
431+ // c->e and c->e (prompt)
403432 if (!nameStr.compare (" eeFromCC" )) {
404433 MCProng prong (3 , {11 , 402 , 502 }, {true , true , true }, {false , false , true }, {0 , 0 , 0 }, {0 , 0 , 0 }, {false , false , false });
405434 signal = new MCSignal (name, " ee pairs from c->e and c->e" , {prong, prong}, {-1 , -1 }); // signal at pair level
406435 return signal;
407436 }
408437
409- // b->e and b->e
438+ // b->e and b->e
410439 if (!nameStr.compare (" eeFromBB" )) {
411440 MCProng prong (2 , {11 , 502 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
412441 signal = new MCSignal (name, " ee pairs from b->e and b->e" , {prong, prong}, {-1 , -1 }); // signal at pair level
413442 return signal;
414443 }
415444
416- // b->c->e and b->c->e
445+ // b->c->e and b->c->e
417446 if (!nameStr.compare (" eeFromBtoC" )) {
418447 MCProng prong (3 , {11 , 402 , 502 }, {true , true , true }, {false , false , false }, {0 , 0 , 0 }, {0 , 0 , 0 }, {false , false , false });
419448 signal = new MCSignal (name, " ee pairs from b->c->e and b->c->e" , {prong, prong}, {-1 , -1 }); // signal at pair level
420449 return signal;
421450 }
422451
423- // b->e and b->c->e
452+ // b->e and b->c->e
424453 if (!nameStr.compare (" eeFromBandBtoC" )) {
425454 MCProng prongB (2 , {11 , 502 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
426455 MCProng prongBtoC (3 , {11 , 402 , 502 }, {true , true , true }, {false , false , false }, {0 , 0 , 0 }, {0 , 0 , 0 }, {false , false , false });
427456 signal = new MCSignal (name, " ee pairs from b->e and b->c->e" , {prongB, prongBtoC}, {-1 , -1 }); // signal at pair level
428457 return signal;
429458 }
430459
431- // b->e and b->c->e (single b)
460+ // b->e and b->c->e (single b)
432461 if (!nameStr.compare (" eeFromSingleBandBtoC" )) {
433462 MCProng prongB (2 , {11 , 502 }, {true , true }, {false , false }, {0 , 0 }, {0 , 0 }, {false , false });
434463 MCProng prongBtoC (3 , {11 , 402 , 502 }, {true , true , true }, {false , false , false }, {0 , 0 , 0 }, {0 , 0 , 0 }, {false , false , false });
0 commit comments