ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauMassTools::MissingMassTool Class Reference

#include <MissingMassTool.h>

Inheritance diagram for DiTauMassTools::MissingMassTool:
Collaboration diagram for DiTauMassTools::MissingMassTool:

Public Types

using PtEtaPhiMVector = ROOT::Math::PtEtaPhiMVector
using XYVector = ROOT::Math::XYVector

Public Member Functions

 MissingMassTool (const std::string &name)
 Proper constructor for Athena.
 MissingMassTool (const MissingMassTool &other)
 Copy constructor for reflex in Athena.
virtual ~MissingMassTool ()
 virtual destructor
virtual StatusCode initialize ()
 Initialize the tool.
virtual StatusCode finalize ()
 Initialize the tool.
virtual CP::CorrectionCode apply (const xAOD::EventInfo &ei, const xAOD::IParticle *part1, const xAOD::IParticle *part2, const xAOD::MissingET *met, const int &njets)
virtual void calculate (const xAOD::EventInfo &ei, const PtEtaPhiMVector &vis_tau1, const PtEtaPhiMVector &vis_tau2, const int &tau1_decay_type, const int &tau2_decay_type, const xAOD::MissingET &met, const int &njets)
virtual MissingMassCalculatorget ()
virtual double GetFitStatus (int method)
virtual double GetFittedMass (int method)
virtual double GetFittedMassErrorUp (int method)
virtual double GetFittedMassErrorLow (int method)
virtual PtEtaPhiMVector GetResonanceVec (int method)
virtual XYVector GetFittedMetVec (int method)
virtual PtEtaPhiMVector GetNeutrino4vec (int method, int index)
virtual PtEtaPhiMVector GetTau4vec (int method, int index)
virtual int GetNNoSol ()
virtual int GetNMetroReject ()
virtual int GetNSol ()
virtual void print () const
 Print the state of the tool.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
Additional helper functions, not directly mimicking Athena
template<class T>
const T * getProperty (const std::string &name) const
 Get one of the tool's properties.
const std::string & msg_level_name () const __attribute__((deprecated))
 A deprecated function for getting the message level's name.
const std::string & getName (const void *ptr) const
 Get the name of an object that is / should be in the event store.
SG::sgkey_t getKey (const void *ptr) const
 Get the (hashed) key of an object that is in the event store.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

MissingMassCalculatorm_MMC {}
Gaudi::Property< bool > m_decorate {this, "Decorate", false}
Gaudi::Property< bool > m_float_stop {this, "FloatStoppingCrit", true, "Applying Floating Stopping Criterion to speed up MMC"}
Gaudi::Property< int > m_float_stop_miniter {this, "FloatStoppingCritMinIter", 10000, "Minimum number of iteration to apply Floating Stopping Criterion"}
Gaudi::Property< int > m_float_stop_checkfreq {this, "FloatStoppingCritCheckFreq", 1000, "Number of events frequency for Floating Stopping Criterion to be applied after minimum number of iteration"}
Gaudi::Property< double > m_float_stop_comp {this, "FloatStoppingCritCheckComp", 0.05, "Percentage to assess the sigma compatibilities in the Floating Stopping Criterion"}
Gaudi::Property< std::string > m_calib_set {this, "CalibSet", "2024"}
Gaudi::Property< double > m_n_sigma_met {this, "NsigmaMET", -1}
Gaudi::Property< int > m_tail_cleanup {this, "UseTailCleanup", -1}
Gaudi::Property< int > m_use_verbose {this, "UseVerbose", -1}
Gaudi::Property< int > m_niter_fit_2 {this, "NiterFit2", -1}
Gaudi::Property< int > m_niter_fit_3 {this, "NiterFit3", -1}
Gaudi::Property< int > m_use_tau_probability {this, "UseTauProbability", -1}
Gaudi::Property< bool > m_use_mnu_probability {this, "UseMnuProbability", false}
Gaudi::Property< int > m_use_defaults {this, "UseDefaults", -1}
Gaudi::Property< int > m_use_efficiency_recovery {this, "UseEfficiencyRecovery", -1}
Gaudi::Property< bool > m_use_met_param_dphiLL {this, "UseMETDphiLL", false}
Gaudi::Property< std::string > m_param_file_path {this, "ParamFilePath", "MMC_params_v051224_angle_noLikelihoodFit.root"}
Gaudi::Property< double > m_beam_energy {this, "BeamEnergy", 6500.0}
Gaudi::Property< bool > m_lfv_leplep_refit {this, "LFVLeplepRefit", true}
Gaudi::Property< bool > m_save_llh_histo {this, "SaveLlhHisto", false}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 25 of file MissingMassTool.h.

Member Typedef Documentation

◆ PtEtaPhiMVector

using IMissingMassTool::PtEtaPhiMVector = ROOT::Math::PtEtaPhiMVector
inherited

Definition at line 31 of file IMissingMassTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

◆ XYVector

using IMissingMassTool::XYVector = ROOT::Math::XYVector
inherited

Definition at line 32 of file IMissingMassTool.h.

Constructor & Destructor Documentation

◆ MissingMassTool() [1/2]

MissingMassTool::MissingMassTool ( const std::string & name)

Proper constructor for Athena.

Standard constructor for standalone usage

Definition at line 16 of file MissingMassTool.cxx.

16 : asg::AsgTool(name)
17{
18}

◆ MissingMassTool() [2/2]

MissingMassTool::MissingMassTool ( const MissingMassTool & other)

Copy constructor for reflex in Athena.

Definition at line 21 of file MissingMassTool.cxx.

21: asg::AsgTool(other.name() + "_copy") {}

◆ ~MissingMassTool()

virtual DiTauMassTools::MissingMassTool::~MissingMassTool ( )
inlinevirtual

virtual destructor

Definition at line 39 of file MissingMassTool.h.

39{ };

Member Function Documentation

◆ apply()

CP::CorrectionCode MissingMassTool::apply ( const xAOD::EventInfo & ei,
const xAOD::IParticle * part1,
const xAOD::IParticle * part2,
const xAOD::MissingET * met,
const int & njets )
virtual

Implements IMissingMassTool.

Definition at line 92 of file MissingMassTool.cxx.

97{
98 // This is actually where the work is done
99 m_MMC->SetEventNumber(ei.eventNumber());
100 m_MMC->RunMissingMassCalculator(part1, part2, met, njets);
101
102 // Very dry decoration - MET and resonance vectors are retrieved
103 // in dedicated method (see MissingMassTool.h)
104
105 if (m_decorate) {
106 int aFitStatus = m_MMC->OutputInfo.GetFitStatus();
107 static const SG::Decorator<int> dec_mmc_fit_status ("mmc_fit_status");
108 static const SG::Decorator<double> dec_mmc_maxw_mass ("mmc_maxw_mass");
109 static const SG::Decorator<double> dec_mmc_mlm_mass ("mmc_mlm_mass");
110 static const SG::Decorator<double> dec_mmc_mlnu3p_mass ("mmc_mlnu3p_mass");
111 static const SG::Decorator<PtEtaPhiMVector> dec_mmc_mlnu3p_4vect ("mmc_mlnu3p_4vect");
112 dec_mmc_fit_status(ei) = aFitStatus;
113 dec_mmc_maxw_mass(ei) = aFitStatus==1 ? m_MMC->OutputInfo.GetFittedMass(MMCFitMethod::MAXW) : -1;
114 dec_mmc_mlm_mass(ei) = aFitStatus==1 ? m_MMC->OutputInfo.GetFittedMass(MMCFitMethod::MLM) : -1;
115 dec_mmc_mlnu3p_mass(ei) = aFitStatus==1 ? m_MMC->OutputInfo.GetFittedMass(MMCFitMethod::MLNU3P) : -1;
116 PtEtaPhiMVector null4V(0.,0.,0.,0.);
117 dec_mmc_mlnu3p_4vect(ei) = aFitStatus==1 ? m_MMC->OutputInfo.GetResonanceVec(MMCFitMethod::MLNU3P) : null4V;
118 }
119
121}
@ Ok
The correction was done successfully.
MissingMassCalculator * m_MMC
Gaudi::Property< bool > m_decorate
ROOT::Math::PtEtaPhiMVector PtEtaPhiMVector
uint64_t eventNumber() const
The current event's event number.

◆ calculate()

virtual void DiTauMassTools::MissingMassTool::calculate ( const xAOD::EventInfo & ei,
const PtEtaPhiMVector & vis_tau1,
const PtEtaPhiMVector & vis_tau2,
const int & tau1_decay_type,
const int & tau2_decay_type,
const xAOD::MissingET & met,
const int & njets )
inlinevirtual

Implements IMissingMassTool.

Definition at line 55 of file MissingMassTool.h.

61 {
62 ignore(ei); ignore(vis_tau1); ignore(vis_tau2);
63 ignore(tau1_decay_type); ignore(tau2_decay_type);
64 ignore(met); ignore(njets);}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode MissingMassTool::finalize ( )
virtual

Initialize the tool.

Definition at line 80 of file MissingMassTool.cxx.

82{
83 ATH_MSG_INFO("Finalize MissingMassTool");
84 delete m_MMC;
85 //delete Output;
86
87 return StatusCode::SUCCESS;
88}
#define ATH_MSG_INFO(x)

◆ get()

virtual MissingMassCalculator * DiTauMassTools::MissingMassTool::get ( )
inlinevirtual

Definition at line 66 of file MissingMassTool.h.

66{return m_MMC;}

◆ GetFitStatus()

virtual double DiTauMassTools::MissingMassTool::GetFitStatus ( int method)
inlinevirtual

Implements IMissingMassTool.

Definition at line 67 of file MissingMassTool.h.

67{(void) method; return m_MMC->OutputInfo.GetFitStatus();}

◆ GetFittedMass()

virtual double DiTauMassTools::MissingMassTool::GetFittedMass ( int method)
inlinevirtual

Implements IMissingMassTool.

Definition at line 68 of file MissingMassTool.h.

68{return m_MMC->OutputInfo.GetFittedMass(method);}

◆ GetFittedMassErrorLow()

virtual double DiTauMassTools::MissingMassTool::GetFittedMassErrorLow ( int method)
inlinevirtual

Implements IMissingMassTool.

Definition at line 70 of file MissingMassTool.h.

70{return m_MMC->OutputInfo.GetFittedMassErrorLow(method);}

◆ GetFittedMassErrorUp()

virtual double DiTauMassTools::MissingMassTool::GetFittedMassErrorUp ( int method)
inlinevirtual

Implements IMissingMassTool.

Definition at line 69 of file MissingMassTool.h.

69{return m_MMC->OutputInfo.GetFittedMassErrorUp(method);}

◆ GetFittedMetVec()

virtual XYVector DiTauMassTools::MissingMassTool::GetFittedMetVec ( int method)
inlinevirtual

Implements IMissingMassTool.

Definition at line 72 of file MissingMassTool.h.

72{return m_MMC->OutputInfo.GetFittedMetVec(method);}

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void * ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119 {
120
121#ifdef XAOD_STANDALONE
122 // In case we use @c xAOD::TEvent, we have a direct function call
123 // for this.
124 return evtStore()->event()->getKey( ptr );
125#else
126 const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127 return ( proxy == nullptr ? 0 : proxy->sgkey() );
128#endif // XAOD_STANDALONE
129 }
ServiceHandle< StoreGateSvc > & evtStore()

◆ getName()

const std::string & asg::AsgTool::getName ( const void * ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106 {
107
108#ifdef XAOD_STANDALONE
109 // In case we use @c xAOD::TEvent, we have a direct function call
110 // for this.
111 return evtStore()->event()->getName( ptr );
112#else
113 const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114 static const std::string dummy = "";
115 return ( proxy == nullptr ? dummy : proxy->name() );
116#endif // XAOD_STANDALONE
117 }

◆ GetNeutrino4vec()

virtual PtEtaPhiMVector DiTauMassTools::MissingMassTool::GetNeutrino4vec ( int method,
int index )
inlinevirtual

Implements IMissingMassTool.

Definition at line 73 of file MissingMassTool.h.

73{return m_MMC->OutputInfo.GetNeutrino4vec(method, index);}

◆ GetNMetroReject()

virtual int DiTauMassTools::MissingMassTool::GetNMetroReject ( )
inlinevirtual

Implements IMissingMassTool.

Definition at line 76 of file MissingMassTool.h.

76{return m_MMC->GetNMetroReject();}

◆ GetNNoSol()

virtual int DiTauMassTools::MissingMassTool::GetNNoSol ( )
inlinevirtual

Implements IMissingMassTool.

Definition at line 75 of file MissingMassTool.h.

75{return m_MMC->GetNNoSol();}

◆ GetNSol()

virtual int DiTauMassTools::MissingMassTool::GetNSol ( )
inlinevirtual

Implements IMissingMassTool.

Definition at line 77 of file MissingMassTool.h.

77{return m_MMC->GetNSol();}

◆ getProperty()

template<class T>
const T * asg::AsgTool::getProperty ( const std::string & name) const
inherited

Get one of the tool's properties.

◆ GetResonanceVec()

virtual PtEtaPhiMVector DiTauMassTools::MissingMassTool::GetResonanceVec ( int method)
inlinevirtual

Implements IMissingMassTool.

Definition at line 71 of file MissingMassTool.h.

71{return m_MMC->OutputInfo.GetResonanceVec(method);}

◆ GetTau4vec()

virtual PtEtaPhiMVector DiTauMassTools::MissingMassTool::GetTau4vec ( int method,
int index )
inlinevirtual

Implements IMissingMassTool.

Definition at line 74 of file MissingMassTool.h.

74{return m_MMC->OutputInfo.GetTau4vec(method, index);}

◆ initialize()

StatusCode MissingMassTool::initialize ( void )
virtual

Initialize the tool.

Reimplemented from asg::AsgTool.

Definition at line 24 of file MissingMassTool.cxx.

26{
27 ATH_MSG_INFO("Initialize MissingMassTool");
28
30
31 if (m_calib_set == "2015HIGHMASS") {
33 } else if (m_calib_set == "UPGRADE") {
35 } else if (m_calib_set == "LFV") {
37 } else if (m_calib_set == "2019") {
39 } else if (m_calib_set == "2024") {
41 } else {
42 return StatusCode::FAILURE;
43 }
44
45
46 if(aset == MMCCalibrationSet::MMC2019 && m_param_file_path.value().find("v051224") != std::string::npos){
47 ATH_MSG_WARNING( m_param_file_path << " param file not suitable for 2019 calibration set; please use MMC_params_v1_fixed.root");
48 }
49
50 if(aset == MMCCalibrationSet::MMC2024 && m_param_file_path.value().find("MMC_params_v1") != std::string::npos){
51 ATH_MSG_WARNING( m_param_file_path << " param file not suitable for 2024 calibration set; please use MMC_params_v051224_angle_likelihoodFit.root or MMC_params_v051224_angle_noLikelihoodFit.root");
52 }
53
54 m_MMC = new MissingMassCalculator(aset, m_param_file_path);
55 m_MMC->SetUseFloatStopping(m_float_stop);
56 m_MMC->SetFloatStoppingMinIter(m_float_stop_miniter);
57 m_MMC->SetFloatStoppingCheckFreq(m_float_stop_checkfreq);
58 m_MMC->SetFloatStoppingComp(m_float_stop_comp);
59 // set properties if non negative
60 if (m_n_sigma_met>=0) m_MMC->SetNsigmaMETscan(m_n_sigma_met);
61 if (m_tail_cleanup>=0) m_MMC->preparedInput.SetUseTailCleanup(m_tail_cleanup);
62 if (m_use_verbose>=0) m_MMC->preparedInput.SetUseVerbose(m_use_verbose);
63 if (m_niter_fit_2>=0) m_MMC->SetNiterFit2(m_niter_fit_2);
64 if (m_niter_fit_3>=0) m_MMC->SetNiterFit3(m_niter_fit_3);
65 if (m_use_tau_probability>=0) m_MMC->Prob->SetUseTauProbability(m_use_tau_probability);
66 if (m_use_defaults>=0) m_MMC->preparedInput.SetUseDefaults(m_use_defaults);
67 if (m_use_efficiency_recovery>=0) m_MMC->SetUseEfficiencyRecovery(m_use_efficiency_recovery);
68 if (m_use_met_param_dphiLL) m_MMC->Prob->SetUseDphiLL(m_use_met_param_dphiLL);
69 if (m_use_mnu_probability) m_MMC->Prob->SetUseMnuProbability(m_use_mnu_probability);
70 if (m_beam_energy) m_MMC->SetBeamEnergy(m_beam_energy);
71 if (!m_lfv_leplep_refit) m_MMC->SetLFVLeplepRefit(false);
72 m_MMC->SaveLlhHisto(m_save_llh_histo);
73
74 // could be made a property but maybe not with the enum
75 // What about a string argument ?
76
77 return StatusCode::SUCCESS;
78}
#define ATH_MSG_WARNING(x)
Gaudi::Property< double > m_n_sigma_met
Gaudi::Property< int > m_use_verbose
Gaudi::Property< bool > m_use_mnu_probability
Gaudi::Property< int > m_tail_cleanup
Gaudi::Property< int > m_float_stop_miniter
Gaudi::Property< double > m_float_stop_comp
Gaudi::Property< int > m_niter_fit_2
Gaudi::Property< bool > m_float_stop
Gaudi::Property< bool > m_lfv_leplep_refit
Gaudi::Property< int > m_use_efficiency_recovery
Gaudi::Property< double > m_beam_energy
Gaudi::Property< int > m_use_tau_probability
Gaudi::Property< bool > m_save_llh_histo
Gaudi::Property< std::string > m_param_file_path
Gaudi::Property< bool > m_use_met_param_dphiLL
Gaudi::Property< int > m_float_stop_checkfreq
Gaudi::Property< int > m_use_defaults
Gaudi::Property< std::string > m_calib_set
Gaudi::Property< int > m_niter_fit_3

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101 {
102
103 return MSG::name( msg().level() );
104 }
MsgStream & msg() const
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition MsgLevel.cxx:19

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ print()

◆ renounce()

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 > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
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)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_beam_energy

Gaudi::Property<double> DiTauMassTools::MissingMassTool::m_beam_energy {this, "BeamEnergy", 6500.0}
private

Definition at line 102 of file MissingMassTool.h.

102{this, "BeamEnergy", 6500.0};

◆ m_calib_set

Gaudi::Property<std::string> DiTauMassTools::MissingMassTool::m_calib_set {this, "CalibSet", "2024"}
private

Definition at line 88 of file MissingMassTool.h.

88{this, "CalibSet", "2024"}; // Change to "2019" if the old MMC version is to be used.

◆ m_decorate

Gaudi::Property<bool> DiTauMassTools::MissingMassTool::m_decorate {this, "Decorate", false}
private

Definition at line 83 of file MissingMassTool.h.

83{this, "Decorate", false};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_float_stop

Gaudi::Property<bool> DiTauMassTools::MissingMassTool::m_float_stop {this, "FloatStoppingCrit", true, "Applying Floating Stopping Criterion to speed up MMC"}
private

Definition at line 84 of file MissingMassTool.h.

84{this, "FloatStoppingCrit", true, "Applying Floating Stopping Criterion to speed up MMC"};

◆ m_float_stop_checkfreq

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_float_stop_checkfreq {this, "FloatStoppingCritCheckFreq", 1000, "Number of events frequency for Floating Stopping Criterion to be applied after minimum number of iteration"}
private

Definition at line 86 of file MissingMassTool.h.

86{this, "FloatStoppingCritCheckFreq", 1000, "Number of events frequency for Floating Stopping Criterion to be applied after minimum number of iteration"};

◆ m_float_stop_comp

Gaudi::Property<double> DiTauMassTools::MissingMassTool::m_float_stop_comp {this, "FloatStoppingCritCheckComp", 0.05, "Percentage to assess the sigma compatibilities in the Floating Stopping Criterion"}
private

Definition at line 87 of file MissingMassTool.h.

87{this, "FloatStoppingCritCheckComp", 0.05, "Percentage to assess the sigma compatibilities in the Floating Stopping Criterion"};

◆ m_float_stop_miniter

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_float_stop_miniter {this, "FloatStoppingCritMinIter", 10000, "Minimum number of iteration to apply Floating Stopping Criterion"}
private

Definition at line 85 of file MissingMassTool.h.

85{this, "FloatStoppingCritMinIter", 10000, "Minimum number of iteration to apply Floating Stopping Criterion"};

◆ m_lfv_leplep_refit

Gaudi::Property<bool> DiTauMassTools::MissingMassTool::m_lfv_leplep_refit {this, "LFVLeplepRefit", true}
private

Definition at line 103 of file MissingMassTool.h.

103{this, "LFVLeplepRefit", true};

◆ m_MMC

MissingMassCalculator* DiTauMassTools::MissingMassTool::m_MMC {}
private

Definition at line 81 of file MissingMassTool.h.

81{};

◆ m_n_sigma_met

Gaudi::Property<double> DiTauMassTools::MissingMassTool::m_n_sigma_met {this, "NsigmaMET", -1}
private

Definition at line 91 of file MissingMassTool.h.

91{this, "NsigmaMET", -1};

◆ m_niter_fit_2

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_niter_fit_2 {this, "NiterFit2", -1}
private

Definition at line 94 of file MissingMassTool.h.

94{this, "NiterFit2", -1};

◆ m_niter_fit_3

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_niter_fit_3 {this, "NiterFit3", -1}
private

Definition at line 95 of file MissingMassTool.h.

95{this, "NiterFit3", -1};

◆ m_param_file_path

Gaudi::Property<std::string> DiTauMassTools::MissingMassTool::m_param_file_path {this, "ParamFilePath", "MMC_params_v051224_angle_noLikelihoodFit.root"}
private

Definition at line 101 of file MissingMassTool.h.

101{this, "ParamFilePath", "MMC_params_v051224_angle_noLikelihoodFit.root"}; // // Available parameterization files: MMC_params_v051224_angle_noLikelihoodFit.root and MMC_params_v051224_angle_likelihoodFit.root. More details on the differences between these two options can be found in the slides https://indico.cern.ch/event/1487242/contributions/6269201/attachments/2989313/5265428/HbbHtautau_MMCstudies_statusReport_181224_v2.pdf . Use MMC_params_v1_fixed.root for 2019 CalibSet

◆ m_save_llh_histo

Gaudi::Property<bool> DiTauMassTools::MissingMassTool::m_save_llh_histo {this, "SaveLlhHisto", false}
private

Definition at line 104 of file MissingMassTool.h.

104{this, "SaveLlhHisto", false};

◆ m_tail_cleanup

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_tail_cleanup {this, "UseTailCleanup", -1}
private

Definition at line 92 of file MissingMassTool.h.

92{this, "UseTailCleanup", -1};

◆ m_use_defaults

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_use_defaults {this, "UseDefaults", -1}
private

Definition at line 98 of file MissingMassTool.h.

98{this, "UseDefaults", -1};

◆ m_use_efficiency_recovery

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_use_efficiency_recovery {this, "UseEfficiencyRecovery", -1}
private

Definition at line 99 of file MissingMassTool.h.

99{this, "UseEfficiencyRecovery", -1};

◆ m_use_met_param_dphiLL

Gaudi::Property<bool> DiTauMassTools::MissingMassTool::m_use_met_param_dphiLL {this, "UseMETDphiLL", false}
private

Definition at line 100 of file MissingMassTool.h.

100{this, "UseMETDphiLL", false};

◆ m_use_mnu_probability

Gaudi::Property<bool> DiTauMassTools::MissingMassTool::m_use_mnu_probability {this, "UseMnuProbability", false}
private

Definition at line 97 of file MissingMassTool.h.

97{this, "UseMnuProbability", false};

◆ m_use_tau_probability

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_use_tau_probability {this, "UseTauProbability", -1}
private

Definition at line 96 of file MissingMassTool.h.

96{this, "UseTauProbability", -1};

◆ m_use_verbose

Gaudi::Property<int> DiTauMassTools::MissingMassTool::m_use_verbose {this, "UseVerbose", -1}
private

Definition at line 93 of file MissingMassTool.h.

93{this, "UseVerbose", -1};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: