@@ -262,7 +262,7 @@ struct TauThreeProngEventTableProducer {
262262 registrySkim.add (" skim/nTof" , " ;N_{TOFtrk};events" , {HistType::kTH1F , {{10 , -1 ., 9 .}}});
263263 }
264264 if (doprocessMonteCarlo) {
265- registrySkim.add (" skim/efficiencyMC" , " ;efficiency;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
265+ registrySkim.add (" skim/efficiencyMC" , " ;efficiency;events" , {HistType::kTH1D , {{15 , 0 ., 15 .}}});
266266 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (1 , " 1: All" );
267267 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (2 , " 2: N^{#tau}=2" );
268268 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (3 , " 3: |y^{#tau}| <= 0.9" );
@@ -273,6 +273,10 @@ struct TauThreeProngEventTableProducer {
273273 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (8 , " #pi+3#pi" );
274274 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (9 , " 6#pi" );
275275 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (10 , " rec" );
276+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (11 , " rec e+3#pi" );
277+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (12 , " rec #mu+3#pi" );
278+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (13 , " rec #pi+3#pi" );
279+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (14 , " rec 6#pi" );
276280
277281 registrySkim.add (" skim/problemMC" , " ;problem;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
278282
@@ -290,7 +294,7 @@ struct TauThreeProngEventTableProducer {
290294 registrySkim.add (" skim/daughterPtMC" , " ;p_{T}^{daughter};events" , {HistType::kTH1F , {{100 , 0 , 5.0 }}});
291295 }
292296 if (doprocessGenerated) {
293- registrySkim.add (" gen/efficiencyMC" , " ;efficiency;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
297+ registrySkim.add (" gen/efficiencyMC" , " ;efficiency;events" , {HistType::kTH1D , {{15 , 0 ., 15 .}}});
294298 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (1 , " All" );
295299 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (2 , " N^{#tau}=2" );
296300 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (3 , " |y^{#tau}| <=0.9" );
@@ -303,6 +307,10 @@ struct TauThreeProngEventTableProducer {
303307 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (8 , " #pi+3#pi" );
304308 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (9 , " 6#pi" );
305309 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (10 , " rec" );
310+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (11 , " rec e+3#pi" );
311+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (12 , " rec #mu+3#pi" );
312+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (13 , " rec #pi+3#pi" );
313+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (14 , " rec 6#pi" );
306314
307315 registrySkim.add (" gen/problemMC" , " ;problem;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
308316 registrySkim.get <TH1 >(HIST (" gen/problemMC" ))->GetXaxis ()->SetBinLabel (1 , " 1: NoProblem" );
@@ -1397,6 +1405,17 @@ struct TauThreeProngEventTableProducer {
13971405 if (verbose)
13981406 LOGF (info, " --- MC Collision has reconstructed collision!" );
13991407 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->Fill (9 ., 1 .);
1408+ // reconstruction in a given channel
1409+ if (nElec == oneProng && nPi == threeProng) { // 1 + 3
1410+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->Fill (10 ., 1 .);
1411+ } else if (nMuon == oneProng && nPi == threeProng) { // 1 + 3
1412+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->Fill (11 ., 1 .);
1413+ } else if (nPi == fourTracks) { // 4
1414+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->Fill (12 ., 1 .);
1415+ } else if (nPi == sixTracks) { // 6
1416+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->Fill (13 ., 1 .);
1417+ }
1418+
14001419 // trueHasRecoColl = true;
14011420 // check there is exactly one reco-level collision associated to generated collision
14021421 if (collFromMcColls.size () > 1 ) {
@@ -1973,6 +1992,18 @@ struct TauThreeProngEventTableProducer {
19731992 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->Fill (9 ., 1 .);
19741993 if (verbose)
19751994 LOGF (info, " --- MC Collision has reconstructed collision!" );
1995+
1996+ // reconstruction in a given channel
1997+ if (nElec == oneProng && nPi == threeProng) { // 1 + 3
1998+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->Fill (10 ., 1 .);
1999+ } else if (nMuon == oneProng && nPi == threeProng) { // 1 + 3
2000+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->Fill (11 ., 1 .);
2001+ } else if (nPi == fourTracks) { // 4
2002+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->Fill (12 ., 1 .);
2003+ } else if (nPi == sixTracks) { // 6
2004+ registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->Fill (13 ., 1 .);
2005+ }
2006+
19762007 } else { // get only the truth information.
19772008 if (verbose)
19782009 LOGF (info, " MC Collision has NO reconstructed collision!" );
0 commit comments