\(j\)¶
-
class JetSelector : public xAH::Algorithm¶
Public Functions
-
JetSelector()¶
-
virtual EL::StatusCode setupJob(EL::Job &job)¶
-
virtual EL::StatusCode fileExecute()¶
-
virtual EL::StatusCode histInitialize()¶
-
virtual EL::StatusCode changeInput(bool firstFile)¶
-
virtual EL::StatusCode initialize()¶
-
virtual EL::StatusCode execute()¶
-
virtual EL::StatusCode postExecute()¶
-
virtual EL::StatusCode finalize()¶
-
virtual EL::StatusCode histFinalize()¶
-
virtual bool executeSelection(const xAOD::JetContainer *inJets, float mcEvtWeight, bool count, std::string outContainerName, bool isNominal)¶
-
virtual 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_doTruthJetTagging = true¶
(re-)evaluate the hard-scatter jet label (isJvtHS) required for Jvt efficiency tools
-
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 = "FixedEffPt"¶
WP for NNJvt.
-
std::string m_SFFileJVT = ""¶
SF file for NNJvtEfficiencyTool.
-
std::string m_outputSystNamesJVT = "JetJvtEfficiency_JVTSyst"¶
-
bool m_recalculateJvtScores = true¶
Do re-calculation of NNJvt - scores need to be re-evaluated in case jet pt changed w.r.t. derivation.
-
float m_systValJVT = 0.0¶
-
std::string m_systNameJVT = ""¶
-
std::string m_WorkingPointfJVT = "Loose"¶
WP for fJvt.
-
std::string m_SFFilefJVT = ""¶
SF file for fJvtEfficiencyTool.
-
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_doJetTimingCut = false¶
Timing cut.
-
float m_jetTiming_max = -1¶
-
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 = "AntiKt4EMPFlowJets"¶
-
std::string m_taggerName = "DL1r"¶
-
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 = "DL1r"¶
-
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)
Private Members
-
int m_numEvent¶
-
int m_numObject¶
-
int m_numEventPass¶
-
int m_weightNumEventPass¶
-
int m_numObjectPass¶
-
int m_pvLocation¶
-
bool m_isEMjet¶
-
bool m_isLCjet¶
-
TH1D *m_cutflowHist = nullptr¶
-
TH1D *m_cutflowHistW = nullptr¶
-
int m_cutflow_bin¶
-
std::vector<std::string> m_passKeys¶
-
std::vector<std::string> m_failKeys¶
-
TH1D *m_jet_cutflowHist_1 = nullptr¶
-
int m_jet_cutflow_all¶
-
int m_jet_cutflow_cleaning_cut¶
-
int m_jet_cutflow_ptmax_cut¶
-
int m_jet_cutflow_ptmin_cut¶
-
int m_jet_cutflow_etmax_cut¶
-
int m_jet_cutflow_etmin_cut¶
-
int m_jet_cutflow_eta_cut¶
-
int m_jet_cutflow_jvt_cut¶
-
int m_jet_cutflow_timing_cut¶
-
int m_jet_cutflow_btag_cut¶
-
std::vector<CP::SystematicSet> m_systListJVT¶
-
std::vector<CP::SystematicSet> m_systListfJVT¶
-
std::vector<std::string> m_singleJetTrigChainsList¶
-
std::vector<std::string> m_diJetTrigChainsList¶
/* contains all the HLT trigger chains tokens extracted from m_singleJetTrigChains */
-
asg::AnaToolHandle<JetPileupLabelingTool> m_jetPileupLabelingTool¶
/* contains all the HLT trigger chains tokens extracted from m_diJetTrigChains */
-
asg::AnaToolHandle<JetPileupTag::JetVertexNNTagger> m_jetNNJvtMomentTool¶
-
asg::AnaToolHandle<IAsgSelectionTool> m_jetNNJvtSelectionTool¶
-
asg::AnaToolHandle<CP::IJvtEfficiencyTool> m_jetNNJvtEfficiencyTool¶
-
asg::AnaToolHandle<IAsgSelectionTool> m_jetfJvtSelectionTool¶
-
asg::AnaToolHandle<CP::IJvtEfficiencyTool> m_jetfJvtEfficiencyTool¶
-
asg::AnaToolHandle<IBTaggingSelectionTool> m_BJetSelectTool_handle = {"BTaggingSelectionTool"}¶
-
asg::AnaToolHandle<Trig::IMatchingTool> m_trigJetMatchTool_handle¶
-
asg::AnaToolHandle<Trig::TrigDecisionTool> m_trigDecTool_handle = {"Trig::TrigDecisionTool/TrigDecisionTool"}¶
-
asg::AnaToolHandle<Trig::IMatchScoringTool> m_scoreTool = {"Trig::DRScoringTool/DRScoringTool"}¶
-
bool m_doTrigMatch = true¶
This internal variable gets set to false if no triggers are defined or if TrigDecisionTool is missing.
-
std::string m_outputJVTPassed = "JetJVT_Passed"¶
-
std::string m_outputfJVTPassed = "JetfJVT_Passed"¶
-
JetSelector()¶