![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
71 else if (
m_calibArea.find(
"eos") != std::string::npos ) {
87 ATH_MSG_ERROR(
"No config file provided AND no parameters specified." ) ;
88 return StatusCode::FAILURE;
132 ATH_MSG_INFO(
"Additional decorators that will be attached to jet :" );
155 #ifndef XAOD_STANDALONE
173 return StatusCode::SUCCESS;
192 float jet_pt =
jet.pt()/1000.0;
193 float jet_mass =
jet.m()/1000.0;
205 jet_d2 = readD2(
jet);
223 decCutMLow(
jet) = cut_mass_low;
224 decCutMHigh(
jet) = cut_mass_high;
225 decCutD2(
jet) = cut_d2;
228 ATH_MSG_VERBOSE(
"Cut Values : MassWindow = [" << cut_mass_low <<
"," << cut_mass_high <<
"], D2Cut = " << cut_d2 );
229 ATH_MSG_VERBOSE(
"Cut Values : JetMass = " << jet_mass <<
", D2 = " << jet_d2 );
231 if ( jet_mass >= cut_mass_low ) acceptData.
setCutResult(
"PassMassLow",
true );
233 if ( jet_mass <= cut_mass_high ) acceptData.
setCutResult(
"PassMassHigh",
true );
235 if ( jet_d2 < cut_d2 ) acceptData.
setCutResult(
"PassD2",
true );
241 passCuts = passCuts && acceptData.
getCutResult(
"PassD2" );
257 decCutNtrk(
jet) = cut_ntrk;
259 int pv_location =
findPV();
261 if(pv_location != -1){
267 int jet_ntrk = readNtrk500(
jet);
269 if ( jet_ntrk < cut_ntrk ) acceptData.
setCutResult(
"PassNtrk",
true );
271 passCuts = passCuts && acceptData.
getCutResult(
"PassNtrk" );
276 decValidJetContent(
jet) =
false;
277 return StatusCode::FAILURE;
284 decValidJetContent(
jet) = acceptData.
getCutResult(
"ValidJetContent" );
285 decValidEventContent(
jet) = acceptData.
getCutResult(
"ValidEventContent" );
290 decTagged(
jet) = passCuts;
324 decAccept(
jet) = myCutResultForSF;
328 return StatusCode::SUCCESS;
bool m_suppressOutputDependence
bool m_useNtrk
Flag to indicate if Ntrk is used.
std::string m_strMassCutLow
Strings for cut functions.
StatusCode resetCuts(asg::AcceptData &acceptData) const
Reset cuts.
SG::ReadDecorHandleKey< xAOD::JetContainer > m_readNtrk500Key
bool m_useMassCut
Flag to indicate if mass window cut is used.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decPassD2Key
WriteDecorHandle keys.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
std::string m_configFile
Configuration file name.
TEnv m_configReader
TEnv instance to read config files.
std::string m_weightFileName
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
StatusCode getWeight(const xAOD::Jet &jet, bool passSel, asg::AcceptData &acceptData) const
Get SF weight.
float m_jetPtMin
Kinematic bounds for the jet - the units are controlled by m_ptGeV.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decCutMLowKey
WriteDecorHandle keys for cut values.
std::string m_decorationName
Decoration name.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decPassNtrkKey
#define ATH_MSG_VERBOSE(x)
std::unique_ptr< TF1 > m_funcMassCutHigh
std::unique_ptr< TF1 > m_funcD2Cut
Functions that are configurable for specific cut values.
std::string m_weightHistogramName
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decValidJetContentKey
std::string m_calibArea
Location where config files live on cvmfs.
std::string m_truthLabelName
SmoothedWZTagger(const std::string &name)
Constructor.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decCutMHighKey
bool m_ptGeV
Flag to indicate units pT is defined in Set to false by default.
Handle class for reading a decoration on an object.
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode checkKinRange(const xAOD::Jet &jet, asg::AcceptData &acceptData) const
Check and record if jet passes kinematic constraints.
Handle class for adding a decoration to an object.
std::string m_efficiencyHistogramName
int calculateJSSRatios(const xAOD::Jet &jet) const
Calculate JSS moment ratios in case they are not already saved TODO: Remove this once JSSMomentTools ...
std::unique_ptr< TF1 > m_funcNtrkCut
std::string m_wkpt
Tagger information.
bool m_calcSF
Flag to calculate scale factor.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decValidEventContentKey
StatusCode GetUnGroomTracks(const xAOD::Jet &jet, int indexPV) const
Retrieve Ntrk variable from the ungroomed parent jet.
int findPV() const
Find the PV (to be used for Ntrk)
virtual StatusCode initialize() override
Initialize the tool.
asg::AcceptInfo m_acceptInfo
Object that stores the results for a jet.
virtual StatusCode tag(const xAOD::Jet &jet) const override
Decorate single jet with tagging info.
virtual StatusCode initialize() override
Run once at the start of the job to setup everything.
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
void printCuts() const
Print configured cuts.
std::string m_weightDecorationName
String for scale factor decoration names.
void setCutResult(const std::string &cutName, bool cutResult)
Set the result of a cut, based on the cut name (safer)
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decCutNtrkKey
bool getCutResult(const std::string &cutName) const
Get the result of a cut, based on the cut name (safer)
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decCutD2Key
SG::ReadDecorHandleKey< xAOD::JetContainer > m_readD2Key
StatusCode getConfigReader()
Get configReader StatusCode.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decPassMassKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decAcceptKey
std::unique_ptr< TF1 > m_funcMassCutLow
TF1 for cut functions.
std::string m_strD2Cut
Store functional form of cuts.
std::string m_strMassCutHigh
std::string m_weightConfigPath
Path to the SF configuration root file.
std::string m_weightFlavors
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decTaggedKey
WriteDecorHandle keys for tagging bools.
int addCut(const std::string &cutName, const std::string &cutDescription)
Add a cut; returning the cut position.
std::string m_containerName
Configurable members.