ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Attributes | Static Private Attributes | List of all members
TFCSParametrizationPDGIDSelectChain Class Reference

#include <TFCSParametrizationPDGIDSelectChain.h>

Inheritance diagram for TFCSParametrizationPDGIDSelectChain:
Collaboration diagram for TFCSParametrizationPDGIDSelectChain:

Public Types

enum  FCSPDGIDStatusBits { kSimulateOnlyOnePDGID }
 Status bit for PDGID Selection. More...
 
enum  FCSSplitChainObjects { kSplitChainObjects, kRetryChainFromStart = BIT(17) }
 Status bit for chain persistency. More...
 
typedef std::vector< TFCSParametrizationBase * > Chain_t
 
enum  FCSStatusBits { kMatchAllPDGID }
 Status bit for FCS needs. More...
 
typedef std::map< TFCSParametrizationBase *, Duplicate_tFindDuplicates_t
 
typedef std::map< std::string, FindDuplicates_tFindDuplicateClasses_t
 

Public Member Functions

 TFCSParametrizationPDGIDSelectChain (const char *name=nullptr, const char *title=nullptr)
 
 TFCSParametrizationPDGIDSelectChain (const TFCSParametrizationPDGIDSelectChain &ref)
 
bool SimulateOnlyOnePDGID () const
 
void set_SimulateOnlyOnePDGID ()
 
void reset_SimulateOnlyOnePDGID ()
 
virtual FCSReturnCode simulate (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
 Method in all derived classes to do some simulation. More...
 
bool SplitChainObjects () const
 
void set_SplitChainObjects ()
 
void reset_SplitChainObjects ()
 
bool RetryChainFromStart () const
 
void set_RetryChainFromStart ()
 
void reset_RetryChainFromStart ()
 
virtual unsigned int size () const override
 Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters. More...
 
virtual const TFCSParametrizationBaseoperator[] (unsigned int ind) const override
 Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters. More...
 
virtual TFCSParametrizationBaseoperator[] (unsigned int ind) override
 Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters. More...
 
virtual void set_daughter (unsigned int ind, TFCSParametrizationBase *param) override
 Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter method allows to change these daughters - expert use only! The original element at this position is not deleted. More...
 
const Chain_tchain () const
 
Chain_tchain ()
 
void push_back (const Chain_t::value_type &param)
 
virtual bool is_match_Ekin_bin (int Ekin_bin) const override
 
virtual bool is_match_calosample (int calosample) const override
 
void Print (Option_t *option="") const override
 
void clear ()
 
virtual bool is_match_pdgid (int id) const override
 
virtual bool is_match_Ekin (float Ekin) const override
 
virtual bool is_match_eta (float eta) const override
 
virtual bool is_match_all_Ekin () const override
 
virtual bool is_match_all_eta () const override
 
virtual bool is_match_all_Ekin_bin () const override
 
virtual bool is_match_all_calosample () const override
 
const std::set< int > & pdgid () const override
 
double Ekin_nominal () const override
 
double Ekin_min () const override
 
double Ekin_max () const override
 
double eta_nominal () const override
 
double eta_min () const override
 
double eta_max () const override
 
virtual void set_pdgid (int id)
 
virtual void set_pdgid (const std::set< int > &ids)
 
virtual void add_pdgid (int id)
 
virtual void clear_pdgid ()
 
virtual void set_Ekin_nominal (double min)
 
virtual void set_Ekin_min (double min)
 
virtual void set_Ekin_max (double max)
 
virtual void set_eta_nominal (double min)
 
virtual void set_eta_min (double min)
 
virtual void set_eta_max (double max)
 
virtual void set_Ekin (const TFCSParametrizationBase &ref)
 
virtual void set_eta (const TFCSParametrizationBase &ref)
 
virtual void set_Ekin_eta (const TFCSParametrizationBase &ref)
 
virtual void set_pdgid_Ekin_eta (const TFCSParametrizationBase &ref)
 
virtual bool is_match_all_pdgid () const
 
virtual void set_match_all_pdgid ()
 
virtual void reset_match_all_pdgid ()
 
virtual void set_geometry (ICaloGeometry *geo)
 Method to set the geometry access pointer. More...
 
virtual bool operator== (const TFCSParametrizationBase &ref) const
 The == operator compares the content of instances. More...
 
virtual void CleanAuxInfo (TFCSSimulationState &) const
 Method in all derived classes to delete objects stored in the simulstate AuxInfo. More...
 
void FindDuplicates (FindDuplicateClasses_t &dup)
 
void RemoveDuplicates ()
 
void RemoveNameTitle ()
 
bool msgLvl (const MSG::Level lvl) const
 Check whether the logging system is active at the provided verbosity level. More...
 
MsgStream & msg () const
 Return a stream for sending messages directly (no decoration) More...
 
MsgStream & msg (const MSG::Level lvl) const
 Return a decorated starting stream for sending messages. More...
 
MSG::Level level () const
 Retrieve output level. More...
 
virtual void setLevel (MSG::Level lvl)
 Update outputlevel. More...
 

Static Public Member Functions

static void unit_test (TFCSSimulationState *simulstate=nullptr, TFCSTruthState *truth=nullptr, TFCSExtrapolationState *extrapol=nullptr)
 
static void unit_test (TFCSSimulationState *simulstate=nullptr, const TFCSTruthState *truth=nullptr, const TFCSExtrapolationState *extrapol=nullptr)
 
static std::string startMsg (MSG::Level lvl, const std::string &file, int line)
 Make a message to decorate the start of logging. More...
 

Protected Member Functions

virtual void recalc () override
 Default is to call recalc_pdgid_intersect() and recalc_Ekin_eta_intersect() More...
 
void recalc_pdgid_intersect ()
 
void recalc_pdgid_union ()
 
void recalc_Ekin_intersect ()
 
void recalc_eta_intersect ()
 
void recalc_Ekin_eta_intersect ()
 
void recalc_Ekin_union ()
 
void recalc_eta_union ()
 
void recalc_Ekin_eta_union ()
 
FCSReturnCode simulate_and_retry (TFCSParametrizationBase *parametrization, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
 
bool compare (const TFCSParametrizationBase &ref) const
 

Static Protected Attributes

static constexpr double init_Ekin_nominal = 0
 
static constexpr double init_Ekin_min = 0
 Do not persistify! More...
 
static constexpr double init_Ekin_max = 14000000
 Do not persistify! More...
 
static constexpr double init_eta_nominal = 0
 Do not persistify! More...
 
static constexpr double init_eta_min = -100
 Do not persistify! More...
 
static constexpr double init_eta_max = 100
 Do not persistify! More...
 

Private Attributes

Chain_t m_chain
 
std::vector< std::unique_ptr< TFCSParametrizationBase > > m_writtenBases
 
std::set< int > m_pdgid
 
double m_Ekin_nominal
 
double m_Ekin_min
 
double m_Ekin_max
 
double m_eta_nominal
 
double m_eta_min
 
double m_eta_max
 
std::string m_nm
 Message source name. More...
 

Static Private Attributes

static boost::thread_specific_ptr< MsgStream > m_msg_tls ATLAS_THREAD_SAFE
 Do not persistify! More...
 

Detailed Description

Definition at line 10 of file TFCSParametrizationPDGIDSelectChain.h.

Member Typedef Documentation

◆ Chain_t

Definition at line 40 of file TFCSParametrizationChain.h.

◆ FindDuplicateClasses_t

typedef std::map<std::string, FindDuplicates_t> TFCSParametrizationBase::FindDuplicateClasses_t
inherited

Definition at line 142 of file TFCSParametrizationBase.h.

◆ FindDuplicates_t

Definition at line 141 of file TFCSParametrizationBase.h.

Member Enumeration Documentation

◆ FCSPDGIDStatusBits

Status bit for PDGID Selection.

Enumerator
kSimulateOnlyOnePDGID 

Set this bit in the TObject bit field if the PDGID selection loop should be aborted after the first successful match.

Definition at line 24 of file TFCSParametrizationPDGIDSelectChain.h.

24  {
26  15)
27  };

◆ FCSSplitChainObjects

Status bit for chain persistency.

Enumerator
kSplitChainObjects 

Set this bit in the TObject bit field if the TFCSParametrizationBase objects in the chain should be written as separate keys into the root file instead of directly writing the objects.

This is needed if the sum of all objects in the chain use >1GB of memory, which can't be handeled by TBuffer. Drawback is that identical objects will get stored as multiple instances

kRetryChainFromStart 

Definition at line 20 of file TFCSParametrizationChain.h.

20  {
22  BIT(16),
23  kRetryChainFromStart = BIT(17)
30  };

◆ FCSStatusBits

Status bit for FCS needs.

Enumerator
kMatchAllPDGID 

Set this bit in the TObject bit field if valid for all PDGID.

Definition at line 52 of file TFCSParametrizationBase.h.

52  {
53  kMatchAllPDGID = BIT(
54  14)
55  };

Constructor & Destructor Documentation

◆ TFCSParametrizationPDGIDSelectChain() [1/2]

TFCSParametrizationPDGIDSelectChain::TFCSParametrizationPDGIDSelectChain ( const char *  name = nullptr,
const char *  title = nullptr 
)
inline

◆ TFCSParametrizationPDGIDSelectChain() [2/2]

TFCSParametrizationPDGIDSelectChain::TFCSParametrizationPDGIDSelectChain ( const TFCSParametrizationPDGIDSelectChain ref)
inline

Member Function Documentation

◆ add_pdgid()

void TFCSParametrization::add_pdgid ( int  id)
virtualinherited

Reimplemented in TFCSEnergyBinParametrization.

Definition at line 35 of file TFCSParametrization.cxx.

35 { m_pdgid.insert(id); }

◆ chain() [1/2]

Chain_t& TFCSParametrizationChain::chain ( )
inlineinherited

Definition at line 54 of file TFCSParametrizationChain.h.

54 { return m_chain; };

◆ chain() [2/2]

const Chain_t& TFCSParametrizationChain::chain ( ) const
inlineinherited

Definition at line 53 of file TFCSParametrizationChain.h.

53 { return m_chain; };

◆ CleanAuxInfo()

virtual void TFCSParametrizationBase::CleanAuxInfo ( TFCSSimulationState ) const
inlinevirtualinherited

Method in all derived classes to delete objects stored in the simulstate AuxInfo.

Definition at line 130 of file TFCSParametrizationBase.h.

130 {};

◆ clear()

void TFCSParametrization::clear ( )
inherited

◆ clear_pdgid()

void TFCSParametrization::clear_pdgid ( )
virtualinherited

Reimplemented in TFCSEnergyBinParametrization.

Definition at line 37 of file TFCSParametrization.cxx.

37 { m_pdgid.clear(); }

◆ compare()

bool TFCSParametrization::compare ( const TFCSParametrizationBase ref) const
protectedinherited

Definition at line 78 of file TFCSParametrization.cxx.

78  {
79  if (IsA() != ref.IsA()) {
80  ATH_MSG_DEBUG("compare(): different class types "
81  << IsA()->GetName() << " != " << ref.IsA()->GetName());
82  return false;
83  }
84  std::string name(GetName());
85  if (name != ref.GetName()) {
86  ATH_MSG_DEBUG("compare(): different names " << GetName()
87  << " != " << ref.GetName());
88  return false;
89  }
90  std::string title(GetTitle());
91  if (title != ref.GetTitle()) {
92  ATH_MSG_DEBUG("compare(): different titles " << GetTitle()
93  << " != " << ref.GetTitle());
94  return false;
95  }
96  if (is_match_all_pdgid() != ref.is_match_all_pdgid() ||
97  pdgid() != ref.pdgid()) {
98  ATH_MSG_DEBUG("compare(): different pdgids");
99  return false;
100  }
101  if (Ekin_nominal() != ref.Ekin_nominal() || Ekin_min() != ref.Ekin_min() ||
102  Ekin_max() != ref.Ekin_max()) {
103  ATH_MSG_DEBUG("compare(): different Ekin range");
104  return false;
105  }
106  if (eta_nominal() != ref.eta_nominal() || eta_min() != ref.eta_min() ||
107  eta_max() != ref.eta_max()) {
108  ATH_MSG_DEBUG("compare(): different eta range");
109  return false;
110  }
111 
112  return true;
113 }

◆ Ekin_max()

double TFCSParametrization::Ekin_max ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 37 of file TFCSParametrization.h.

37 { return m_Ekin_max; };

◆ Ekin_min()

double TFCSParametrization::Ekin_min ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 36 of file TFCSParametrization.h.

36 { return m_Ekin_min; };

◆ Ekin_nominal()

double TFCSParametrization::Ekin_nominal ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 35 of file TFCSParametrization.h.

35 { return m_Ekin_nominal; };

◆ eta_max()

double TFCSParametrization::eta_max ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 40 of file TFCSParametrization.h.

40 { return m_eta_max; };

◆ eta_min()

double TFCSParametrization::eta_min ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 39 of file TFCSParametrization.h.

39 { return m_eta_min; };

◆ eta_nominal()

double TFCSParametrization::eta_nominal ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 38 of file TFCSParametrization.h.

38 { return m_eta_nominal; };

◆ FindDuplicates()

void TFCSParametrizationBase::FindDuplicates ( FindDuplicateClasses_t dup)
inherited

Definition at line 90 of file TFCSParametrizationBase.cxx.

91  {
92  for (unsigned int i = 0; i < size(); ++i)
93  if ((*this)[i]) {
94  TFCSParametrizationBase *param = (*this)[i];
95  FindDuplicates_t &dup = dupclasses[param->GetName()];
96  // If param is already in the duplication list, skip over
97  auto checkexist = dup.find(param);
98  if (checkexist != dup.end()) {
99  ATH_MSG_DEBUG("Found duplicate pointer for: " << param << "="
100  << param->GetName());
101  if (checkexist->second.replace) {
102  TFCSParametrizationBase *refparam = checkexist->second.replace;
103  ATH_MSG_DEBUG("Found duplicate pointer: "
104  << refparam << "=" << refparam->GetName()
105  << ", duplicate is " << param << "=" << param->GetName()
106  << " index " << i << " of " << this);
107  dup[refparam].mother.push_back(this);
108  dup[refparam].index.push_back(i);
109  }
110  continue;
111  }
112  // Add param to duplication list
113  dup[param] = Duplicate_t();
114  for (auto &ref : dup) {
115  TFCSParametrizationBase *refparam = ref.first;
116  // skip itself, as this just added above
117  if (param == refparam)
118  continue;
119  // skip nullptr reference
120  if (refparam == nullptr)
121  continue;
122  // skip reference that is itself going to get replaced
123  if (ref.second.replace)
124  continue;
125  // Check for objects with identical content
126  if (*param == *refparam) {
127  ATH_MSG_DEBUG("Found duplicate: "
128  << refparam << "=" << refparam->GetName()
129  << ", duplicate is " << param << "=" << param->GetName()
130  << " index " << i << " of " << this);
131  dup[param].replace = refparam;
132  dup[refparam].mother.push_back(this);
133  dup[refparam].index.push_back(i);
134  break;
135  }
136  }
137  // Continue for child objects in param
138  param->FindDuplicates(dupclasses);
139  }
140 }

◆ is_match_all_calosample()

virtual bool TFCSParametrization::is_match_all_calosample ( ) const
inlineoverridevirtualinherited

◆ is_match_all_Ekin()

virtual bool TFCSParametrization::is_match_all_Ekin ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 25 of file TFCSParametrization.h.

25  {
26  return Ekin_min() == init_Ekin_min && Ekin_max() == init_Ekin_max;
27  };

◆ is_match_all_Ekin_bin()

virtual bool TFCSParametrization::is_match_all_Ekin_bin ( ) const
inlineoverridevirtualinherited

◆ is_match_all_eta()

virtual bool TFCSParametrization::is_match_all_eta ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 28 of file TFCSParametrization.h.

28  {
29  return eta_min() == init_eta_min && eta_max() == init_eta_max;
30  };

◆ is_match_all_pdgid()

virtual bool TFCSParametrizationBase::is_match_all_pdgid ( ) const
inlinevirtualinherited

Definition at line 66 of file TFCSParametrizationBase.h.

66 { return TestBit(kMatchAllPDGID); };

◆ is_match_calosample()

bool TFCSParametrizationChain::is_match_calosample ( int  calosample) const
overridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Reimplemented in TFCSEnergyAndHitGAN, and TFCSEnergyAndHitGANV2.

Definition at line 137 of file TFCSParametrizationChain.cxx.

137  {
138  for (const auto &param : m_chain)
139  if (!param->is_match_calosample(calosample))
140  return false;
141  return true;
142 }

◆ is_match_Ekin()

virtual bool TFCSParametrization::is_match_Ekin ( float  Ekin) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 18 of file TFCSParametrization.h.

18  {
19  return (Ekin >= m_Ekin_min) && (Ekin < m_Ekin_max);
20  };

◆ is_match_Ekin_bin()

bool TFCSParametrizationChain::is_match_Ekin_bin ( int  Ekin_bin) const
overridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Reimplemented in TFCSEnergyAndHitGAN, and TFCSEnergyAndHitGANV2.

Definition at line 130 of file TFCSParametrizationChain.cxx.

130  {
131  for (const auto &param : m_chain)
132  if (!param->is_match_Ekin_bin(Ekin_bin))
133  return false;
134  return true;
135 }

◆ is_match_eta()

virtual bool TFCSParametrization::is_match_eta ( float  eta) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 21 of file TFCSParametrization.h.

21  {
22  return (eta >= m_eta_min) && (eta < m_eta_max);
23  };

◆ is_match_pdgid()

virtual bool TFCSParametrization::is_match_pdgid ( int  id) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 15 of file TFCSParametrization.h.

15  {
16  return TestBit(kMatchAllPDGID) || m_pdgid.find(id) != m_pdgid.end();
17  };

◆ level()

MSG::Level ISF_FCS::MLogging::level ( ) const
inlineinherited

Retrieve output level.

Definition at line 201 of file MLogging.h.

201 { return msg().level(); }

◆ msg() [1/2]

MsgStream & ISF_FCS::MLogging::msg ( ) const
inlineinherited

Return a stream for sending messages directly (no decoration)

Definition at line 231 of file MLogging.h.

231  {
232  MsgStream *ms = m_msg_tls.get();
233  if (!ms) {
234  ms = new MsgStream(Athena::getMessageSvc(), m_nm);
235  m_msg_tls.reset(ms);
236  }
237  return *ms;
238 }

◆ msg() [2/2]

MsgStream & ISF_FCS::MLogging::msg ( const MSG::Level  lvl) const
inlineinherited

Return a decorated starting stream for sending messages.

Definition at line 240 of file MLogging.h.

240  {
241  return msg() << lvl;
242 }

◆ msgLvl()

bool ISF_FCS::MLogging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Check whether the logging system is active at the provided verbosity level.

Definition at line 222 of file MLogging.h.

222  {
223  if (msg().level() <= lvl) {
224  msg() << lvl;
225  return true;
226  } else {
227  return false;
228  }
229 }

◆ operator==()

virtual bool TFCSParametrizationBase::operator== ( const TFCSParametrizationBase ref) const
inlinevirtualinherited

The == operator compares the content of instances.

The implementation in the base class only returns true for a comparison with itself

Reimplemented in TFCSHitCellMappingWiggle, TFCSLateralShapeParametrizationHitNumberFromE, TFCSHitCellMapping, and TFCSPredictExtrapWeights.

Definition at line 119 of file TFCSParametrizationBase.h.

119  {
120  return compare(ref);
121  };

◆ operator[]() [1/2]

virtual const TFCSParametrizationBase* TFCSParametrizationChain::operator[] ( unsigned int  ) const
inlineoverridevirtualinherited

Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters.

Reimplemented from TFCSParametrizationBase.

Definition at line 43 of file TFCSParametrizationChain.h.

43  {
44  return m_chain[ind];
45  };

◆ operator[]() [2/2]

virtual TFCSParametrizationBase* TFCSParametrizationChain::operator[] ( unsigned int  )
inlineoverridevirtualinherited

Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters.

Reimplemented from TFCSParametrizationBase.

Definition at line 46 of file TFCSParametrizationChain.h.

46  {
47  return m_chain[ind];
48  };

◆ pdgid()

const std::set<int>& TFCSParametrization::pdgid ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 34 of file TFCSParametrization.h.

34 { return m_pdgid; };

◆ Print()

void TFCSParametrizationChain::Print ( Option_t *  option = "") const
overrideinherited

Definition at line 184 of file TFCSParametrizationChain.cxx.

184  {
186  TString opt(option);
187  // bool shortprint=opt.Index("short")>=0;
188  // bool longprint=msgLvl(MSG::DEBUG) || (msgLvl(MSG::INFO) && !shortprint);
189 
190  char count = 'A';
191  for (const auto &param : m_chain) {
192  param->Print(opt + count + ' ');
193  count++;
194  }
195 }

◆ push_back()

void TFCSParametrizationChain::push_back ( const Chain_t::value_type &  param)
inlineinherited

Definition at line 55 of file TFCSParametrizationChain.h.

55  {
56  m_chain.push_back(param);
57  recalc();
58  };

◆ recalc()

void TFCSParametrizationPDGIDSelectChain::recalc ( )
overrideprotectedvirtual

Default is to call recalc_pdgid_intersect() and recalc_Ekin_eta_intersect()

Reimplemented from TFCSParametrizationChain.

Definition at line 16 of file TFCSParametrizationPDGIDSelectChain.cxx.

16  {
17  clear();
18  if (size() == 0)
19  return;
20 
23 
24  chain().shrink_to_fit();
25 }

◆ recalc_Ekin_eta_intersect()

void TFCSParametrizationChain::recalc_Ekin_eta_intersect ( )
protectedinherited

Definition at line 77 of file TFCSParametrizationChain.cxx.

77  {
80 }

◆ recalc_Ekin_eta_union()

void TFCSParametrizationChain::recalc_Ekin_eta_union ( )
protectedinherited

Definition at line 114 of file TFCSParametrizationChain.cxx.

114  {
117 }

◆ recalc_Ekin_intersect()

void TFCSParametrizationChain::recalc_Ekin_intersect ( )
protectedinherited

Definition at line 45 of file TFCSParametrizationChain.cxx.

45  {
46  set_Ekin(*m_chain[0]);
47 
48  for (const auto &param : m_chain) {
49  if (param->Ekin_min() > Ekin_min())
50  set_Ekin_min(param->Ekin_min());
51  if (param->Ekin_max() < Ekin_max())
52  set_Ekin_max(param->Ekin_max());
53  if (Ekin_nominal() < Ekin_min() || Ekin_nominal() > Ekin_max())
54  set_Ekin_nominal(param->Ekin_nominal());
55  }
56 
57  if (Ekin_nominal() < Ekin_min() || Ekin_nominal() > Ekin_max())
58  set_Ekin_nominal(0.5 * (Ekin_min() + Ekin_max()));
59 }

◆ recalc_Ekin_union()

void TFCSParametrizationChain::recalc_Ekin_union ( )
protectedinherited

Definition at line 82 of file TFCSParametrizationChain.cxx.

82  {
83  set_Ekin(*m_chain[0]);
84 
85  for (const auto &param : m_chain) {
86  if (param->Ekin_min() < Ekin_min())
87  set_Ekin_min(param->Ekin_min());
88  if (param->Ekin_max() > Ekin_max())
89  set_Ekin_max(param->Ekin_max());
90  if (Ekin_nominal() < Ekin_min() || Ekin_nominal() > Ekin_max())
91  set_Ekin_nominal(param->Ekin_nominal());
92  }
93 
94  if (Ekin_nominal() < Ekin_min() || Ekin_nominal() > Ekin_max())
95  set_Ekin_nominal(0.5 * (Ekin_min() + Ekin_max()));
96 }

◆ recalc_eta_intersect()

void TFCSParametrizationChain::recalc_eta_intersect ( )
protectedinherited

Definition at line 61 of file TFCSParametrizationChain.cxx.

61  {
62  set_eta(*m_chain[0]);
63 
64  for (const auto &param : m_chain) {
65  if (param->eta_min() > eta_min())
66  set_eta_min(param->eta_min());
67  if (param->eta_max() < eta_max())
68  set_eta_max(param->eta_max());
69  if (eta_nominal() < eta_min() || eta_nominal() > eta_max())
70  set_eta_nominal(param->eta_nominal());
71  }
72 
73  if (eta_nominal() < eta_min() || eta_nominal() > eta_max())
74  set_eta_nominal(0.5 * (eta_min() + eta_max()));
75 }

◆ recalc_eta_union()

void TFCSParametrizationChain::recalc_eta_union ( )
protectedinherited

Definition at line 98 of file TFCSParametrizationChain.cxx.

98  {
99  set_eta(*m_chain[0]);
100 
101  for (const auto &param : m_chain) {
102  if (param->eta_min() < eta_min())
103  set_eta_min(param->eta_min());
104  if (param->eta_max() > eta_max())
105  set_eta_max(param->eta_max());
106  if (eta_nominal() < eta_min() || eta_nominal() > eta_max())
107  set_eta_nominal(param->eta_nominal());
108  }
109 
110  if (eta_nominal() < eta_min() || eta_nominal() > eta_max())
111  set_eta_nominal(0.5 * (eta_min() + eta_max()));
112 }

◆ recalc_pdgid_intersect()

void TFCSParametrizationChain::recalc_pdgid_intersect ( )
protectedinherited

Definition at line 20 of file TFCSParametrizationChain.cxx.

20  {
21  set_pdgid(m_chain[0]->pdgid());
22 
23  for (const auto &param : m_chain) {
24  std::set<int> tmp;
25 
27  param->pdgid().begin(), param->pdgid().end(),
28  std::inserter(tmp, tmp.begin()));
29  set_pdgid(tmp);
30  }
31 }

◆ recalc_pdgid_union()

void TFCSParametrizationChain::recalc_pdgid_union ( )
protectedinherited

Definition at line 33 of file TFCSParametrizationChain.cxx.

33  {
34  set_pdgid(chain()[0]->pdgid());
35 
36  for (const auto &param : chain()) {
37  std::set<int> tmp;
38 
39  std::set_union(pdgid().begin(), pdgid().end(), param->pdgid().begin(),
40  param->pdgid().end(), std::inserter(tmp, tmp.begin()));
41  set_pdgid(tmp);
42  }
43 }

◆ RemoveDuplicates()

void TFCSParametrizationBase::RemoveDuplicates ( )
inherited

Definition at line 142 of file TFCSParametrizationBase.cxx.

142  {
143  FindDuplicateClasses_t dupclasses;
144  FindDuplicates(dupclasses);
145 
146  std::set<TFCSParametrizationBase *> dellist;
147  for (auto &dupiter : dupclasses) {
148  FindDuplicates_t &dup = dupiter.second;
149  for (auto onedup : dup) {
150  if (onedup.second.mother.empty())
151  continue;
152  TFCSParametrizationBase *ref = onedup.first;
153  ATH_MSG_DEBUG("Main object " << ref << "=" << ref->GetName());
154  for (unsigned int i = 0; i < onedup.second.mother.size(); ++i) {
155  int index = onedup.second.index[i];
156  TFCSParametrizationBase *mother = onedup.second.mother[i];
157  TFCSParametrizationBase *delparam = mother->operator[](index);
158  unsigned int delcount = dup[delparam].mother.size();
159  if (delcount == 0) {
160  ATH_MSG_DEBUG(" - Delete object "
161  << delparam << "=" << delparam->GetName() << " index "
162  << index << " of " << mother << ", has " << delcount
163  << " other replacements attached. Deleting");
164  mother->set_daughter(index, ref);
165  dellist.insert(delparam);
166  } else {
167  ATH_MSG_WARNING(" - Delete object "
168  << delparam << "=" << delparam->GetName() << " index "
169  << index << " of " << mother << ", has " << delcount
170  << " other replacements attached. Skipping");
171  }
172  }
173  }
174  }
175 
176  ATH_MSG_INFO("RERUNNING DUPLICATE FINDING");
177  FindDuplicateClasses_t dupclasses2;
178  FindDuplicates(dupclasses2);
179 
180  std::map<std::string, int> ndel;
181  for (auto *delparam : dellist) {
182  FindDuplicates_t &dup2 = dupclasses2[delparam->GetName()];
183  bool present = dup2.find(delparam) != dup2.end();
184  if (present) {
185  ATH_MSG_WARNING("- Delete object " << delparam << "="
186  << delparam->GetName()
187  << " still referenced somewhere!");
188  } else {
189  ATH_MSG_DEBUG("- Delete object " << delparam << "="
190  << delparam->GetName());
191  ++ndel[delparam->ClassName()];
192  delete delparam;
193  }
194  }
195  for (auto &del : ndel)
196  ATH_MSG_INFO("Deleted " << del.second << " duplicate objects of class "
197  << del.first);
198 }

◆ RemoveNameTitle()

void TFCSParametrizationBase::RemoveNameTitle ( )
inherited

Definition at line 200 of file TFCSParametrizationBase.cxx.

200  {
201  for (unsigned int i = 0; i < size(); ++i)
202  if ((*this)[i]) {
203  TFCSParametrizationBase *param = (*this)[i];
204  param->SetName("");
205  param->SetTitle("");
206 
207  // Continue for child objects in param
208  param->RemoveNameTitle();
209  }
210 }

◆ reset_match_all_pdgid()

virtual void TFCSParametrizationBase::reset_match_all_pdgid ( )
inlinevirtualinherited

Definition at line 84 of file TFCSParametrizationBase.h.

84 { ResetBit(kMatchAllPDGID); };

◆ reset_RetryChainFromStart()

void TFCSParametrizationChain::reset_RetryChainFromStart ( )
inlineinherited

Definition at line 38 of file TFCSParametrizationChain.h.

38 { ResetBit(kRetryChainFromStart); };

◆ reset_SimulateOnlyOnePDGID()

void TFCSParametrizationPDGIDSelectChain::reset_SimulateOnlyOnePDGID ( )
inline

Definition at line 32 of file TFCSParametrizationPDGIDSelectChain.h.

32 { ResetBit(kSimulateOnlyOnePDGID); };

◆ reset_SplitChainObjects()

void TFCSParametrizationChain::reset_SplitChainObjects ( )
inlineinherited

Definition at line 34 of file TFCSParametrizationChain.h.

34 { ResetBit(kSplitChainObjects); };

◆ RetryChainFromStart()

bool TFCSParametrizationChain::RetryChainFromStart ( ) const
inlineinherited

Definition at line 36 of file TFCSParametrizationChain.h.

36 { return TestBit(kRetryChainFromStart); };

◆ set_daughter()

virtual void TFCSParametrizationChain::set_daughter ( unsigned int  ,
TFCSParametrizationBase  
)
inlineoverridevirtualinherited

Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter method allows to change these daughters - expert use only! The original element at this position is not deleted.

Reimplemented from TFCSParametrizationBase.

Definition at line 49 of file TFCSParametrizationChain.h.

50  {
51  m_chain.at(ind) = param;
52  };

◆ set_Ekin()

void TFCSParametrization::set_Ekin ( const TFCSParametrizationBase ref)
virtualinherited

Definition at line 55 of file TFCSParametrization.cxx.

55  {
56  set_Ekin_nominal(ref.Ekin_nominal());
57  set_Ekin_min(ref.Ekin_min());
58  set_Ekin_max(ref.Ekin_max());
59 }

◆ set_Ekin_eta()

void TFCSParametrization::set_Ekin_eta ( const TFCSParametrizationBase ref)
virtualinherited

Definition at line 67 of file TFCSParametrization.cxx.

67  {
68  set_Ekin(ref);
69  set_eta(ref);
70 }

◆ set_Ekin_max()

void TFCSParametrization::set_Ekin_max ( double  max)
virtualinherited

Definition at line 45 of file TFCSParametrization.cxx.

45 { m_Ekin_max = max; }

◆ set_Ekin_min()

void TFCSParametrization::set_Ekin_min ( double  min)
virtualinherited

Definition at line 43 of file TFCSParametrization.cxx.

43 { m_Ekin_min = min; }

◆ set_Ekin_nominal()

void TFCSParametrization::set_Ekin_nominal ( double  min)
virtualinherited

Definition at line 39 of file TFCSParametrization.cxx.

39  {
40  m_Ekin_nominal = nominal;
41 }

◆ set_eta()

void TFCSParametrization::set_eta ( const TFCSParametrizationBase ref)
virtualinherited

Definition at line 61 of file TFCSParametrization.cxx.

61  {
62  set_eta_nominal(ref.eta_nominal());
63  set_eta_min(ref.eta_min());
64  set_eta_max(ref.eta_max());
65 }

◆ set_eta_max()

void TFCSParametrization::set_eta_max ( double  max)
virtualinherited

Definition at line 53 of file TFCSParametrization.cxx.

53 { m_eta_max = max; }

◆ set_eta_min()

void TFCSParametrization::set_eta_min ( double  min)
virtualinherited

Definition at line 51 of file TFCSParametrization.cxx.

51 { m_eta_min = min; }

◆ set_eta_nominal()

void TFCSParametrization::set_eta_nominal ( double  min)
virtualinherited

Definition at line 47 of file TFCSParametrization.cxx.

47  {
48  m_eta_nominal = nominal;
49 }

◆ set_geometry()

void TFCSParametrizationBase::set_geometry ( ICaloGeometry geo)
virtualinherited

Method to set the geometry access pointer.

Loops over daughter objects if present

Reimplemented in TFCSHistoLateralShapeParametrization, TFCSVoxelHistoLateralCovarianceFluctuations, and TFCSHitCellMapping.

Definition at line 24 of file TFCSParametrizationBase.cxx.

24  {
25  for (unsigned int i = 0; i < size(); ++i)
26  (*this)[i]->set_geometry(geo);
27 }

◆ set_match_all_pdgid()

virtual void TFCSParametrizationBase::set_match_all_pdgid ( )
inlinevirtualinherited

Definition at line 83 of file TFCSParametrizationBase.h.

83 { SetBit(kMatchAllPDGID); };

◆ set_pdgid() [1/2]

void TFCSParametrization::set_pdgid ( const std::set< int > &  ids)
virtualinherited

Reimplemented in TFCSEnergyBinParametrization.

Definition at line 33 of file TFCSParametrization.cxx.

33 { m_pdgid = ids; }

◆ set_pdgid() [2/2]

void TFCSParametrization::set_pdgid ( int  id)
virtualinherited

Reimplemented in TFCSEnergyBinParametrization.

Definition at line 28 of file TFCSParametrization.cxx.

28  {
29  m_pdgid.clear();
30  m_pdgid.insert(id);
31 }

◆ set_pdgid_Ekin_eta()

void TFCSParametrization::set_pdgid_Ekin_eta ( const TFCSParametrizationBase ref)
virtualinherited

Definition at line 72 of file TFCSParametrization.cxx.

73  {
75  set_pdgid(ref.pdgid());
76 }

◆ set_RetryChainFromStart()

void TFCSParametrizationChain::set_RetryChainFromStart ( )
inlineinherited

Definition at line 37 of file TFCSParametrizationChain.h.

37 { SetBit(kRetryChainFromStart); };

◆ set_SimulateOnlyOnePDGID()

void TFCSParametrizationPDGIDSelectChain::set_SimulateOnlyOnePDGID ( )
inline

Definition at line 31 of file TFCSParametrizationPDGIDSelectChain.h.

31 { SetBit(kSimulateOnlyOnePDGID); };

◆ set_SplitChainObjects()

void TFCSParametrizationChain::set_SplitChainObjects ( )
inlineinherited

Definition at line 33 of file TFCSParametrizationChain.h.

33 { SetBit(kSplitChainObjects); };

◆ setLevel()

void ISF_FCS::MLogging::setLevel ( MSG::Level  lvl)
virtualinherited

Update outputlevel.

Definition at line 105 of file MLogging.cxx.

105  {
106  lvl = (lvl >= MSG::NUM_LEVELS) ? MSG::ALWAYS
107  : (lvl < MSG::NIL) ? MSG::NIL
108  : lvl;
109  msg().setLevel(lvl);
110 }

◆ simulate()

FCSReturnCode TFCSParametrizationPDGIDSelectChain::simulate ( TFCSSimulationState simulstate,
const TFCSTruthState truth,
const TFCSExtrapolationState extrapol 
) const
overridevirtual

Method in all derived classes to do some simulation.

Result should be returned in simulstate.

Simulate all energies in calo layers for energy parametrizations. Simulate cells for shape simulation.

Reimplemented from TFCSParametrizationChain.

Definition at line 27 of file TFCSParametrizationPDGIDSelectChain.cxx.

29  {
30  Int_t retry = 0;
31  Int_t retry_warning = 1;
32 
34  for (int i = 0; i <= retry; i++) {
35  if (i >= retry_warning)
36  ATH_MSG_WARNING("TFCSParametrizationPDGIDSelectChain::simulate(): Retry "
37  "simulate call "
38  << i << "/" << retry);
39 
40  ATH_MSG_DEBUG("Running for pdgid=" << truth->pdgid());
41  for (const auto &param : chain()) {
42  ATH_MSG_DEBUG("Now testing: "
43  << param->GetName()
44  << ((SimulateOnlyOnePDGID() == true)
45  ? ", abort PDGID loop afterwards"
46  : ", continue PDGID loop afterwards"));
47  if (param->is_match_pdgid(truth->pdgid())) {
48  ATH_MSG_DEBUG("pdgid=" << truth->pdgid()
49  << ", now run: " << param->GetName()
50  << ((SimulateOnlyOnePDGID() == true)
51  ? ", abort PDGID loop afterwards"
52  : ", continue PDGID loop afterwards"));
53  status = simulate_and_retry(param, simulstate, truth, extrapol);
54  if (status >= FCSRetry) {
55  retry = status - FCSRetry;
56  retry_warning = retry >> 1;
57  if (retry_warning < 1)
58  retry_warning = 1;
59  break;
60  }
61  if (status == FCSFatal)
62  return FCSFatal;
63 
65  break;
66  }
67  }
68 
69  if (status == FCSSuccess)
70  break;
71  }
72 
73  if (status != FCSSuccess) {
75  "TFCSParametrizationChain::simulate(): Simulate call failed after "
76  << retry << " retries");
77  return FCSFatal;
78  }
79 
80  return FCSSuccess;
81 }

◆ simulate_and_retry()

FCSReturnCode TFCSParametrizationChain::simulate_and_retry ( TFCSParametrizationBase parametrization,
TFCSSimulationState simulstate,
const TFCSTruthState truth,
const TFCSExtrapolationState extrapol 
) const
protectedinherited

◆ SimulateOnlyOnePDGID()

bool TFCSParametrizationPDGIDSelectChain::SimulateOnlyOnePDGID ( ) const
inline

Definition at line 30 of file TFCSParametrizationPDGIDSelectChain.h.

30 { return TestBit(kSimulateOnlyOnePDGID); };

◆ size()

virtual unsigned int TFCSParametrizationChain::size ( ) const
inlineoverridevirtualinherited

Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters.

Reimplemented from TFCSParametrizationBase.

Definition at line 41 of file TFCSParametrizationChain.h.

41 { return m_chain.size(); };

◆ SplitChainObjects()

bool TFCSParametrizationChain::SplitChainObjects ( ) const
inlineinherited

Definition at line 32 of file TFCSParametrizationChain.h.

32 { return TestBit(kSplitChainObjects); };

◆ startMsg()

std::string ISF_FCS::MLogging::startMsg ( MSG::Level  lvl,
const std::string &  file,
int  line 
)
staticinherited

Make a message to decorate the start of logging.

Print a message for the start of logging.

Definition at line 116 of file MLogging.cxx.

116  {
117  int col1_len = 20;
118  int col2_len = 5;
119  int col3_len = 10;
120  auto last_slash = file.find_last_of('/');
121  int path_len = last_slash == std::string::npos ? 0 : last_slash;
122  int trim_point = path_len;
123  int total_len = file.length();
124  if (total_len - path_len > col1_len)
125  trim_point = total_len - col1_len;
126  std::string trimmed_name = file.substr(trim_point);
127  const char *LevelNames[MSG::NUM_LEVELS] = {
128  "NIL", "VERBOSE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL", "ALWAYS"};
129  std::string level = LevelNames[lvl];
130  std::string level_string = std::string("(") + level + ") ";
131  std::stringstream output;
132  output << std::setw(col1_len) << std::right << trimmed_name << ":"
133  << std::setw(col2_len) << std::left << line << std::setw(col3_len)
134  << std::right << level_string;
135  return output.str();
136 }

◆ unit_test() [1/2]

void TFCSParametrizationChain::unit_test ( TFCSSimulationState simulstate = nullptr,
const TFCSTruthState truth = nullptr,
const TFCSExtrapolationState extrapol = nullptr 
)
staticinherited

Definition at line 288 of file TFCSParametrizationChain.cxx.

290  {
292  if (!simulstate)
293  simulstate = new TFCSSimulationState();
294  if (!truth)
295  truth = new TFCSTruthState();
296  if (!extrapol)
298 
299  TFCSParametrizationChain chain("chain", "chain");
300  chain.setLevel(MSG::DEBUG);
301 
302  ATH_MSG_NOCLASS(logger, "==== Chain setup ====");
303  chain.Print();
304  ATH_MSG_NOCLASS(logger, "==== Simulate with empty chain ====");
305  chain.simulate(*simulstate, truth, extrapol);
306  ATH_MSG_NOCLASS(logger, "===================================" << std::endl);
307 
309  param = new TFCSInvisibleParametrization("A begin all", "A begin all");
310  param->setLevel(MSG::VERBOSE);
311  chain.push_back(param);
312  param = new TFCSParametrization("A end all", "A end all");
313  param->setLevel(MSG::DEBUG);
314  chain.push_back(param);
315 
316  ATH_MSG_NOCLASS(logger, "==== Chain setup ====");
317  chain.Print();
318  ATH_MSG_NOCLASS(logger, "==== Simulate only begin/end all ====");
319  chain.simulate(*simulstate, truth, extrapol);
321  "==== Simulate only begin/end all with chain retry====");
322  chain.set_RetryChainFromStart();
323  chain.simulate(*simulstate, truth, extrapol);
324  chain.reset_RetryChainFromStart();
325  ATH_MSG_NOCLASS(logger, "===================================" << std::endl);
326 }

◆ unit_test() [2/2]

void TFCSParametrizationPDGIDSelectChain::unit_test ( TFCSSimulationState simulstate = nullptr,
TFCSTruthState truth = nullptr,
TFCSExtrapolationState extrapol = nullptr 
)
static

Definition at line 83 of file TFCSParametrizationPDGIDSelectChain.cxx.

85  {
87  if (!simulstate)
88  simulstate = new TFCSSimulationState();
89  if (!truth)
90  truth = new TFCSTruthState();
91  if (!extrapol)
93 
95  chain.setLevel(MSG::DEBUG);
96 
97  TFCSParametrization *param;
98  param = new TFCSInvisibleParametrization("A begin all", "A begin all");
99  param->setLevel(MSG::VERBOSE);
100  param->set_pdgid(0);
101  chain.push_back(param);
102  param = new TFCSInvisibleParametrization("A end all", "A end all");
103  param->setLevel(MSG::VERBOSE);
104  param->set_pdgid(0);
105  chain.push_back(param);
106 
107  for (int i = 0; i < 3; ++i) {
108  param = new TFCSInvisibleParametrization(Form("A%d", i), Form("A %d", i));
109  param->setLevel(MSG::VERBOSE);
110  param->set_pdgid(i);
111  chain.push_back(param);
112  }
113 
114  for (int i = 3; i > 0; --i) {
115  param = new TFCSParametrization(Form("B%d", i), Form("B %d", i));
116  param->setLevel(MSG::VERBOSE);
117  param->set_pdgid(i);
118  chain.push_back(param);
119  }
120  param = new TFCSInvisibleParametrization("B end all", "B end all");
121  param->setLevel(MSG::VERBOSE);
122  param->set_match_all_pdgid();
123  chain.push_back(param);
124  param = new TFCSInvisibleParametrization("B begin all", "B begin all");
125  param->setLevel(MSG::VERBOSE);
126  param->set_pdgid(1);
127  chain.push_back(param);
128 
129  ATH_MSG_NOCLASS(logger, "==== Chain setup ====");
130  chain.Print();
131  ATH_MSG_NOCLASS(logger, "==== Simulate with pdgid=0 ====");
132  truth->set_pdgid(0);
133  chain.simulate(*simulstate, truth, extrapol);
134  ATH_MSG_NOCLASS(logger, "==== Simulate with pdgid=1 ====");
135  truth->set_pdgid(1);
136  chain.simulate(*simulstate, truth, extrapol);
137  ATH_MSG_NOCLASS(logger, "==== Simulate with pdgid=2 ====");
138  truth->set_pdgid(2);
139  chain.set_RetryChainFromStart();
140  chain.simulate(*simulstate, truth, extrapol);
141  chain.reset_RetryChainFromStart();
142  ATH_MSG_NOCLASS(logger, "=====================================" << std::endl);
143 
144  ATH_MSG_NOCLASS(logger, "=====================================");
145  ATH_MSG_NOCLASS(logger, "= Now only one simul for each PDGID =");
146  ATH_MSG_NOCLASS(logger, "=====================================");
147  chain.set_SimulateOnlyOnePDGID();
148  ATH_MSG_NOCLASS(logger, "==== Simulate with pdgid=0 ====");
149  truth->set_pdgid(0);
150  chain.simulate(*simulstate, truth, extrapol);
151  ATH_MSG_NOCLASS(logger, "==== Simulate with pdgid=1 ====");
152  truth->set_pdgid(1);
153  chain.simulate(*simulstate, truth, extrapol);
154  ATH_MSG_NOCLASS(logger, "==== Simulate with pdgid=2 ====");
155  truth->set_pdgid(2);
156  chain.set_RetryChainFromStart();
157  chain.simulate(*simulstate, truth, extrapol);
158  chain.reset_RetryChainFromStart();
159 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

boost::thread_specific_ptr<MsgStream> m_msg_tls ISF_FCS::MLogging::ATLAS_THREAD_SAFE
inlinestaticprivateinherited

Do not persistify!

MsgStream instance (a std::cout like with print-out levels)

Definition at line 215 of file MLogging.h.

◆ init_Ekin_max

constexpr double TFCSParametrizationBase::init_Ekin_max = 14000000
staticconstexprprotectedinherited

Do not persistify!

Definition at line 155 of file TFCSParametrizationBase.h.

◆ init_Ekin_min

constexpr double TFCSParametrizationBase::init_Ekin_min = 0
staticconstexprprotectedinherited

Do not persistify!

Definition at line 154 of file TFCSParametrizationBase.h.

◆ init_Ekin_nominal

constexpr double TFCSParametrizationBase::init_Ekin_nominal = 0
staticconstexprprotectedinherited

Definition at line 153 of file TFCSParametrizationBase.h.

◆ init_eta_max

constexpr double TFCSParametrizationBase::init_eta_max = 100
staticconstexprprotectedinherited

Do not persistify!

Definition at line 158 of file TFCSParametrizationBase.h.

◆ init_eta_min

constexpr double TFCSParametrizationBase::init_eta_min = -100
staticconstexprprotectedinherited

Do not persistify!

Definition at line 157 of file TFCSParametrizationBase.h.

◆ init_eta_nominal

constexpr double TFCSParametrizationBase::init_eta_nominal = 0
staticconstexprprotectedinherited

Do not persistify!

Definition at line 156 of file TFCSParametrizationBase.h.

◆ m_chain

Chain_t TFCSParametrizationChain::m_chain
privateinherited

Definition at line 99 of file TFCSParametrizationChain.h.

◆ m_Ekin_max

double TFCSParametrization::m_Ekin_max
privateinherited

Definition at line 64 of file TFCSParametrization.h.

◆ m_Ekin_min

double TFCSParametrization::m_Ekin_min
privateinherited

Definition at line 64 of file TFCSParametrization.h.

◆ m_Ekin_nominal

double TFCSParametrization::m_Ekin_nominal
privateinherited

Definition at line 64 of file TFCSParametrization.h.

◆ m_eta_max

double TFCSParametrization::m_eta_max
privateinherited

Definition at line 65 of file TFCSParametrization.h.

◆ m_eta_min

double TFCSParametrization::m_eta_min
privateinherited

Definition at line 65 of file TFCSParametrization.h.

◆ m_eta_nominal

double TFCSParametrization::m_eta_nominal
privateinherited

Definition at line 65 of file TFCSParametrization.h.

◆ m_nm

std::string ISF_FCS::MLogging::m_nm
privateinherited

Message source name.

Definition at line 211 of file MLogging.h.

◆ m_pdgid

std::set<int> TFCSParametrization::m_pdgid
privateinherited

Definition at line 63 of file TFCSParametrization.h.

◆ m_writtenBases

std::vector<std::unique_ptr<TFCSParametrizationBase> > TFCSParametrizationChain::m_writtenBases
privateinherited

Definition at line 102 of file TFCSParametrizationChain.h.


The documentation for this class was generated from the following files:
TFCSParametrizationBase::set_daughter
virtual void set_daughter(unsigned int, TFCSParametrizationBase *)
Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter meth...
Definition: TFCSParametrizationBase.h:113
TFCSParametrizationChain
Definition: TFCSParametrizationChain.h:10
TFCSParametrization::set_Ekin_nominal
virtual void set_Ekin_nominal(double min)
Definition: TFCSParametrization.cxx:39
TFCSParametrizationChain::recalc
virtual void recalc()
Default is to call recalc_pdgid_intersect() and recalc_Ekin_eta_intersect()
Definition: TFCSParametrizationChain.cxx:119
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition: TFCSParametrizationBase.h:41
TFCSParametrization::pdgid
const std::set< int > & pdgid() const override
Definition: TFCSParametrization.h:34
ISF_FCS::MLogging
Cut down AthMessaging.
Definition: MLogging.h:176
TFCSParametrizationBase::init_Ekin_max
static constexpr double init_Ekin_max
Do not persistify!
Definition: TFCSParametrizationBase.h:155
TFCSParametrizationBase::compare
bool compare(const TFCSParametrizationBase &ref) const
Do not persistify!
Definition: TFCSParametrizationBase.cxx:42
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
checkFileSG.line
line
Definition: checkFileSG.py:75
TFCSParametrizationBase::init_eta_nominal
static constexpr double init_eta_nominal
Do not persistify!
Definition: TFCSParametrizationBase.h:156
TFCSParametrizationChain::kSplitChainObjects
@ kSplitChainObjects
Set this bit in the TObject bit field if the TFCSParametrizationBase objects in the chain should be w...
Definition: TFCSParametrizationChain.h:21
TFCSParametrizationBase::init_Ekin_min
static constexpr double init_Ekin_min
Do not persistify!
Definition: TFCSParametrizationBase.h:154
IsA
#define IsA
Declare the TObject style functions.
Definition: xAODTEventBranch.h:59
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TFCSParametrization::Ekin_max
double Ekin_max() const override
Definition: TFCSParametrization.h:37
TFCSParametrizationBase::is_match_all_pdgid
virtual bool is_match_all_pdgid() const
Definition: TFCSParametrizationBase.h:66
make_coralServer_rep.opt
opt
Definition: make_coralServer_rep.py:19
TFCSParametrizationBase::init_eta_min
static constexpr double init_eta_min
Do not persistify!
Definition: TFCSParametrizationBase.h:157
TFCSParametrizationChain::recalc_eta_intersect
void recalc_eta_intersect()
Definition: TFCSParametrizationChain.cxx:61
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
index
Definition: index.py:1
ISF_FCS::MLogging::level
MSG::Level level() const
Retrieve output level.
Definition: MLogging.h:201
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
TFCSParametrizationChain::recalc_Ekin_union
void recalc_Ekin_union()
Definition: TFCSParametrizationChain.cxx:82
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
TFCSParametrization::m_eta_nominal
double m_eta_nominal
Definition: TFCSParametrization.h:65
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
TFCSParametrizationBase::FindDuplicates
void FindDuplicates(FindDuplicateClasses_t &dup)
Definition: TFCSParametrizationBase.cxx:90
TFCSParametrization::set_Ekin_max
virtual void set_Ekin_max(double max)
Definition: TFCSParametrization.cxx:45
TFCSParametrizationBase::init_eta_max
static constexpr double init_eta_max
Do not persistify!
Definition: TFCSParametrizationBase.h:158
TFCSParametrization::eta_nominal
double eta_nominal() const override
Definition: TFCSParametrization.h:38
TFCSParametrization::m_eta_max
double m_eta_max
Definition: TFCSParametrization.h:65
TFCSExtrapolationState
Definition: TFCSExtrapolationState.h:13
RunActsMaterialValidation.extrapol
extrapol
Definition: RunActsMaterialValidation.py:91
TFCSParametrizationPDGIDSelectChain::SimulateOnlyOnePDGID
bool SimulateOnlyOnePDGID() const
Definition: TFCSParametrizationPDGIDSelectChain.h:30
TFCSParametrization::set_Ekin
virtual void set_Ekin(const TFCSParametrizationBase &ref)
Definition: TFCSParametrization.cxx:55
TFCSParametrization::set_eta
virtual void set_eta(const TFCSParametrizationBase &ref)
Definition: TFCSParametrization.cxx:61
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
TFCSParametrizationChain::recalc_eta_union
void recalc_eta_union()
Definition: TFCSParametrizationChain.cxx:98
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
TFCSParametrization::set_eta_max
virtual void set_eta_max(double max)
Definition: TFCSParametrization.cxx:53
XMLtoHeader.count
count
Definition: XMLtoHeader.py:85
FCSRetry
@ FCSRetry
Definition: TFCSParametrizationBase.h:41
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
TFCSParametrization::set_pdgid
virtual void set_pdgid(int id)
Definition: TFCSParametrization.cxx:28
TFCSParametrization::set_Ekin_eta
virtual void set_Ekin_eta(const TFCSParametrizationBase &ref)
Definition: TFCSParametrization.cxx:67
TFCSParametrizationBase
Definition: TFCSParametrizationBase.h:46
set_union
Set * set_union(Set *set1, Set *set2)
Perform a union of two sets.
ISF_FCS::MLogging::msg
MsgStream & msg() const
Return a stream for sending messages directly (no decoration)
Definition: MLogging.h:231
TFCSParametrization::set_Ekin_min
virtual void set_Ekin_min(double min)
Definition: TFCSParametrization.cxx:43
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
lumiFormat.i
int i
Definition: lumiFormat.py:85
TFCSParametrizationChain::chain
const Chain_t & chain() const
Definition: TFCSParametrizationChain.h:53
TFCSParametrization::TFCSParametrization
TFCSParametrization(const char *name=nullptr, const char *title=nullptr)
Definition: TFCSParametrization.cxx:12
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TFCSParametrizationBase::FindDuplicateClasses_t
std::map< std::string, FindDuplicates_t > FindDuplicateClasses_t
Definition: TFCSParametrizationBase.h:142
covarianceTool.title
title
Definition: covarianceTool.py:542
ISF_FCS::MLogging::m_nm
std::string m_nm
Message source name.
Definition: MLogging.h:211
file
TFile * file
Definition: tile_monitor.h:29
TFCSParametrizationChain::recalc_Ekin_intersect
void recalc_Ekin_intersect()
Definition: TFCSParametrizationChain.cxx:45
TFCSParametrization::m_Ekin_min
double m_Ekin_min
Definition: TFCSParametrization.h:64
TFCSParametrization::Ekin_min
double Ekin_min() const override
Definition: TFCSParametrization.h:36
TFCSParametrization::m_eta_min
double m_eta_min
Definition: TFCSParametrization.h:65
TFCSParametrizationBase::Print
void Print(Option_t *option="") const
Print object information.
Definition: TFCSParametrizationBase.cxx:52
TFCSParametrizationBase::FindDuplicates_t
std::map< TFCSParametrizationBase *, Duplicate_t > FindDuplicates_t
Definition: TFCSParametrizationBase.h:141
TFCSParametrizationBase::set_match_all_pdgid
virtual void set_match_all_pdgid()
Definition: TFCSParametrizationBase.h:83
FCSFatal
@ FCSFatal
Definition: TFCSParametrizationBase.h:41
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
FCSSuccess
@ FCSSuccess
Definition: TFCSParametrizationBase.h:41
TFCSParametrization::eta_max
double eta_max() const override
Definition: TFCSParametrization.h:40
TFCSParametrizationBase::RemoveNameTitle
void RemoveNameTitle()
Definition: TFCSParametrizationBase.cxx:200
merge.output
output
Definition: merge.py:17
TFCSParametrizationPDGIDSelectChain::reset_SimulateOnlyOnePDGID
void reset_SimulateOnlyOnePDGID()
Definition: TFCSParametrizationPDGIDSelectChain.h:32
TFCSParametrization::m_Ekin_nominal
double m_Ekin_nominal
Definition: TFCSParametrization.h:64
TrigConf::MSGTC::NUM_LEVELS
@ NUM_LEVELS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:30
TFCSParametrization
Definition: TFCSParametrization.h:10
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TFCSParametrization::eta_min
double eta_min() const override
Definition: TFCSParametrization.h:39
TFCSParametrization::m_pdgid
std::set< int > m_pdgid
Definition: TFCSParametrization.h:63
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
TFCSParametrization::set_eta_nominal
virtual void set_eta_nominal(double min)
Definition: TFCSParametrization.cxx:47
ISF_FCS::MLogging::setLevel
virtual void setLevel(MSG::Level lvl)
Update outputlevel.
Definition: MLogging.cxx:105
TFCSParametrizationPDGIDSelectChain
Definition: TFCSParametrizationPDGIDSelectChain.h:10
TFCSParametrization::clear
void clear()
Definition: TFCSParametrization.cxx:18
TFCSTruthState::pdgid
int pdgid() const
Definition: TFCSTruthState.h:25
TFCSInvisibleParametrization
Definition: TFCSInvisibleParametrization.h:10
TFCSParametrizationBase::init_Ekin_nominal
static constexpr double init_Ekin_nominal
Definition: TFCSParametrizationBase.h:153
DeMoScan.index
string index
Definition: DeMoScan.py:364
TFCSParametrizationChain::recalc_pdgid_union
void recalc_pdgid_union()
Definition: TFCSParametrizationChain.cxx:33
ATH_MSG_NOCLASS
#define ATH_MSG_NOCLASS(logger_name, x)
Definition: MLogging.h:52
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ref
const boost::regex ref(r_ef)
TFCSParametrizationPDGIDSelectChain::kSimulateOnlyOnePDGID
@ kSimulateOnlyOnePDGID
Set this bit in the TObject bit field if the PDGID selection loop should be aborted after the first s...
Definition: TFCSParametrizationPDGIDSelectChain.h:25
LArCellConditions.geo
bool geo
Definition: LArCellConditions.py:46
DEBUG
#define DEBUG
Definition: page_access.h:11
TFCSParametrizationChain::simulate_and_retry
FCSReturnCode simulate_and_retry(TFCSParametrizationBase *parametrization, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
TFCSParametrizationChain::m_chain
Chain_t m_chain
Definition: TFCSParametrizationChain.h:99
TFCSParametrization::Ekin_nominal
double Ekin_nominal() const override
Definition: TFCSParametrization.h:35
TFCSParametrizationChain::recalc_Ekin_eta_intersect
void recalc_Ekin_eta_intersect()
Definition: TFCSParametrizationChain.cxx:77
TFCSParametrizationChain::TFCSParametrizationChain
TFCSParametrizationChain(const char *name=nullptr, const char *title=nullptr)
Definition: TFCSParametrizationChain.h:12
TFCSParametrization::set_eta_min
virtual void set_eta_min(double min)
Definition: TFCSParametrization.cxx:51
merge.status
status
Definition: merge.py:17
TFCSParametrization::m_Ekin_max
double m_Ekin_max
Definition: TFCSParametrization.h:64
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
TrigConf::MSGTC::NIL
@ NIL
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:22
TFCSParametrizationBase::kMatchAllPDGID
@ kMatchAllPDGID
Set this bit in the TObject bit field if valid for all PDGID.
Definition: TFCSParametrizationBase.h:53
set_intersection
Set * set_intersection(Set *set1, Set *set2)
Perform an intersection of two sets.
TFCSTruthState
Definition: TFCSTruthState.h:13
TFCSParametrizationBase::size
virtual unsigned int size() const
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
Definition: TFCSParametrizationBase.h:93
TFCSSimulationState
Definition: TFCSSimulationState.h:32
TFCSParametrizationChain::kRetryChainFromStart
@ kRetryChainFromStart
Definition: TFCSParametrizationChain.h:29
python.iconfTool.gui.pad.logger
logger
Definition: pad.py:14
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
TFCSTruthState::set_pdgid
void set_pdgid(int val)
Definition: TFCSTruthState.h:18
TFCSParametrizationChain::size
virtual unsigned int size() const override
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
Definition: TFCSParametrizationChain.h:41