Class JetSelector¶
Defined in File JetSelector.h
Inheritance Relationships¶
Base Type¶
public xAH::Algorithm
(Class Algorithm)
Class Documentation¶
-
class
JetSelector
: public xAH::Algorithm Public Functions
-
JetSelector
()
-
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
()
-
bool
executeSelection
(const xAOD::JetContainer *inJets, float mcEvtWeight, bool count, std::string outContainerName, bool isNominal)
-
int
PassCuts
(const xAOD::Jet *jet)
Public Members
-
bool
m_useCutFlow
= true
-
std::string
m_inContainerName
= "" input container name
-
std::string
m_outContainerName
= "" output container name
-
std::string
m_truthJetContainer
= "AntiKt4TruthJets" truth jet container name (used for JVT SF)
-
std::string
m_inputAlgo
= "" input type - from xAOD or from xAODAnaHelper Algo output
-
std::string
m_outputAlgo
= "" output type - this is how the vector<string> w/ syst names will be saved in TStore
-
bool
m_writeSystToMetadata
= false Write systematics names to metadata.
-
std::string
m_jetScaleType
= "" Type of Scale Momementum.
-
std::string
m_decor
= "passSel" The decoration key written to passing objects.
-
bool
m_decorateSelectedObjects
= true decorate selected objects? defaul passSel
-
bool
m_createSelectedContainer
= false fill using SG::VIEW_ELEMENTS to be light weight
-
int
m_nToProcess
= -1 look at n objects
-
bool
m_cleanJets
= true require cleanJet decoration to not be set and false
-
int
m_cleanEvtLeadJets
= -1 kill event if any of the N leading jets are not clean
-
bool
m_cleanEvent
= false Kill event if any passing jets are not clean.
Note
The jets need the cleanJet decoration which is set when you enable
JetCalibrator::m_doCleaning
-
bool
m_markCleanEvent
= false Mark event with decorator if any passing jets are not clean.
-
std::string
m_jetScale4Selection
= "Final" Choose the scale at which the selection is performed (default “Final”, i.e. default 4vector)
-
bool
m_doMCCleaning
= false (MC-only) Kill pileup overlay event if reconstructed jets avg(pT1,pT2) > 1.4*(truth jet pT1)
-
float
m_mcCleaningCut
= 1.4 Change the default 1.4 cut to x > 1.0.
-
int
m_pass_min
= -1 minimum number of objects passing cuts
-
int
m_pass_max
= -1 maximum number of objects passing cuts
-
float
m_pT_max
= 1e8 require pT < pt_max
-
float
m_pT_min
= 1e8 require pT > pt_min
-
float
m_ET_max
= 1e8 require ET < ET_max
-
float
m_ET_min
= 1e8 require ET > ET_min
-
float
m_eta_max
= 1e8 require eta < eta_max
-
float
m_eta_min
= 1e8 require eta > eta_min
-
float
m_detEta_max
= 1e8 require detEta < detEta_max
-
float
m_detEta_min
= 1e8 require detEta > detEta_min
-
float
m_mass_max
= 1e8 require mass < mass_max
-
float
m_mass_min
= 1e8 require mass > mass_min
-
float
m_rapidity_max
= 1e8 require rapidity < rapidity_max
-
float
m_rapidity_min
= 1e8 require rapidity > rapidity_min
-
int
m_truthLabel
= -1 require truth level on truth jets
-
bool
m_useHadronConeExcl
= true use HadronConeExclTruthLabelID for truth match (default)
-
bool
m_doJVF
= false check JVF
-
float
m_pt_max_JVF
= 50e3 max pT [GeV] (JVF is a pileup cut)
-
float
m_eta_max_JVF
= 2.4 detector eta cut
-
float
m_JVFCut
= 0.5 cut value
-
bool
m_doJVT
= false check JVT
-
bool
m_noJVTVeto
= false keep JVT-rejected jets and decorate passing status
-
bool
m_dofJVT
= false check forward JVT
-
bool
m_dofJVTVeto
= true Remove jets that fail fJVT. Like JVT, the default is to clean the collection.
-
float
m_pt_max_JVT
= 60e3 max pT [GeV] (JVT is a pileup cut)
-
float
m_eta_max_JVT
= 2.4 detector eta cut
-
bool
m_jvtUsedBefore
= false was JVT already run in an earlier instance of JetSelector?
-
bool
m_haveTruthJets
= true Does the input have truth jets? If not, cannot decorate with true hard scatter / pileup info.
-
bool
m_getJVTSF
= true Retrieve JVT SFs (true by default, when false: allows to get JVT decision w/o needing truth jets)
-
float
m_JVTCut
= -1.0 Minimum value of JVT for selecting jets.
Warning
If set to a non-negative value (default is -1.0), it will override any set value for
JetSelector::m_WorkingPointJVT
-
std::string
m_WorkingPointJVT
= "Tight" Available working points for JVT cut from the
CP::IJetJvtEfficiency
tool.The corresponding data/MC SF will be saved as a
std::vector<float>
decoration (for MC only), for nominal WP and the available systematics.Value
JVT Cut
Efficiency
”Medium”
(Default) 0.59
92%
”Loose”
0.11
97%
”Tight”
0.91
85%
-
std::string
m_SFFileJVT
= "JetJvtEfficiency/Moriond2018/JvtSFFile_EMPFlow.root" Configuration containting JVT scale factors.
The configuration file with the scale factors calculated by the
CP::IJetJvtEfficiency
.See :https://twiki.cern.ch/twiki/bin/view/AtlasProtected/JVTCalibration for latest recommendation.
-
std::string
m_outputSystNamesJVT
= "JetJvtEfficiency_JVTSyst"
-
float
m_systValJVT
= 0.0
-
std::string
m_systNameJVT
= ""
-
std::string
m_WorkingPointfJVT
= "Loose" Available working points for fJVT cut from the
CP::IJetJvtEfficiency
tool.The corresponding data/MC SF will be saved as a
std::vector<float>
decoration (for MC only), for nominal WP and the available systematics.Value
HS Efficiency
PU Fake Rate
”Medium”
87.1-97.0%
53.4-60.9%
”Tight”
79.9-95.6%
45.4-50.3%
See :https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/FJVTCalibration for more information.
-
std::string
m_SFFilefJVT
= "JetJvtEfficiency/May2020/fJvtSFFile.EMPFlow.root" Configuration containting fJVT scale factors.
The configuration file with the scale factors calculated by the
CP::IJetJvtEfficiency
.See :https://twiki.cern.ch/twiki/bin/view/AtlasProtected/FJVTCalibration for latest recommendation.
-
bool
m_UseMuSFFormatfJVT
= true
-
std::string
m_outputSystNamesfJVT
= "JetJvtEfficiency_fJVTSyst"
-
float
m_systValfJVT
= 0.0
-
std::string
m_systNamefJVT
= ""
-
bool
m_fjvtUsedBefore
= false was fJVT already run in an earlier instance of JetSelector?
-
bool
m_doBTagCut
= false Flag to apply btagging cut, if false just decorate decisions.
-
std::string
m_corrFileName
= "xAODBTaggingEfficiency/cutprofiles_22072015.root"
-
std::string
m_jetAuthor
= "AntiKt4EMTopoJets"
-
std::string
m_taggerName
= "MV2c20"
-
std::string
m_operatingPt
= "FixedCutBEff_70"
-
double
m_b_eta_max
= 2.5
-
double
m_b_pt_min
= 20e3
-
bool
m_doHLTBTagCut
= false
-
std::string
m_HLTBTagTaggerName
= "MV2c20"
-
float
m_HLTBTagCutValue
= -0.4434
-
bool
m_requireHLTVtx
= false
-
bool
m_requireNoHLTVtx
= false
-
std::string
m_passAuxDecorKeys
= ""
-
std::string
m_failAuxDecorKeys
= ""
-
std::string
m_singleJetTrigChains
= "" A comma-separated string w/ alll the HLT single jet trigger chains for which you want to perform the matching. If left empty (as it is by default), no trigger matching will be attempted at all
-
std::string
m_diJetTrigChains
= "" A comma-separated string w/ all the HLT dijet trigger chains for which you want to perform the matching. If left empty (as it is by default), no trigger matching will be attempted at all
-
bool
m_removeDuplicates
= false remove duplicate jets (exactly the same eta)
-
int
m_count_events_with_duplicates
= 0 number of events with duplicates
-
bool
m_sort
= false sort jets (normally done by JetCalibrator, but HLT jets need sorting and don’t get calibrated here)
-