Tree Maker Base Class¶
-
class
HelpTreeBase
¶ Public Functions
-
HelpTreeBase
(xAOD::TEvent *event, TTree *tree, TFile *file, const float units = 1e3, bool debug = false, xAOD::TStore *store = nullptr)¶
-
HelpTreeBase
(TTree *tree, TFile *file, xAOD::TEvent *event = nullptr, xAOD::TStore *store = nullptr, const float units = 1e3, bool debug = false)¶
-
~HelpTreeBase
()¶
-
void
AddEvent
(const std::string detailStr = "")¶
-
void
AddTrigger
(const std::string detailStr = "")¶
-
void
AddJetTrigger
(const std::string detailStr = "")¶
-
void
AddMuons
(const std::string detailStr = "", const std::string muonName = "muon")¶
-
void
AddElectrons
(const std::string detailStr = "", const std::string elecName = "el")¶
-
void
AddPhotons
(const std::string detailStr = "", const std::string photonName = "ph")¶
-
void
AddJets
(const std::string detailStr = "", const std::string jetName = "jet")¶
-
void
AddL1Jets
()¶
-
void
AddTruthParts
(const std::string truthName, const std::string detailStr = "")¶
-
void
AddTrackParts
(const std::string trackName, const std::string detailStr = "")¶
-
void
AddFatJets
(const std::string detailStr = "", const std::string fatjetName = "fatjet", const std::string subjetDetailStr = "", const std::string suffix = "")¶ Declare a new collection of fatjets to be written to the output tree.
- Parameters
detailStr
: A (space-separated) list of detail options. These keywords specify exactly which information about each jet is written out. Current influential options are:kinematic
substructure
constituent
constituentAll
fatjetName
: The (prefix) name of the container. Default:fatjet
.subjetDetailStr
: List of detail options to pass to the subjet container. See :cpp:member:HelpTreeBase::AddJets
for list of supported values.
-
void
AddTruthFatJets
(const std::string detailStr = "", const std::string truthFatJetName = "truth_fatjet")¶
-
void
AddTaus
(const std::string detailStr = "", const std::string tauName = "tau")¶
-
void
AddMET
(const std::string detailStr = "")¶
-
void
FillEvent
(const xAOD::EventInfo *eventInfo, xAOD::TEvent *event = nullptr)¶
-
void
FillTrigger
(const xAOD::EventInfo *eventInfo)¶
-
void
FillJetTrigger
()¶
-
void
FillMuons
(const xAOD::MuonContainer *muons, const xAOD::Vertex *primaryVertex, const std::string muonName = "muon")¶
-
void
FillMuon
(const xAOD::Muon *muon, const xAOD::Vertex *primaryVertex, const std::string muonName = "muon")¶
-
void
FillElectrons
(const xAOD::ElectronContainer *electrons, const xAOD::Vertex *primaryVertex, const std::string elecName = "el")¶
-
void
FillElectron
(const xAOD::Electron *elec, const xAOD::Vertex *primaryVertex, const std::string elecName = "el")¶
-
void
FillPhotons
(const xAOD::PhotonContainer *photons, const std::string photonName = "ph")¶
-
void
FillPhoton
(const xAOD::Photon *photon, const std::string photonName = "ph")¶
-
void
FillJets
(const xAOD::JetContainer *jets, int pvLocation = -1, const std::string jetName = "jet")¶
-
void
FillJet
(const xAOD::Jet *jet_itr, const xAOD::Vertex *pv, int pvLocation, const std::string jetName = "jet")¶
-
void
FillL1Jets
(const xAOD::JetRoIContainer *jets)¶
-
void
FillTruth
(const std::string truthName, const xAOD::TruthParticleContainer *truth)¶
-
void
FillTruth
(const xAOD::TruthParticle *truthPart, const std::string truthName)¶
-
void
FillTracks
(const std::string trackName, const xAOD::TrackParticleContainer *tracks)¶
-
void
FillTrack
(const xAOD::TrackParticle *trackPart, const std::string trackName)¶
-
void
FillFatJets
(const xAOD::JetContainer *fatJets, const std::string fatjetName = "fatjet", const std::string suffix = "")¶ Write a container of jets to the specified container name (and optionally suffix). The container name and suffix should be declared beforehand using
AddFatJets()
. This clears the current branch state for the collection so it only makes sense to call once per call toFill()
.- Parameters
fatJets
: A container of jets to be written out.fatjetName
: The name of the output collection to write to.suffix
: The suffix of the output collection to write to.
-
void
FillFatJet
(const xAOD::Jet *fatjet_itr, const std::string fatjetName = "fatjet", const std::string suffix = "")¶
-
void
FillTruthFatJets
(const xAOD::JetContainer *truthFatJets, const std::string truthFatJetName = "truth_fatjet")¶
-
void
FillTruthFatJet
(const xAOD::Jet *truth_fatjet_itr, const std::string truthFatJetName = "truth_fatjet")¶
-
void
FillTaus
(const xAOD::TauJetContainer *taus, const std::string tauName = "tau")¶
-
void
FillTau
(const xAOD::TauJet *tau, const std::string tauName = "tau")¶
-
void
FillMET
(const xAOD::MissingETContainer *met)¶
-
void
Fill
()¶
-
void
ClearEvent
()¶
-
void
ClearTrigger
()¶
-
void
ClearJetTrigger
()¶
-
void
ClearMuons
(const std::string jetName = "muon")¶
-
void
ClearElectrons
(const std::string elecName = "el")¶
-
void
ClearPhotons
(const std::string photonName = "ph")¶
-
void
ClearJets
(const std::string jetName = "jet")¶
-
void
ClearL1Jets
()¶
-
void
ClearTruth
(const std::string truthName)¶
-
void
ClearTracks
(const std::string trackName)¶
-
void
ClearFatJets
(const std::string fatjetName, const std::string suffix = "")¶
-
void
ClearTruthFatJets
(const std::string truthFatJetName = "truth_fatjet")¶
-
void
ClearTaus
(const std::string tauName = "tau")¶
-
void
ClearMET
()¶
-
bool
writeTo
(TFile *file)¶
-
virtual void
AddEventUser
(const std::string detailStr = "")¶
-
virtual void
AddTriggerUser
(const std::string detailStr = "")¶
-
virtual void
AddJetTriggerUser
(const std::string detailStr = "")¶
-
virtual void
AddMuonsUser
(const std::string detailStr = "")¶
-
virtual void
AddElectronsUser
(const std::string detailStr = "")¶
-
virtual void
AddPhotonsUser
(const std::string detailStr = "")¶
-
virtual void
AddJetsUser
(const std::string detailStr = "", const std::string jetName = "jet")¶
-
virtual void
AddTruthUser
(const std::string truthName, const std::string detailStr = "")¶
-
virtual void
AddTracksUser
(const std::string trackName, const std::string detailStr = "")¶
-
virtual void
AddFatJetsUser
(const std::string detailStr = "", const std::string fatjetName = "", const std::string suffix = "")¶ Declare a new fat jet collection. Automatically called once per call to
AddFatJets()
; override this if you want to provide your own additional branches for fatjets.- Parameters
detailStr
: The space-separated list of detail requested by the called.fatjetName
: The (prefix) name of the output collection.suffix
: A suffix to be appeneded to the end of the output branch name(s).
-
virtual void
AddTruthFatJetsUser
(const std::string detailStr = "", const std::string truthFatJetName = "truth_fatjet")¶
-
virtual void
AddTausUser
(const std::string detailStr = "")¶
-
virtual void
AddMETUser
(const std::string detailStr = "")¶
-
virtual void
ClearEventUser
()¶
-
virtual void
ClearTriggerUser
()¶
-
virtual void
ClearMuonsUser
(const std::string)¶
-
virtual void
ClearElectronsUser
(const std::string)¶
-
virtual void
ClearPhotonsUser
(const std::string)¶
-
virtual void
ClearTruthUser
(const std::string)¶
-
virtual void
ClearTracksUser
(const std::string)¶
-
virtual void
ClearJetsUser
(const std::string)¶
-
virtual void
ClearFatJetsUser
(const std::string, const std::string)¶
-
virtual void
ClearTruthFatJetsUser
(const std::string)¶
-
virtual void
ClearTausUser
(const std::string)¶
-
virtual void
ClearMETUser
()¶
-
virtual void
FillEventUser
(const xAOD::EventInfo *)¶
-
virtual void
FillMuonsUser
(const xAOD::Muon *, const std::string)¶
-
virtual void
FillElectronsUser
(const xAOD::Electron *, const std::string)¶
-
virtual void
FillPhotonsUser
(const xAOD::Photon *, const std::string)¶
-
virtual void
FillJetsUser
(const xAOD::Jet *, const std::string)¶
-
virtual void
FillTruthUser
(const std::string, const xAOD::TruthParticle *)¶
-
virtual void
FillTracksUser
(const std::string, const xAOD::TrackParticle *)¶
-
virtual void
FillFatJetsUser
(const xAOD::Jet *, const std::string, const std::string)¶ Called once per call to
FillFatJets()
.Ooverride this if you want to any additional information to your jet collection.- Parameters
jet
: a pointer to the current xAOD::Jet object that should be written to the output branch(s).fatjetName
: the (prefix) name of the output collectionsuffix
: the suffix to append to output branches.
-
virtual void
FillTruthFatJetsUser
(const xAOD::Jet *, const std::string)¶
-
virtual void
FillTausUser
(const xAOD::TauJet *, const std::string)¶
-
virtual void
FillMETUser
(const xAOD::MissingETContainer *)¶
-
virtual void
FillTriggerUser
(const xAOD::EventInfo *)¶
-
virtual void
FillJetTriggerUser
()¶
Public Members
-
xAOD::TEvent *
m_event
¶
-
xAOD::TStore *
m_store
¶
-
HelperClasses::TriggerInfoSwitch *
m_trigInfoSwitch
¶
-
std::string
m_triggerSelection
¶
-
TrigConf::xAODConfigTool *
m_trigConfTool
¶
-
Trig::TrigDecisionTool *
m_trigDecTool
¶
Public Static Functions
-
std::string
FatJetCollectionName
(const std::string fatjetName = "fatjet", const std::string suffix = "")¶ Helper function to lookup each fatjet container name/suffix combo in the internal map of vectors for vectors. You probably don’t need this but it might be useful if you’re implementing
[Add/Fill/Clear]FatJetsUser()
.- Return
- a string that uniquely identifies the collection name/suffix in the lookup map.
- Parameters
fatjetName
: The (prefix) name of the container.suffix
: The container branch suffix.
Protected Functions
- template <typename T, typename U, typename V>
-
void
safeFill
(const V *xAODObj, SG::AuxElement::ConstAccessor<T> &accessor, std::vector<U> &destination, U defaultValue, int m_units = 1)¶
- template <typename T, typename U, typename V>
-
void
safeVecFill
(const V *xAODObj, SG::AuxElement::ConstAccessor<std::vector<T>> &accessor, std::vector<std::vector<U>> &destination, int m_units = 1)¶
- template <typename T>
-
void
setBranch
(std::string prefix, std::string varName, std::vector<T> *localVectorPtr)¶
Protected Attributes
-
TTree *
m_tree
¶
-
int
m_units
¶
-
bool
m_debug
¶
-
bool
m_isMC
¶
-
bool
m_nominalTree
¶
-
xAH::EventInfo *
m_eventInfo
¶
-
int
m_passL1
¶
-
int
m_passHLT
¶
-
unsigned int
m_masterKey
¶
-
unsigned int
m_L1PSKey
¶
-
unsigned int
m_HLTPSKey
¶
-
std::vector<std::string>
m_elTrigForMatching
¶
-
std::vector<std::string>
m_passTriggers
¶
-
std::vector<float>
m_triggerPrescales
¶
-
std::vector<std::string>
m_isPassBitsNames
¶
-
std::vector<unsigned int>
m_isPassBits
¶
-
std::map<std::string, xAH::JetContainer *>
m_jets
¶
-
int
m_nL1Jet
¶
-
std::vector<float>
m_l1Jet_et8x8
¶
-
std::vector<float>
m_l1Jet_eta
¶
-
std::vector<float>
m_l1Jet_phi
¶
-
std::map<std::string, xAH::TruthContainer *>
m_truth
¶
-
std::map<std::string, xAH::TrackContainer *>
m_tracks
¶
-
std::map<std::string, xAH::FatJetContainer *>
m_fatjets
¶
-
std::map<std::string, xAH::FatJetContainer *>
m_truth_fatjets
¶
-
std::map<std::string, xAH::MuonContainer *>
m_muons
¶
-
std::map<std::string, std::vector<std::string>>
m_RecoEff_SF_sysNames
¶
-
std::map<std::string, std::vector<std::string>>
m_IsoEff_SF_sysNames
¶
-
std::map<std::string, std::vector<std::string>>
m_TrigEff_SF_sysNames
¶
-
std::vector<std::string>
m_TTVAEff_SF_sysNames
¶
-
std::map<std::string, xAH::ElectronContainer *>
m_elecs
¶
-
std::map<std::string, xAH::PhotonContainer *>
m_photons
¶
-
std::map<std::string, xAH::TauContainer *>
m_taus
¶
-
xAH::MetContainer *
m_met
¶
-