@@ -262,14 +262,17 @@ struct TauThreeProngEventTableProducer {
262262 registrySkim.add (" skim/nTof" , " ;N_{TOFtrk};events" , {HistType::kTH1F , {{10 , -1 ., 9 .}}});
263263 }
264264 if (doprocessMonteCarlo) {
265- registrySkim.add (" skim/efficiencyMC" , " ;efficeincy ;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
265+ registrySkim.add (" skim/efficiencyMC" , " ;efficiency ;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
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" );
269269 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (4 , " 4: |#eta^{ch}|<0.9" );
270270 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (5 , " 5: 4 or 6 trk" );
271- registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (6 , " 6: 4 trk" );
272- registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (7 , " 7: 6 trk" );
271+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (6 , " e+3#pi" );
272+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (7 , " #mu+3#pi" );
273+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (8 , " #pi+3#pi" );
274+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (9 , " 6#pi" );
275+ registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->GetXaxis ()->SetBinLabel (10 , " rec" );
273276
274277 registrySkim.add (" skim/problemMC" , " ;problem;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
275278
@@ -280,13 +283,14 @@ struct TauThreeProngEventTableProducer {
280283 registrySkim.add (" skim/tauPtMC" , " ;p_{T}^{#tau};events" , {HistType::kTH1F , {{100 , 0 , 5 .}}});
281284 registrySkim.add (" skim/tauDeltaEtaMC" , " ;#Delta#eta^{#tau};events " , {HistType::kTH1F , {{100 , -5 ., 5 .}}});
282285 registrySkim.add (" skim/tauDeltaPhiMC" , " ;#Delta#phi^{#tau}(deg.);events" , {HistType::kTH1F , {{100 , 131 ., 181 }}});
286+ registrySkim.add (" skim/ditauInvMassMC" , " ;M_{inv}^{#tau#tau}(GeV/#it{c}^{2});events" , {HistType::kTH1F , {{100 , 3.4 , 13.4 }}});
283287 registrySkim.add (" skim/nChPartMC" , " ;N^{ch. part};events" , {HistType::kTH1F , {{10 , 0 , 10 .}}});
284288 registrySkim.add (" skim/daughterPhiMC" , " ;#phi^{daughter};events" , {HistType::kTH1F , {{100 , 0 , 6.4 }}});
285289 registrySkim.add (" skim/daughterEtaMC" , " ;#eta^{daughter};events" , {HistType::kTH1F , {{100 , -4 ., 4 .}}});
286290 registrySkim.add (" skim/daughterPtMC" , " ;p_{T}^{daughter};events" , {HistType::kTH1F , {{100 , 0 , 5.0 }}});
287291 }
288292 if (doprocessGenerated) {
289- registrySkim.add (" gen/efficiencyMC" , " ;efficeincy ;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
293+ registrySkim.add (" gen/efficiencyMC" , " ;efficiency ;events" , {HistType::kTH1D , {{10 , 0 ., 10 .}}});
290294 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (1 , " All" );
291295 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (2 , " N^{#tau}=2" );
292296 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->GetXaxis ()->SetBinLabel (3 , " |y^{#tau}| <=0.9" );
@@ -315,6 +319,7 @@ struct TauThreeProngEventTableProducer {
315319 registrySkim.add (" gen/tauPtMC" , " ;p_{T}^{#tau};events" , {HistType::kTH1F , {{100 , 0 , 5 .}}});
316320 registrySkim.add (" gen/tauDeltaEtaMC" , " ;#Delta#eta^{#tau};events " , {HistType::kTH1F , {{100 , -5 ., 5 .}}});
317321 registrySkim.add (" gen/tauDeltaPhiMC" , " ;#Delta#phi^{#tau}(deg.);events" , {HistType::kTH1F , {{100 , 131 ., 181 }}});
322+ registrySkim.add (" gen/ditauInvMassMC" , " ;M_{inv}^{#tau#tau}(GeV/#it{c}^{2});events" , {HistType::kTH1F , {{100 , 3.4 , 13.4 }}});
318323 registrySkim.add (" gen/nChPartMC" , " ;N^{ch. part};events" , {HistType::kTH1F , {{10 , 0 , 10 .}}});
319324 registrySkim.add (" gen/daughterPhiMC" , " ;#phi^{daughter};events" , {HistType::kTH1F , {{100 , 0 , 6.4 }}});
320325 registrySkim.add (" gen/daughterEtaMC" , " ;#eta^{daughter};events" , {HistType::kTH1F , {{100 , -4 ., 4 .}}});
@@ -1212,6 +1217,13 @@ struct TauThreeProngEventTableProducer {
12121217 registrySkim.get <TH1 >(HIST (" skim/tauDeltaEtaMC" ))->Fill (trueTauEta[0 ] - trueTauEta[1 ]);
12131218 registrySkim.get <TH1 >(HIST (" skim/tauDeltaPhiMC" ))->Fill (calculateDeltaPhi (trueTauPhi[0 ], trueTauPhi[1 ]) * 180 . / o2::constants::math::PI );
12141219
1220+ // inv mass of two taus
1221+ ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzE4D<double >> tau1;
1222+ ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzE4D<double >> tau2;
1223+ tau1.SetXYZT (trueTauX[0 ], trueTauY[0 ], trueTauZ[0 ], RecoDecay::e (trueTauX[0 ], trueTauY[0 ], trueTauZ[0 ], MassTauPlus));
1224+ tau2.SetXYZT (trueTauX[1 ], trueTauY[1 ], trueTauZ[1 ], RecoDecay::e (trueTauX[1 ], trueTauY[1 ], trueTauZ[1 ], MassTauPlus));
1225+ registrySkim.get <TH1 >(HIST (" skim/ditauInvMassMC" ))->Fill ((tau1 + tau2).M ());
1226+
12151227 registrySkim.get <TH1 >(HIST (" skim/efficiencyMC" ))->Fill (2 ., 1 .); // |y_tau| <= 0.9
12161228 countMothers = 0 ;
12171229 int nChargedDaughtersTau[2 ] = {0 , 0 };
@@ -1641,7 +1653,7 @@ struct TauThreeProngEventTableProducer {
16411653 trueChannel,
16421654 // trueHasRecoColl,
16431655 mccoll.posZ (),
1644- trueTauX, trueTauY, trueTauZ,
1656+ // trueTauX, trueTauY, trueTauZ,
16451657 trueDaugX, trueDaugY, trueDaugZ,
16461658 trueDaugPdgCode, problem);
16471659 } else if (nChargedDaughtersTau[0 ] + nChargedDaughtersTau[1 ] == sixTracks) { // 6
@@ -1673,7 +1685,7 @@ struct TauThreeProngEventTableProducer {
16731685 trueChannel,
16741686 // trueHasRecoColl,
16751687 mccoll.posZ (),
1676- trueTauX, trueTauY, trueTauZ,
1688+ // trueTauX, trueTauY, trueTauZ,
16771689 trueDaugX, trueDaugY, trueDaugZ,
16781690 trueDaugPdgCode, problem);
16791691 } // end of saving the output
@@ -1795,6 +1807,13 @@ struct TauThreeProngEventTableProducer {
17951807 registrySkim.get <TH1 >(HIST (" gen/tauDeltaEtaMC" ))->Fill (trueTauEta[0 ] - trueTauEta[1 ]);
17961808 registrySkim.get <TH1 >(HIST (" gen/tauDeltaPhiMC" ))->Fill (calculateDeltaPhi (trueTauPhi[0 ], trueTauPhi[1 ]) * 180 . / o2::constants::math::PI );
17971809
1810+ // inv mass of two taus
1811+ ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzE4D<double >> tau1;
1812+ ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzE4D<double >> tau2;
1813+ tau1.SetXYZT (trueTauX[0 ], trueTauY[0 ], trueTauZ[0 ], RecoDecay::e (trueTauX[0 ], trueTauY[0 ], trueTauZ[0 ], MassTauPlus));
1814+ tau2.SetXYZT (trueTauX[1 ], trueTauY[1 ], trueTauZ[1 ], RecoDecay::e (trueTauX[1 ], trueTauY[1 ], trueTauZ[1 ], MassTauPlus));
1815+ registrySkim.get <TH1 >(HIST (" gen/ditauInvMassMC" ))->Fill ((tau1 + tau2).M ());
1816+
17981817 registrySkim.get <TH1 >(HIST (" gen/efficiencyMC" ))->Fill (2 ., 1 .); // |y_tau| <= 0.9
17991818 countMothers = 0 ;
18001819 int nChargedDaughtersTau[2 ] = {0 , 0 };
@@ -1965,17 +1984,19 @@ struct TauThreeProngEventTableProducer {
19651984 genTauFourTracks (
19661985 trueChannel,
19671986 mccoll.posZ (),
1968- trueTauX, trueTauY, trueTauZ,
1987+ // trueTauX, trueTauY, trueTauZ,
19691988 trueDaugX, trueDaugY, trueDaugZ,
1970- trueDaugPdgCode, problem,
1989+ trueDaugPdgCode,
1990+ problem,
19711991 trueHasRecoColl);
19721992 } else if (nChargedDaughtersTau[0 ] + nChargedDaughtersTau[1 ] == sixTracks) { // 6
19731993 genTauSixTracks (
19741994 trueChannel,
19751995 mccoll.posZ (),
1976- trueTauX, trueTauY, trueTauZ,
1996+ // trueTauX, trueTauY, trueTauZ,
19771997 trueDaugX, trueDaugY, trueDaugZ,
1978- trueDaugPdgCode, problem,
1998+ trueDaugPdgCode,
1999+ problem,
19792000 trueHasRecoColl);
19802001 } // end of writing output
19812002
0 commit comments