11 #include <masterclass/modules/MasterClassModule.h>
12 #include <mdst/dataobjects/PIDLikelihood.h>
14 #include "TDirectory.h"
30 setDescription(R
"DOC("Module to write out data in a format for Belle II masterclasses)DOC");
31 addParam("outputFileName", m_filename,
"File name of root ntuple output.", std::string(
"masterclass.root"));
41 m_tree =
new TTree(
"T",
"Event Tree");
52 const double priors[] = {0.05, 0.05, 0.65, 0.24, 0.01, 0};
53 auto type = pid->getMostLikely(priors);
54 auto trackFit = track.getTrackFitResultWithClosestMass(type);
55 auto p = trackFit->getMomentum();
56 double m = type.getMass();
58 switch (type.getPDGCode()) {
59 case 11:
id = ELECTRON;
break;
60 case 13:
id = MUON;
break;
61 case 211:
id = PION;
break;
62 case 321:
id = KAON;
break;
63 case 2212:
id = PROTON;
break;
66 m_event->AddTrack(p.x(), p.y(), p.z(), sqrt(m * m + p.Mag2()), trackFit->getChargeSign(), id);
72 if (E < 0.1)
continue;
73 TVector3 p = cluster.getClusterPosition();
75 m_event->AddTrack(p.x(), p.y(), p.z(), E, 0, PHOTON);