 |
Belle II Software
release-05-02-19
|
20 #include <framework/core/Module.h>
21 #include <framework/gearbox/Const.h>
33 class ECLChargedPIDDataAnalysisValidationModule :
public Module {
60 virtual void event()
override;
65 virtual void endRun()
override;
78 static constexpr
float c_PID = 0.5;
255 std::vector<std::vector<float>> m_pids_glob = std::vector<std::vector<float>>(
c_chargedStableHypos,
262 std::vector<float> m_p_binedges = {0.0, 0.5, 0.75, 1.0, 3.0, 5.0};
268 std::vector<float> m_th_binedges = {0.0, 0.2164208, 0.385, 0.561996, 1.13, 1.57, 1.88, 2.2462387, 2.47, 2.7070057, 3.1415926};
273 void dumpPIDVars(TTree* sampleTree,
const Const::ChargedStable& sigHypo,
const int sigCharge,
const Const::ChargedStable& bkgHypo,
274 bool mergeSigCharge =
false);
287 void dumpPIDEfficiencyFakeRate(TTree* sampleTree,
const Const::ChargedStable& sampleHypo,
const int sampleCharge,
288 const Const::ChargedStable& sigHypo,
bool mergeSampleCharge =
false);
299 void dumpTrkClusMatchingEfficiency(TTree* sampleTree,
const Const::ChargedStable& sampleHypo,
const int sampleCharge,
300 bool mergeSampleCharge =
false);
305 inline bool isValidChargedPdg(
const int pdg)
const
313 void paintUnderOverflow(TH1F* h);
static const unsigned int c_SetSize
Number of elements (for use in array bounds etc.)
virtual void terminate() override
Termination action.
static const ParticleType invalidParticle
Invalid particle, used internally.
std::map< Const::ChargedStable, bool > m_mergeChargeFlagByHypo
A map to tell for each charged stable particle hypothesis whether particle and antiparticle should be...
std::vector< TFile * > m_outputFile
Output ROOT::TFile that contains the info to plot.
static const ParticleSet chargedStableSet
set of charged stable particles
std::vector< int > m_inputPdgIdList
The pdgId list of the charged stable particles of interest.
virtual void event() override
Called once for each event.
std::vector< float > m_logl_bkg
Log-likelihood for the "background" particle hypothesis.
std::vector< float > m_pt
Track transverse momentum in [GeV/c].
static constexpr unsigned int c_chargedStableHypos
The maximal number of charged stable particle hypotheses.
std::vector< float > m_trkPhi
Track azimuthal angle in [rad].
std::vector< float > m_clusterReg
Cluster ECL region.
std::vector< float > m_deltalogl_sig_bkg
Delta Log-likelihood "signal" vs.
std::vector< float > m_p
Track momentum in [GeV/c].
std::vector< float > m_trackClusterMatch
Flag for track-cluster matching condition.
Abstract base class for different kinds of events.
std::vector< float > m_logl_sig
Log-likelihood for the "signal" particle hypothesis.
ECLChargedPIDDataAnalysisValidationModule()
Constructor of the module.
virtual ~ECLChargedPIDDataAnalysisValidationModule()
Destructor of the module.
std::vector< unsigned int > m_mergeChargeOfPdgIds
The (unsigned) pdgId list of the charged stable particles for which particle and antiparticle should ...
virtual void initialize() override
Initializes the module.
virtual void beginRun() override
Called once before a new run begins.
std::vector< float > m_trkTheta
Track polar angle in [rad].
bool m_saveValidationTree
Save the TTree in the output file alongside the histograms.
std::vector< TTree * > m_tree
A ROOT::TTree filled with the info to make control plots.
std::string m_outputFileName
Base name of the output ROOT::TFile.
virtual void endRun() override
Called once when a run ends.
static constexpr float c_PID
Defintion of the PID cut threshold to compute the efficiency.
std::vector< float > m_clusterPhi
Cluster azimuthal angle in [rad].
std::set< int > m_inputPdgIdSet
The pdgId set of the charged stable particles of interest.
std::vector< float > m_clusterTheta
Cluster polar angle in [rad].