b-jet

class BJetEfficiencyCorrector : public xAH::Algorithm

Public Functions

BJetEfficiencyCorrector()
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 executeEfficiencyCorrection(const xAOD::JetContainer *inJets, const xAOD::EventInfo *eventInfo, bool doNominal)
EL::StatusCode postExecute()
EL::StatusCode finalize()
EL::StatusCode histFinalize()
unsigned int getMCIndex(int dsid)
void makeMCIndexMap(std::string effCalib)
std::string getFlavorLabel(const xAOD::Jet &jet) const

Public Members

std::string m_inContainerName = ""
std::string m_inputAlgo = ""

The name of the vector containing the names of the systematically-varied jet-related containers from the upstream algorithm, which will be processed by this algorithm.

Only jet calibration systematics or any other that create shallow copies of jet containers should be passed to this tool. It is advised to run this algorithm before running algorithms combining multiple calibration systematics (e.g. overlap removal).

std::string m_systName = ""
std::string m_outputSystName = "BJetEfficiency_Algo"
bool m_writeSystToMetadata = false
std::string m_corrFileName = "xAODBTaggingEfficiency/13TeV/2016-20_7-13TeV-MC15-CDI-July12_v1.root"
std::string m_jetAuthor = "AntiKt4EMTopoJets"
float m_minPt = -1

Minimum pT in MeV for taggable jets.

std::string m_taggerName = "MV2c10"
bool m_useDevelopmentFile = true
bool m_coneFlavourLabel = true
std::string m_systematicsStrategy = "SFEigen"
bool m_errorOnTagWeightFailure = true

BTaggingSelectionTool throws an error on missing tagging weights. If false, a warning is given instead.

bool m_alwaysGetTagWeight = false

Decorate tag weights even if we’re not doing pseudocontinuous b-tagging.

std::string m_operatingPt = "FixedCutBEff_70"

Operating point.

std::string m_operatingPtCDI = ""

Operating point that CDI will understand.

bool m_getScaleFactors = false

will only get scale factors for calibrated working points

bool m_useContinuous = false

will get tagWeight, quantile, SF and InefficiencySF

std::string m_decor = "BTag"

The decoration key written to passing objects.

bool m_tagDecisionOnly = false

Only apply b-tag decision decoration; don’t retrieve scale factors (Not recommended. For expert use.)

bool m_setMapIndex = false

Select an efficiency map for use in MC/MC and inefficiency scale factors, based on user specified selection of efficiency maps.

std::string m_DSIDtoGenerator_filename = "xAODAnaHelpers/DSIDtoGenerator.txt"
float m_orBJetPtUpperThres = -1

upper pt threshold of b-jet in OR in unit of GeV, negative value means no pt threshold

std::string m_EfficiencyCalibration = ""

Calibration to use for MC (EfficiencyB/C/T/LightCalibrations), “auto” to determine from sample name (multiple samples can be provided as long as they are separated by ‘;’)

Example: “410470;410250;410558;410464” (Pythia8,Sherpa22,Herwig7,MG)

Private Members

std::string m_decorSF = ""

The decoration key written to passing objects.

std::string m_decorWeight = ""
std::string m_decorQuantile = ""
std::string m_decorInefficiencySF = ""
std::map<int, std::string> m_DSIDtoGenerator
std::map<std::string, unsigned int> m_MCIndexes
std::vector<std::string> m_inputAlgoList
bool m_runAllSyst = false
asg::AnaToolHandle<IBTaggingSelectionTool> m_BJetSelectTool_handle = {"BTaggingSelectionTool", }
asg::AnaToolHandle<IBTaggingEfficiencyTool> m_BJetEffSFTool_handle = {"BTaggingEfficiencyTool", }
std::vector<CP::SystematicSet> m_systList