\(j\)¶
-
class
JetCalibrator
: public xAH::Algorithm¶ A wrapper to a few JetETMiss packages. By setting the configuration parameters detailed in the header documentation, one can:
calibrate a given jet collection
apply systematic variations for JES
apply systematic variations for JER
decorate the jet with the decision of the Jet Cleaning tool
When considering systematics, a new
xAOD::JetCollection
is created for each systematic variation. The names are then saved in a vector for downstream algorithms to use.Public Functions
-
JetCalibrator
()¶
-
EL::StatusCode
setupJob
(EL::Job &job)¶
-
EL::StatusCode
fileExecute
()¶
-
EL::StatusCode
histInitialize
()¶
-
EL::StatusCode
changeInput
(bool firstFile)¶
-
EL::StatusCode
initialize
()¶
-
EL::StatusCode
execute
()¶
-
EL::StatusCode
postExecute
()¶
-
EL::StatusCode
finalize
()¶
-
EL::StatusCode
histFinalize
()¶
Public Members
-
std::string
m_inContainerName
= ""¶ The name of the input container for this algorithm to read from
TEvent
orTStore
-
std::string
m_outContainerName
= ""¶ The name of the nominal output container written by the algorithm to
TStore
If the algorithm applies systematic variations, for each shallow copy saved to
TStore
, the systematic name will be appended to this.
-
std::string
m_jetAlgo
= ""¶ set to
AntiKt4EMTopo
forAntiKt4EMTopoJets
-
std::string
m_outputAlgo
= ""¶ name of vector holding names of jet systematics given by the JetEtmiss Tools
-
bool
m_writeSystToMetadata
= false¶ Write systematics names to metadata.
-
std::string
m_calibConfigDir
= ""¶ config for JetCalibrationTool ConfigDir, set it to override tool defaults
-
std::string
m_calibConfigData
= "JES_data2017_2016_2015_Recommendation_Aug2018_rel21.config"¶ config for JetCalibrationTool for Data
-
std::string
m_calibConfigFullSim
= "JES_data2017_2016_2015_Recommendation_Aug2018_rel21.config"¶ config for JetCalibrationTool for Full Sim MC
-
std::string
m_calibConfigAFII
= "JES_MC16Recommendation_AFII_EMTopo_April2018_rel21.config"¶ config for JetCalibrationTool for AFII MC
-
std::string
m_calibSequence
= ""¶ List of calibration steps. Auto-configured to the Jet/Etmiss recommendation if left blank.
-
std::string
m_showerModel
= ""¶ The shower model used in MC, for MC-2-MC corrections.
-
std::string
m_uncertConfig
= ""¶ config for Jet Uncertainty Tool
-
std::string
m_uncertMCType
= ""¶ MC type for Jet Uncertainty Tool.
-
std::string
m_overrideCalibArea
= ""¶ Override CalibArea tag (default recommended)
-
std::string
m_overrideUncertCalibArea
= ""¶ Override uncertainties CalibArea tag (default recommended)
-
std::string
m_overrideAnalysisFile
= ""¶ Set analysis-specific jet flavour composition file for JetUncertainties (default: unknown comp.)
-
std::string
m_overrideUncertPath
= ""¶ Override uncertainties path (not recommended)
-
bool
m_forceInsitu
= false¶ when running data “_Insitu” is appended to calibration sequence
-
bool
m_forceSmear
= false¶ when running FullSim “_Smear” is appended to calibration sequence
-
bool
m_jetCalibToolsDEV
= false¶ when using DEV mode of JetCalibTools
-
bool
m_addGhostMuonsToJets
= false¶ Run muon-to-jet ghost association (recommended for MET)
-
bool
m_doCleaning
= true¶ enable to apply jet cleaning decoration
-
std::string
m_jetCleanCutLevel
= "LooseBad"¶ Cut Level.
-
bool
m_saveAllCleanDecisions
= false¶ Save all cleaning decisions as decorators.
-
bool
m_jetCleanUgly
= false¶ Do Ugly cleaning ( i.e. TileGap 3 )
-
bool
m_redoJVT
= false¶ Recalculate JVT using the calibrated jet pT.
-
bool
m_calculatefJVT
= false¶ Calculate fJVT using the calibrated jet pT.
-
double
m_fJVTCentralMaxPt
= -1¶ Maximum pT of central jets used to compute fJVT decision.
-
std::string
m_fJVTWorkingPoint
= "Medium"¶ fJVT working point
-
std::string
m_JvtAuxName
= ""¶ Name of Jvt aux decoration. Was “JvtJvfcorr” in Rel 20.7, is now “JVFCorr” in Rel 21. Leave empty to use JetMomentTools default.
-
bool
m_sort
= true¶ Sort the processed container elements by transverse momentum.
-
bool
m_cleanParent
= false¶ Apply jet cleaning to parent jet.
-
bool
m_applyFatJetPreSel
= false¶
-
bool
m_useLargeRTruthLabelingTool
= true¶ Use large-R jet truth labeling tool (needed for systematics)
-
std::string
m_truthLabelName
= "R10TruthLabel_R21Consolidated"¶ Name of the large-R jet truth labeling definition.
-
bool
m_isTruthJetCol
= false¶ Flag to indicate if using a truth jet collection.
-
bool
m_useTRUTH3
= true¶ Flag to indicate if input xAOD uses TRUTH3 style containers.
-
std::string
m_truthParticleContainerName
= "TruthParticles"¶ Name of the truth particle container if not using TRUTH3 containers.
-
std::string
m_truthBosonContainerName
= "TruthBosonsWithDecayParticles"¶ Name of the truth boson container if using TRUTH3 containers.
-
std::string
m_truthTopQuarkContainerName
= "TruthTopQuarkWithDecayParticles"¶ Name of the truth top quark container if using TRUTH3 containers.
-
bool
m_bendBTaggingLinks
= false¶ Copy b-tagging links to “default” jet container a la SUSYTools in order to allow running b-tagging tools on these.
-
std::string
m_btaggingContainerName
= ""¶ Name of the source container of the b-tagging links, e.g. AntiKt4EMPFlowJets_BTagging201903.
-
bool
m_doJetTileCorr
= false¶ jet tile correction
-
bool
m_pseudoData
= false¶ needed in case want to treat MC as pseudoData for JER uncertainty propagation
-
bool
m_mcAndPseudoData
= false¶ Treat MC as usual, then run the JER uncertainties on it a second time treating it as pseudodata. Overrides m_pseudodata if true.
Private Functions
-
EL::StatusCode
executeSystematic
(const CP::SystematicSet &thisSyst, const xAOD::JetContainer *inJets, std::pair<xAOD::JetContainer *, xAOD::ShallowAuxContainer *> &calibJetsSC, std::vector<std::string> &vecOutContainerNames, bool isPDCopy)¶
-
EL::StatusCode
initializeUncertaintiesTool
(asg::AnaToolHandle<ICPJetUncertaintiesTool> &uncToolHandle, bool isData)¶
-
EL::StatusCode
bendBTaggingLinks
(xAOD::JetContainer *to_container)¶
Private Members
-
bool
m_runSysts
= false¶ set to true if systematics asked for and exist
-
int
m_numEvent
¶
-
int
m_numObject
¶
-
std::string
m_calibConfig
¶
-
std::vector<CP::SystematicSet>
m_systList
¶
-
asg::AnaToolHandle<IJetCalibrationTool>
m_JetCalibrationTool_handle
= {"JetCalibrationTool", }¶
-
asg::AnaToolHandle<ICPJetUncertaintiesTool>
m_JetUncertaintiesTool_handle
= {"JetUncertaintiesTool", }¶
-
asg::AnaToolHandle<ICPJetUncertaintiesTool>
m_pseudodataJERTool_handle
= {"PseudodataJERTool", }¶
-
asg::AnaToolHandle<IJetUpdateJvt>
m_JVTUpdateTool_handle
= {"JetVertexTaggerTool", }¶
-
asg::AnaToolHandle<IJetModifier>
m_fJVTTool_handle
= {"JetForwardJvtTool", }¶
-
asg::AnaToolHandle<IJetSelector>
m_JetCleaningTool_handle
= {"JetCleaningTool", }¶
-
asg::AnaToolHandle<CP::IJetTileCorrectionTool>
m_JetTileCorrectionTool_handle
= {"JetTileCorrectionTool", }¶
-
asg::AnaToolHandle<JetTruthLabelingTool>
m_JetTruthLabelingTool_handle
= {"JetTruthLabelingTool", }¶
-
std::vector<asg::AnaToolHandle<IJetSelector>>
m_AllJetCleaningTool_handles
¶
-
std::vector<std::string>
m_decisionNames
¶