5#ifndef JETTAGDQA_BTagPLOTS_H
6#define JETTAGDQA_BTagPLOTS_H
34 void fillMultiplicities(
const unsigned int& nJets,
const unsigned int& nTracks,
const int& nPrimVtx,
const unsigned int& nTracksPrimVtx,
const unsigned int& nJetsWithMuon,
const unsigned int& nJetsWithSV, std::map<std::string, int>& nJetsThatPassedWPCuts,
const xAOD::EventInfo* event);
39 void fillSVVariables(
const xAOD::Jet*
jet,
const std::map<const xAOD::TrackParticle*, int> & track_truth_associations,
const bool& contains_muon,
const int& truth_label,
const int& num_HF_tracks_in_jet,
bool& contains_SV,
const xAOD::EventInfo* event);
480 void setIsDataJVTCutsAndTMPCut(
bool isData,
float JVTCutAntiKt4EMTopoJets,
float JVTCutLargerEtaAntiKt4EMTopoJets,
float JVTCutAntiKt4EMPFlowJets,
float truthMatchProbabilityCut);
481 void setTaggerNames(
const std::string& GN2v01Name,
const std::string& GN3XPV01Name);
502 TH1*
bookHistogram(std::string
histo_name,
const std::string& var_name,
const std::string& part =
"",
const std::string& prefix =
"");
504 void fillDiscriminantHistograms(
const std::string& tagger_name,
const double& discriminant_value,
const std::map<std::string, double>& working_points,
const int& truth_label, std::map<std::string, TH1*>::const_iterator hist_iter, std::map<std::string, int>::const_iterator label_iter,
const bool& pass_nTracksCut,
const double& jet_pT,
const double& jet_Lxy,
const bool& onZprime,
const xAOD::EventInfo* event);
507 void fillHistoWithTruthCases(T value, TH1* histo_incl, TH1* histo_b, TH1* histo_c, TH1* histo_l, TH1* histo_muon,
const int& truth_label,
const bool& has_muon,
const xAOD::EventInfo* event);
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
TH1 * m_SV1_significance3d_incl
void fillTrackVariables_for_largeRjet(const xAOD::Jet *jet, const xAOD::Vertex *myVertex, const int &truth_label, const xAOD::EventInfo *event)
TH1 * m_SV1_fracTracks_fromC_l
TH1 * m_SV1_efracsvx_muon
TH1 * m_nNextToInnHits_incl
TH1 * m_SV1_fracTracks_fromFake_b
TH1 * m_SV1_fracTracks_Secondaries_GammaConversion_incl
TH1 * m_SV1_fracTracks_fromPileup_b
void updateNJetsThatPassedWPCutsMap(std::map< std::string, int > &nJetsThatPassedWPCuts, const double &GN2v01, const double &GN3XPV01)
TH1 * m_SV1_fracTracks_OtherOrigin_muon
TH1 * m_subleading_muon_pT_frac
TH1 * m_nsplitPixHits_top
TH1 * m_numTracks_Secondaries_LambdaDecay_incl
TH1 * m_SV1_efracsvx_incl
TH1 * m_numTracks_Secondaries_muon
TH1 * m_SV1_significance3d_b
TH1 * m_SV1_fracTracks_Secondaries_OtherSecondary_muon
TH1 * m_SV1_fracTracks_Secondaries_GammaConversion_c
TH1 * m_numTracks_OtherOrigin_u
void bookDiscriminantVsPTAndLxyHistograms(const std::string &tagger_name, const std::map< std::string, double > &workingPoints, const bool &isOldTagger, std::map< std::string, int >::const_iterator label_iter, const std::string &m_sParticleType)
void setDetailLevel(const unsigned int &detailLevel)
TH1 * m_SV1_fracTracks_Secondaries_KshortDecay_incl
TH1 * m_numTracks_Fragmentation_c
TH1 * m_SV1_fracTracks_fromPileup_l
TH1 * m_numTracks_perJet_incl
TH1 * m_nsharedSCTHits_muon
TH1 * m_SV1_fracTracks_Secondaries_LambdaDecay_c
TH1 * m_SV1_energyTrkInJet_incl
TH1 * m_SV1_fracTracks_Secondaries_LambdaDecay_u
TH1 * m_SV1_fracTracks_Secondaries_OtherSecondary_c
TH1 * m_numTracks_Secondaries_KshortDecay_incl
void fillTrackVariables(const xAOD::Jet *jet, const xAOD::Vertex *myVertex, const std::map< const xAOD::TrackParticle *, int > &track_truth_associations, const bool &contains_muon, const int &truth_label, int &num_HF_tracks_in_jet, const xAOD::EventInfo *event)
TH1 * m_numTracks_Pileup_b
TH1 * m_SV1_fracTracks_fromPileup_muon
TH1 * m_SV1_fracTracks_fromC_b
TH1 * m_SV1_fracTracks_Secondaries_KshortDecay_c
void fillHistoWithTruthCases(T value, TH1 *histo_incl, TH1 *histo_b, TH1 *histo_c, TH1 *histo_l, TH1 *histo_muon, const int &truth_label, const bool &has_muon, const xAOD::EventInfo *event)
TH1 * m_SV1_fracTracks_fromB_l
TH1 * m_SV1_fracTracks_Secondaries_OtherDecay_muon
TH1 * m_deltaR_truthBHadron_jet_b
TH1 * m_nsharedBLHits_incl
TH1 * m_SV1_fracTracks_fromFragmentation_muon
TH1 * m_SV1_fracTracks_Secondaries_OtherSecondary_u
TH1 * m_SV1_fracTracks_fromSecondaries_incl
TH1 * m_nsplitPixHits_muon
TH1 * m_SV1_energyTrkInJet_l
TH1 * m_SV1_fracTracks_OtherOrigin_incl
TH1 * m_numTracks_Secondaries_GammaConversion_incl
TH1 * m_SV1_fracTracks_Secondaries_LambdaDecay_muon
TH1 * m_SV1_significance3d_muon
TH1 * m_nNextToInnHits_top
std::map< std::string, TH1 * > m_nJetsThatPassedWPCutsHistos
TH1 * m_SV1_fracTracks_Secondaries_OtherDecay_c
TH1 * m_numTracks_OtherOrigin_b
void fillDiscriminantVariables_for_largeRjet(const xAOD::Jet *jet, const int &truth_label, const bool &onZprime, std::map< std::string, int > &nJetsThatPassedWPCuts, const xAOD::EventInfo *event)
TH1 * m_numTracks_Secondaries_LambdaDecay_b
TH1 * m_SV1_fracTracks_Secondaries_HadronicInteraction_b
void setTaggerNames(const std::string &GN2v01Name, const std::string &GN3XPV01Name)
TH1 * m_numTracks_Secondaries_OtherSecondary_incl
TH1 * m_nsharedBLHits_top
TH1 * m_track_pT_frac_incl
TH1 * m_numTracks_Pileup_u
TH1 * m_SV1_energyTrkInJet_b
TH1 * m_numTracks_Secondaries_OtherSecondary_c
TH1 * m_SV1_fracTracks_fromC_muon
virtual void initializePlots()
void fillNJetsThatPassedWPCutsHistos(std::map< std::string, int > &nJetsThatPassedWPCuts, const xAOD::EventInfo *event)
TH1 * m_SV1_fracTracks_fromFake_muon
TH1 * m_SV1_fracTracks_Secondaries_HadronicInteraction_incl
TH1 * bookHistogram(std::string histo_name, const std::string &var_name, const std::string &part="", const std::string &prefix="")
TH1 * m_nsplitBLHits_muon
TH1 * m_SV1_fracTracks_fromC_incl
TH1 * m_numTracks_Secondaries_OtherDecay_incl
TH1 * m_numTracks_Fake_muon
TH1 * m_numTracks_OtherOrigin_incl
TH1 * m_numTracks_OtherOrigin_c
TH1 * m_nsharedBLHits_muon
TH1 * m_numTracks_Secondaries_LambdaDecay_c
TH1 * m_SV1_fracTracks_Secondaries_KshortDecay_muon
TH1 * m_SV1_NGTinSvx_incl
float m_truthMatchProbabilityCut
BTaggingValidationPlots(PlotBase *pParent, const std::string &sDir, std::string sParticleType)
TH1 * m_SV1_fracTracks_fromB_c
TH1 * m_SV1_fracTracks_fromFake_l
TH1 * m_SV1_fracTracks_fromSecondaries_b
TH1 * m_SV1_fracHFTracksInJet_b
TH1 * m_SV1_fracTracks_Secondaries_GammaConversion_b
TH1 * m_numTracks_Secondaries_incl
TH1 * m_numTracks_Secondaries_OtherDecay_c
TH1 * m_numTracks_Secondaries_HadronicInteraction_u
TH1 * m_deltaR_truthCHadron_jet_c
TH1 * m_numTracks_OtherOrigin_muon
std::map< std::string, double > m_GN3XPV01_workingPoints
TH1 * m_DeltaR_jet_track_b
TH1 * m_numTracks_Secondaries_OtherSecondary_b
TH1 * m_SV1_fracHFTracksInJet_l
TH1 * m_SV1_fracTracks_fromFragmentation_b
TH1 * m_numTracks_Secondaries_OtherDecay_u
TH1 * m_SV1_NGTinSvx_muon
TH1 * m_numTracks_perJet_c
TH1 * m_numTracks_Fake_incl
virtual void finalizePlots()
TH1 * m_SV1_fracTracks_Secondaries_OtherDecay_incl
TH1 * m_numTracks_Secondaries_KshortDecay_b
TH1 * m_SV1_fracTracks_fromFake_c
TH1 * m_SV1_fracTracks_fromPileup_incl
TH1 * m_SV1_fracTracks_Secondaries_OtherDecay_u
void fillHistoWithTruthCases_for_largeRjet(T value, TH1 *histo_incl, TH1 *histo_bb, TH1 *histo_cc, TH1 *histo_uu, TH1 *histo_top, const int &truth_label, const xAOD::EventInfo *event)
TH1 * m_numTracks_Secondaries_OtherDecay_muon
TH1 * m_SV1_fracHFTracksInJet_muon
TH1 * m_SV1_fracTracks_fromB_muon
TH1 * m_SV1_fracTracks_Secondaries_HadronicInteraction_muon
TH1 * m_SV1_fracTracks_fromPileup_c
TH1 * m_numTracks_Secondaries_c
TH1 * m_nsharedSCTHits_incl
TH1 * m_SV1_fracTracks_Secondaries_HadronicInteraction_u
void fillPVVariables(const double &PV_x, const double &PV_y, const double &PV_z, const xAOD::EventInfo *event)
std::string m_GN3XPV01Name
TH1 * m_SV1_fracTracks_Secondaries_OtherSecondary_b
TH1 * m_numTracks_Fragmentation_incl
TH1 * m_SV1_fracTracks_Secondaries_OtherSecondary_incl
TH1 * m_numTracks_Secondaries_HadronicInteraction_c
TH1 * m_SV1_fracTracks_fromFragmentation_incl
std::map< std::string, TH1 * > m_weight_histos
TH1 * m_SV1_energyTrkInJet_muon
TH1 * m_SV1_fracTracks_Secondaries_KshortDecay_u
TH1 * m_SV1_fracTracks_fromC_c
TH1 * m_numTracks_Secondaries_HadronicInteraction_incl
void bookNJetsThatPassedWPCutsHistos()
TH1 * m_numTracks_Secondaries_OtherSecondary_u
void setIsDataJVTCutsAndTMPCut(bool isData, float JVTCutAntiKt4EMTopoJets, float JVTCutLargerEtaAntiKt4EMTopoJets, float JVTCutAntiKt4EMPFlowJets, float truthMatchProbabilityCut)
TH1 * m_SV1_fracTracks_Secondaries_GammaConversion_u
TH1 * m_DeltaR_jet_track_muon
TH1 * m_numTracks_Secondaries_LambdaDecay_u
TH1 * m_SV1_fracTracks_fromSecondaries_muon
TH1 * m_numTracks_Secondaries_HadronicInteraction_b
TH1 * m_SV1_fracTracks_OtherOrigin_u
TH1 * m_numTracks_perJet_top
TH1 * m_numTracks_Secondaries_GammaConversion_muon
TH1 * m_SV1_fracTracks_fromB_incl
TH1 * m_numTracks_Secondaries_OtherSecondary_muon
TH1 * m_SV1_fracTracks_OtherOrigin_c
TH1 * m_numTracks_perJet_b
TH1 * m_numTracks_Pileup_incl
TH1 * m_SV1_fracTracks_fromFake_incl
TH1 * m_SV1_fracTracks_Secondaries_KshortDecay_b
TH1 * m_numTracks_Secondaries_GammaConversion_b
void fillSVVariables(const xAOD::Jet *jet, const std::map< const xAOD::TrackParticle *, int > &track_truth_associations, const bool &contains_muon, const int &truth_label, const int &num_HF_tracks_in_jet, bool &contains_SV, const xAOD::EventInfo *event)
TH1 * m_SV1_fracTracks_Secondaries_HadronicInteraction_c
TH1 * m_numTracks_Pileup_c
TH1 * m_SV1_fracTracks_fromFragmentation_c
TH1 * m_nsplitPixHits_incl
TH1 * m_SV1_fracTracks_fromB_b
TH1 * m_SV1_energyTrkInJet_c
TH1 * m_numTracks_Secondaries_KshortDecay_u
std::string m_sParticleType
std::map< std::string, int > m_truthLabels
TH1 * m_SV1_fracTracks_Secondaries_GammaConversion_muon
void fillDiscriminantVariables(const xAOD::Jet *jet, const double &jet_Lxy, const int &truth_label, const bool &onZprime, std::map< std::string, int > &nJetsThatPassedWPCuts, const xAOD::EventInfo *event)
TH1 * m_numTracks_Secondaries_b
TH1 * m_numTracks_perJet_u
TH1 * m_SV1_fracTracks_fromSecondaries_l
TH1 * m_DeltaR_jet_track_top
TH1 * m_numTracks_Secondaries_LambdaDecay_muon
void setHistogramDefinitions(std::map< std::string, std::vector< std::string > > HistogramDefinitions)
TH1 * m_nNextToInnHits_muon
TH1 * m_nsplitBLHits_incl
TH1 * m_SV1_fracTracks_fromFragmentation_l
TH1 * m_numTracks_Secondaries_HadronicInteraction_muon
TH1 * m_SV1_fracHFTracksInJet_c
void initializeNJetsThatPassedWPCutsMap(std::map< std::string, int > &nJetsThatPassedWPCuts)
TH1 * m_numTracks_Fragmentation_b
TH1 * m_numTracks_Fragmentation_u
TH1 * m_GN3XPV01_phtautauhad
TH1 * m_numTracks_Secondaries_OtherDecay_b
bool m_JVTLargerEta_defined
TH1 * m_numTracks_Secondaries_KshortDecay_c
TH1 * m_nsharedPixHits_incl
TH1 * m_SV1_fracTracks_OtherOrigin_b
TH1 * m_SV1_fracHFTracksInJet_incl
TH1 * m_DeltaR_jet_track_u
std::map< std::string, std::vector< std::string > > m_HistogramDefinitions
void fillOther(const xAOD::Jet *jet, bool &contains_muon, double &jet_Lxy, const int &truth_label, const xAOD::EventInfo *event)
TH1 * m_SV1_significance3d_c
TH1 * m_numTracks_Secondaries_GammaConversion_u
TH1 * m_DeltaR_jet_track_c
TH1 * m_SV1_fracTracks_Secondaries_LambdaDecay_incl
TH1 * m_numTracks_Secondaries_KshortDecay_muon
TH1 * m_SV1_significance3d_l
TH1 * m_DeltaR_jet_track_incl
TH1 * m_nsharedPixHits_muon
std::map< std::string, double > m_GN2v01_workingPoints
TH1 * m_track_pT_frac_top
std::vector< std::string > m_taggers
TH1 * m_leading_muon_pT_frac
void fillJetKinVars(const xAOD::Jet *jet, const int &truth_label, const bool &onZprime, const xAOD::EventInfo *event)
TH1 * m_nsharedSCTHits_top
TH1 * m_track_pT_frac_muon
TH1 * m_SV1_fracTracks_Secondaries_LambdaDecay_b
TH1 * m_numTracks_Fragmentation_muon
void fillMultiplicities(const unsigned int &nJets, const unsigned int &nTracks, const int &nPrimVtx, const unsigned int &nTracksPrimVtx, const unsigned int &nJetsWithMuon, const unsigned int &nJetsWithSV, std::map< std::string, int > &nJetsThatPassedWPCuts, const xAOD::EventInfo *event)
TH1 * m_numTracks_Pileup_muon
void fillDiscriminantHistograms(const std::string &tagger_name, const double &discriminant_value, const std::map< std::string, double > &working_points, const int &truth_label, std::map< std::string, TH1 * >::const_iterator hist_iter, std::map< std::string, int >::const_iterator label_iter, const bool &pass_nTracksCut, const double &jet_pT, const double &jet_Lxy, const bool &onZprime, const xAOD::EventInfo *event)
TH1 * m_SV1_fracTracks_fromSecondaries_c
TH1 * m_nsharedPixHits_top
TH1 * m_SV1_fracTracks_Secondaries_OtherDecay_b
TH1 * m_numTracks_Secondaries_GammaConversion_c
int getTrackHits(const xAOD::TrackParticle &part, xAOD::SummaryType info)
TH1 * m_numTracks_perJet_muon
unsigned int m_detailLevel
TH1 * m_numTracks_Secondaries_u
PlotBase(PlotBase *parent, const std::string &sDir)
Jet_v1 Jet
Definition of the current "jet version".
EventInfo_v1 EventInfo
Definition of the latest event info version.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.
SummaryType
Enumerates the different types of information stored in Summary.