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:kinematicsubstructureconstituentconstituentAllfatjetName: The (prefix) name of the container. Default:fatjet.subjetDetailStr: List of detail options to pass to the subjet container. See :cpp:member:HelpTreeBase::AddJetsfor 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¶
-