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

#include <TFCSLateralShapeParametrizationHitChain.h>

Inheritance diagram for TFCSLateralShapeParametrizationHitChain:
Collaboration diagram for TFCSLateralShapeParametrizationHitChain:

Public Types

typedef std::vector< TFCSLateralShapeParametrizationHitBase * > 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

 TFCSLateralShapeParametrizationHitChain (const char *name=nullptr, const char *title=nullptr)
 
 TFCSLateralShapeParametrizationHitChain (TFCSLateralShapeParametrizationHitBase *hitsim)
 
virtual FCSReturnCode init_hit (TFCSLateralShapeParametrizationHitBase::Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
 
virtual FCSReturnCode simulate (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
 Method in all derived classes to do some simulation. More...
 
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 &value)
 
void push_back_init (const Chain_t::value_type &value)
 
unsigned int get_nr_of_init () const
 
void set_nr_of_init (unsigned int ninit)
 
virtual void set_number_of_hits_simul (TFCSLateralShapeParametrizationHitBase *sim)
 set which instance should determine the number of hits More...
 
virtual int get_number_of_hits (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
 Call get_number_of_hits() only once, as it could contain a random number. More...
 
virtual float get_E_hit (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
 Get hit energy from layer energy and number of hits. More...
 
virtual float get_sigma2_fluctuation (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
 Give the effective size sigma^2 of the fluctuations that should be generated. More...
 
virtual float getMinWeight () const
 Get minimum and maximum value of weight for hit energy reweighting. More...
 
virtual float getMaxWeight () const
 
void Print (Option_t *option="") const override
 Do not persistify! More...
 
bool is_match_Ekin_bin (int bin) const override
 
bool is_match_calosample (int calosample) const override
 
virtual bool is_match_all_Ekin_bin () const override
 
virtual bool is_match_all_calosample () const override
 
int Ekin_bin () const
 
void set_Ekin_bin (int bin)
 
int calosample () const
 
void set_calosample (int cs)
 
virtual void set_pdgid_Ekin_eta_Ekin_bin_calosample (const TFCSLateralShapeParametrization &ref)
 
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
 
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 std::string startMsg (MSG::Level lvl, const std::string &file, int line)
 Make a message to decorate the start of logging. More...
 

Static Public Attributes

static constexpr float s_max_sigma2_fluctuation = 1000
 

Protected Member Functions

void PropagateMSGLevel (MSG::Level level) const
 
bool compare (const TFCSParametrizationBase &ref) const
 

Protected Attributes

Chain_t m_chain
 

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

TFCSLateralShapeParametrizationHitBasem_number_of_hits_simul
 
unsigned int m_ninit = 0
 
int m_Ekin_bin
 
int m_calosample
 
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 14 of file TFCSLateralShapeParametrizationHitChain.h.

Member Typedef Documentation

◆ Chain_t

Definition at line 43 of file TFCSLateralShapeParametrizationHitChain.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

◆ 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

◆ TFCSLateralShapeParametrizationHitChain() [1/2]

TFCSLateralShapeParametrizationHitChain::TFCSLateralShapeParametrizationHitChain ( const char *  name = nullptr,
const char *  title = nullptr 
)

◆ TFCSLateralShapeParametrizationHitChain() [2/2]

TFCSLateralShapeParametrizationHitChain::TFCSLateralShapeParametrizationHitChain ( TFCSLateralShapeParametrizationHitBase hitsim)

Definition at line 53 of file TFCSLateralShapeParametrizationHitChain.cxx.

56  : TFCSLateralShapeParametrization(TString("hit_chain_") + hitsim->GetName(),
57  TString("hit chain for ") +
58  hitsim->GetTitle()),
59  m_number_of_hits_simul(nullptr) {
61 
62  m_chain.push_back(hitsim);
63 }

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); }

◆ calosample()

int TFCSLateralShapeParametrization::calosample ( ) const
inlineinherited

Definition at line 34 of file TFCSLateralShapeParametrization.h.

34 { return m_calosample; };

◆ chain() [1/2]

Chain_t& TFCSLateralShapeParametrizationHitChain::chain ( )
inline

Definition at line 51 of file TFCSLateralShapeParametrizationHitChain.h.

51 { return m_chain; };

◆ chain() [2/2]

const Chain_t& TFCSLateralShapeParametrizationHitChain::chain ( ) const
inline

Definition at line 50 of file TFCSLateralShapeParametrizationHitChain.h.

50 { 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 TFCSLateralShapeParametrization::compare ( const TFCSParametrizationBase ref) const
protectedinherited

Definition at line 32 of file TFCSLateralShapeParametrization.cxx.

33  {
34  if (IsA() != ref.IsA()) {
35  ATH_MSG_DEBUG("compare(): different class types "
36  << IsA()->GetName() << " != " << ref.IsA()->GetName());
37  return false;
38  }
39  const TFCSLateralShapeParametrization &ref_typed =
40  static_cast<const TFCSLateralShapeParametrization &>(ref);
41  if (Ekin_bin() != ref_typed.Ekin_bin()) {
42  ATH_MSG_DEBUG("compare(): different Ekin bin");
43  return false;
44  }
45  if (calosample() != ref_typed.calosample()) {
46  ATH_MSG_DEBUG("compare(): different calosample");
47  return false;
48  }
49 
50  return true;
51 }

◆ Ekin_bin()

int TFCSLateralShapeParametrization::Ekin_bin ( ) const
inlineinherited

Definition at line 31 of file TFCSLateralShapeParametrization.h.

31 { return m_Ekin_bin; };

◆ 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 }

◆ get_E_hit()

float TFCSLateralShapeParametrizationHitChain::get_E_hit ( TFCSSimulationState simulstate,
const TFCSTruthState truth,
const TFCSExtrapolationState extrapol 
) const
virtual

Get hit energy from layer energy and number of hits.

Reimplemented in TFCSLateralShapeParametrizationFluctChain.

Definition at line 162 of file TFCSLateralShapeParametrizationHitChain.cxx.

164  {
165  const int nhits = get_number_of_hits(simulstate, truth, extrapol);
166  const int sample = calosample();
167  if (sample < 0)
168  return 0;
169  if (nhits <= 0)
170  return simulstate.E(sample);
171  const float maxWeight =
172  getMaxWeight(); // maxWeight = -1 if shapeWeight class is not in m_chain
173 
174  if (maxWeight > 0)
175  return simulstate.E(sample) /
176  (maxWeight *
177  nhits); // maxWeight is used only if shapeWeight class is in m_chain
178  else
179  return simulstate.E(sample) /
180  nhits; // Otherwise, old definition of E_hit is used
181 }

◆ get_nr_of_init()

unsigned int TFCSLateralShapeParametrizationHitChain::get_nr_of_init ( ) const
inline

Definition at line 57 of file TFCSLateralShapeParametrizationHitChain.h.

57 { return m_ninit; };

◆ get_number_of_hits()

int TFCSLateralShapeParametrizationHitChain::get_number_of_hits ( TFCSSimulationState simulstate,
const TFCSTruthState truth,
const TFCSExtrapolationState extrapol 
) const
virtual

Call get_number_of_hits() only once, as it could contain a random number.

Definition at line 125 of file TFCSLateralShapeParametrizationHitChain.cxx.

127  {
128  // TODO: should we still do it?
130  int n =
132  if (n < 1)
133  n = 1;
134  return n;
135  }
137  int n = hitsim->get_number_of_hits(simulstate, truth, extrapol);
138  if (n > 0)
139  return n;
140  }
141  return 1;
142 }

◆ get_sigma2_fluctuation()

float TFCSLateralShapeParametrizationHitChain::get_sigma2_fluctuation ( TFCSSimulationState simulstate,
const TFCSTruthState truth,
const TFCSExtrapolationState extrapol 
) const
virtual

Give the effective size sigma^2 of the fluctuations that should be generated.

Definition at line 183 of file TFCSLateralShapeParametrizationHitChain.cxx.

185  {
188  simulstate, truth, extrapol);
189  if (sigma2 > 0)
190  return sigma2;
191  }
193  double sigma2 = hitsim->get_sigma2_fluctuation(simulstate, truth, extrapol);
194  if (sigma2 > 0)
195  return sigma2;
196  }
197  // Limit to factor s_max_sigma2_fluctuation fluctuations
199 }

◆ getMaxWeight()

float TFCSLateralShapeParametrizationHitChain::getMaxWeight ( ) const
virtual

Definition at line 153 of file TFCSLateralShapeParametrizationHitChain.cxx.

153  {
155  float weight = hitsim->getMaxWeight();
156  if (weight > 0.)
157  return weight;
158  }
159  return -1.;
160 }

◆ getMinWeight()

float TFCSLateralShapeParametrizationHitChain::getMinWeight ( ) const
virtual

Get minimum and maximum value of weight for hit energy reweighting.

Definition at line 144 of file TFCSLateralShapeParametrizationHitChain.cxx.

144  {
146  float weight = hitsim->getMinWeight();
147  if (weight > 0.)
148  return weight;
149  }
150  return -1.;
151 }

◆ init_hit()

FCSReturnCode TFCSLateralShapeParametrizationHitChain::init_hit ( TFCSLateralShapeParametrizationHitBase::Hit hit,
TFCSSimulationState simulstate,
const TFCSTruthState truth,
const TFCSExtrapolationState extrapol 
) const
virtual

Definition at line 207 of file TFCSLateralShapeParametrizationHitChain.cxx.

210  {
211  hit.reset_center();
212  if (get_nr_of_init() > 0) {
213  ATH_MSG_DEBUG("E(" << calosample() << ")=" << simulstate.E(calosample())
214  << " before init");
215 
216  auto initloopend = m_chain.begin() + get_nr_of_init();
217  for (auto hititr = m_chain.begin(); hititr != initloopend; ++hititr) {
218  TFCSLateralShapeParametrizationHitBase *hitsim = *hititr;
219 
221  hitsim->simulate_hit(hit, simulstate, truth, extrapol);
222 
223  if (status != FCSSuccess) {
224  ATH_MSG_ERROR("TFCSLateralShapeParametrizationHitChain::simulate(): "
225  "simulate_hit init call failed");
226  return FCSFatal;
227  }
228  }
229  }
230  return FCSSuccess;
231 }

◆ is_match_all_calosample()

virtual bool TFCSLateralShapeParametrization::is_match_all_calosample ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrization.

Definition at line 29 of file TFCSLateralShapeParametrization.h.

29 { return false; };

◆ 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 TFCSLateralShapeParametrization::is_match_all_Ekin_bin ( ) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrization.

Definition at line 24 of file TFCSLateralShapeParametrization.h.

24  {
25  if (Ekin_bin() == -1)
26  return true;
27  return false;
28  };

◆ 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 TFCSLateralShapeParametrization::is_match_calosample ( int  calosample) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 20 of file TFCSLateralShapeParametrization.h.

20  {
21  return calosample == m_calosample;
22  };

◆ 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 TFCSLateralShapeParametrization::is_match_Ekin_bin ( int  bin) const
inlineoverridevirtualinherited

Reimplemented from TFCSParametrizationBase.

Definition at line 15 of file TFCSLateralShapeParametrization.h.

15  {
16  if (Ekin_bin() == -1)
17  return true;
18  return bin == Ekin_bin();
19  };

◆ 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]

const TFCSParametrizationBase * TFCSLateralShapeParametrizationHitChain::operator[] ( unsigned int  ) const
overridevirtual

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 84 of file TFCSLateralShapeParametrizationHitChain.cxx.

84  {
86  if (ind == 0)
88  return m_chain[ind - 1];
89  } else {
90  return m_chain[ind];
91  }
92 }

◆ operator[]() [2/2]

TFCSParametrizationBase * TFCSLateralShapeParametrizationHitChain::operator[] ( unsigned int  )
overridevirtual

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 95 of file TFCSLateralShapeParametrizationHitChain.cxx.

95  {
97  if (ind == 0)
99  return m_chain[ind - 1];
100  } else {
101  return m_chain[ind];
102  }
103 }

◆ 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 TFCSLateralShapeParametrizationHitChain::Print ( Option_t *  option = "") const
override

Do not persistify!

Definition at line 448 of file TFCSLateralShapeParametrizationHitChain.cxx.

448  {
450  TString opt(option);
451  bool shortprint = opt.Index("short") >= 0;
452  bool longprint = msgLvl(MSG::DEBUG) || (msgLvl(MSG::INFO) && !shortprint);
453  TString optprint = opt;
454  optprint.ReplaceAll("short", "");
455 
457  if (longprint)
458  ATH_MSG_INFO(optprint << "#:Number of hits simulation:");
460  }
461  if (longprint && get_nr_of_init() > 0)
462  ATH_MSG_INFO(optprint << "> Simulation init chain:");
463  auto hitloopstart = m_chain.begin() + get_nr_of_init();
464  for (auto hititr = m_chain.begin(); hititr != hitloopstart; ++hititr) {
465  TFCSLateralShapeParametrizationHitBase *hitsim = *hititr;
466  hitsim->Print(opt + "> ");
467  }
468  if (longprint)
469  ATH_MSG_INFO(optprint << "- Simulation chain:");
470  char count = 'A';
471  for (auto hititr = hitloopstart; hititr != m_chain.end(); ++hititr) {
472  TFCSLateralShapeParametrizationHitBase *hitsim = *hititr;
473  hitsim->Print(opt + count + " ");
474  count++;
475  }
476 }

◆ PropagateMSGLevel()

void TFCSLateralShapeParametrizationHitChain::PropagateMSGLevel ( MSG::Level  level) const
protected

Definition at line 201 of file TFCSLateralShapeParametrizationHitChain.cxx.

202  {
204  reset->setLevel(level);
205 }

◆ push_back()

void TFCSLateralShapeParametrizationHitChain::push_back ( const Chain_t::value_type &  value)
inline

Definition at line 52 of file TFCSLateralShapeParametrizationHitChain.h.

52  {
53  m_chain.push_back(value);
54  };

◆ push_back_init()

void TFCSLateralShapeParametrizationHitChain::push_back_init ( const Chain_t::value_type &  value)

Definition at line 72 of file TFCSLateralShapeParametrizationHitChain.cxx.

73  {
74  if (m_ninit == size()) {
75  chain().push_back(value);
76  } else {
78  chain().insert(it, value);
79  }
80  ++m_ninit;
81 }

◆ 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); };

◆ set_calosample()

void TFCSLateralShapeParametrization::set_calosample ( int  cs)
inherited

Definition at line 21 of file TFCSLateralShapeParametrization.cxx.

21  {
22  m_calosample = cs;
23 }

◆ set_daughter()

void TFCSLateralShapeParametrizationHitChain::set_daughter ( unsigned int  ,
TFCSParametrizationBase  
)
overridevirtual

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 105 of file TFCSLateralShapeParametrizationHitChain.cxx.

106  {
107  TFCSLateralShapeParametrizationHitBase *param_typed = nullptr;
108  if (param != nullptr) {
109  if (!param->InheritsFrom(TFCSLateralShapeParametrizationHitBase::Class())) {
110  ATH_MSG_ERROR("Wrong class type " << param->IsA()->GetName());
111  return;
112  }
113  param_typed = static_cast<TFCSLateralShapeParametrizationHitBase *>(param);
114  }
116  if (ind == 0)
117  m_number_of_hits_simul = param_typed;
118  else
119  m_chain.at(ind - 1) = param_typed;
120  } else {
121  m_chain.at(ind) = param_typed;
122  }
123 }

◆ 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_bin()

void TFCSLateralShapeParametrization::set_Ekin_bin ( int  bin)
inherited

Definition at line 17 of file TFCSLateralShapeParametrization.cxx.

17  {
18  m_Ekin_bin = bin;
19 }

◆ 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  {
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  {
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_nr_of_init()

void TFCSLateralShapeParametrizationHitChain::set_nr_of_init ( unsigned int  ninit)
inline

Definition at line 58 of file TFCSLateralShapeParametrizationHitChain.h.

58 { m_ninit = ninit; };

◆ set_number_of_hits_simul()

virtual void TFCSLateralShapeParametrizationHitChain::set_number_of_hits_simul ( TFCSLateralShapeParametrizationHitBase sim)
inlinevirtual

set which instance should determine the number of hits

Definition at line 62 of file TFCSLateralShapeParametrizationHitChain.h.

62  {
64  };

◆ 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_pdgid_Ekin_eta_Ekin_bin_calosample()

void TFCSLateralShapeParametrization::set_pdgid_Ekin_eta_Ekin_bin_calosample ( const TFCSLateralShapeParametrization ref)
virtualinherited

Definition at line 25 of file TFCSLateralShapeParametrization.cxx.

26  {
27  set_calosample(ref.calosample());
28  set_Ekin_bin(ref.Ekin_bin());
30 }

◆ 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 TFCSLateralShapeParametrizationHitChain::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 TFCSParametrizationBase.

Reimplemented in TFCSLateralShapeParametrizationFluctChain.

Definition at line 233 of file TFCSLateralShapeParametrizationHitChain.cxx.

235  {
236  MSG::Level old_level = level();
237  const bool debug = msgLvl(MSG::DEBUG);
238  const bool verbose = msgLvl(MSG::VERBOSE);
239 
240  // Execute the first get_nr_of_init() simulate calls only once. Used for
241  // example to initialize the center position
243  if (init_hit(hit, simulstate, truth, extrapol) != FCSSuccess) {
244  ATH_MSG_ERROR("init_hit() failed");
245  return FCSFatal;
246  }
247 
248  int cs = calosample();
249  // Initialize hit energy only now, as init loop above might change the layer
250  // energy
251  const float Elayer = simulstate.E(cs);
252  if (Elayer == 0) {
253  ATH_MSG_VERBOSE("Elayer=0, nothing to do");
254  return FCSSuccess;
255  }
256  const float Ehit = get_E_hit(simulstate, truth, extrapol);
257  if (Ehit * Elayer <= 0) {
258  ATH_MSG_ERROR("TFCSLateralShapeParametrizationHitChain::simulate(): Ehit "
259  "and Elayer have different sign! Ehit="
260  << Ehit << " Elayer=" << Elayer);
261  return FCSFatal;
262  }
263 
264  // Call get_number_of_hits() only once inside get_E_hit(...),
265  // as it could contain a random number
266  int nhit = TMath::Nint(Elayer / Ehit);
267  if (nhit < 1)
268  nhit = 1;
269 
270  float sumEhit = 0;
271 
272  if (debug) {
273  PropagateMSGLevel(old_level);
274  ATH_MSG_DEBUG("E(" << cs << ")=" << simulstate.E(cs) << " #hits~" << nhit);
275  }
276 
277  //
278  // simulate the hits in GPU
279  //
280 #ifdef USE_GPU
281  int ichn = 0;
282  bool our_chainA = false;
283  if (cs > 0 && cs < 8 && cs != 4)
284  our_chainA = true;
285  if (nhit > MIN_GPU_HITS && our_chainA && simulstate.get_geold() != nullptr) {
287  "running FastCaloSim in GPU, nhits = " << nhit << " ; Ehit = " << Ehit);
288  GeoLoadGpu *gld = (GeoLoadGpu *)simulstate.get_geold();
289 
291  args.debug = debug;
292  args.cs = cs;
293  args.extrapol_eta_ent = extrapol->eta(cs, SUBPOS_ENT);
294  args.extrapol_eta_ext = extrapol->eta(cs, SUBPOS_EXT);
295  args.extrapol_phi_ent = extrapol->phi(cs, SUBPOS_ENT);
296  args.extrapol_phi_ext = extrapol->phi(cs, SUBPOS_EXT);
297  args.extrapol_r_ent = extrapol->r(cs, SUBPOS_ENT);
298  args.extrapol_r_ext = extrapol->r(cs, SUBPOS_EXT);
299  args.extrapol_z_ent = extrapol->z(cs, SUBPOS_ENT);
300  args.extrapol_z_ext = extrapol->z(cs, SUBPOS_EXT);
301  args.pdgId = truth->pdgid();
302  args.charge = HepPDT::ParticleID(args.pdgId).charge();
303  args.nhits = nhit;
304  args.rand = 0;
305  args.geo = gld->get_geoPtr();
306  args.rd4h = simulstate.get_gpu_rand();
307  args.ncells = gld->get_ncells();
308  ichn = 0;
309  // reweight the cell energies for pion
310  bool reweight = false;
311  for (auto hitsim : m_chain) {
312  if (ichn == 0) {
313  args.extrapWeight =
314  ((TFCSCenterPositionCalculation *)hitsim)->getExtrapWeight();
315  }
316 
317  if (ichn == 1) {
318 
319  args.is_phi_symmetric = ((TFCSHistoLateralShapeParametrization *)hitsim)
320  ->is_phi_symmetric();
321  args.fh2d =
322  ((TFCSHistoLateralShapeParametrization *)hitsim)->LdFH()->hf2d_d();
323  args.fh2d_h = *(
324  ((TFCSHistoLateralShapeParametrization *)hitsim)->LdFH()->hf2d_h());
325  }
326  if (ichn == 2 && m_chain.size() == 4) {
327  args.fh1d =
328  ((TFCSHistoLateralShapeGausLogWeight *)hitsim)->LdFH()->hf1d_d();
329  args.fh1d_h =
330  *(((TFCSHistoLateralShapeGausLogWeight *)hitsim)->LdFH()->hf1d_h());
331  reweight = true;
332  }
333  if ((ichn == 2 && m_chain.size() == 3) ||
334  (ichn == 3 && m_chain.size() == 4)) {
335  // ATH_MSG_DEBUG("---NumberOfBins :" << ( (TFCSHitCellMappingWi
336  // ggle*)hitsim )->get_number_of_bins() );
337  args.fhs = ((TFCSHitCellMappingWiggle *)hitsim)->LdFH()->hf_d();
338  args.fhs_h = *(((TFCSHitCellMappingWiggle *)hitsim)->LdFH()->hf_h());
339  }
340 
341  ichn++;
342  }
343  if (reweight)
344  CaloGpuGeneral::simulate_hits(Ehit, 1.2 * nhit, args, reweight);
345  else
346  CaloGpuGeneral::simulate_hits(Ehit, nhit, args, reweight);
347 
348  for (unsigned int ii = 0; ii < args.ct; ++ii) {
349 
350  const CaloDetDescrElement_Gpu *cellele =
351  gld->index2cell(args.hitcells_E_h[ii].cellid);
352  const CaloDetDescrElement *cell_h =
353  m_geo->getDDE(cs, cellele->eta(), cellele->phi());
354  sumEhit += args.hitcells_E_h[ii].energy;
355  if (reweight) {
356  if (std::abs(sumEhit) > std::abs(Elayer))
357  simulstate.deposit(cell_h, args.hitcells_E_h[ii].energy);
358  }
359  }
360  } else
361 #endif
362  {
363 
364  auto hitloopstart = m_chain.begin() + get_nr_of_init();
365  int ihit = 0;
366  int ifail = 0;
367  int itotalfail = 0;
368  int retry_warning = 1;
369  int retry = 0;
370  do {
371  hit.reset();
372  hit.E() = Ehit;
373  bool failed = false;
374  if (debug)
375  if (ihit == 2)
376  if (!verbose) {
377  // Switch debug output back to INFO to avoid huge logs, but keep
378  // full log in verbose
379  PropagateMSGLevel(MSG::INFO);
380  }
381  for (auto hititr = hitloopstart; hititr != m_chain.end(); ++hititr) {
382  TFCSLateralShapeParametrizationHitBase *hitsim = *hititr;
383 
385  hitsim->simulate_hit(hit, simulstate, truth, extrapol);
386 
387  if (status == FCSSuccess)
388  continue;
389  if (status == FCSFatal) {
390  if (debug)
391  PropagateMSGLevel(old_level);
392  return FCSFatal;
393  }
394  failed = true;
395  ++ifail;
396  ++itotalfail;
397  retry = status - FCSRetry;
398  retry_warning = retry >> 1;
399  if (retry_warning < 1)
400  retry_warning = 1;
401  break;
402  }
403  if (!failed) {
404  ifail = 0;
405  sumEhit += hit.E();
406  ++ihit;
407 
408  if (((ihit == 20 * nhit) || (ihit == 100 * nhit)) && ihit >= 100) {
410  "TFCSLateralShapeParametrizationHitChain::simulate(): Iterated "
411  << ihit << " times, expected " << nhit << " times. Deposited E("
412  << cs << ")=" << sumEhit << " expected E=" << Elayer);
413  }
414  if (ihit >= 1000 * nhit && ihit >= 1000) {
415  ATH_MSG_DEBUG("TFCSLateralShapeParametrizationHitChain::simulate():"
416  " Aborting hit chain, iterated "
417  << ihit << " times, expected " << nhit
418  << " times. Deposited E(" << cs << ")=" << sumEhit
419  << " expected E=" << Elayer << ", caused by:");
420  if (debug) Print();
421  break;
422  }
423  } else {
424  if (ifail >= retry) {
425  ATH_MSG_ERROR("TFCSLateralShapeParametrizationHitChain::simulate(): "
426  "simulate_hit call failed after "
427  << ifail << "/" << retry
428  << "retries, total fails=" << itotalfail);
429  if (debug)
430  PropagateMSGLevel(old_level);
431  return FCSFatal;
432  }
433  if (ifail >= retry_warning) {
434  ATH_MSG_WARNING("TFCSLateralShapeParametrizationHitChain::simulate():"
435  " retry simulate_hit calls "
436  << ifail << "/" << retry
437  << ", total fails=" << itotalfail);
438  }
439  }
440  } while (std::abs(sumEhit) < std::abs(Elayer));
441  }
442 
443  if (debug)
444  PropagateMSGLevel(old_level);
445  return FCSSuccess;
446 }

◆ size()

unsigned int TFCSLateralShapeParametrizationHitChain::size ( ) const
overridevirtual

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 65 of file TFCSLateralShapeParametrizationHitChain.cxx.

65  {
67  return m_chain.size() + 1;
68  else
69  return m_chain.size();
70 }

◆ 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 }

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_calosample

int TFCSLateralShapeParametrization::m_calosample
privateinherited

Definition at line 47 of file TFCSLateralShapeParametrization.h.

◆ m_chain

Chain_t TFCSLateralShapeParametrizationHitChain::m_chain
protected

Definition at line 94 of file TFCSLateralShapeParametrizationHitChain.h.

◆ m_Ekin_bin

int TFCSLateralShapeParametrization::m_Ekin_bin
privateinherited

Definition at line 46 of file TFCSLateralShapeParametrization.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_ninit

unsigned int TFCSLateralShapeParametrizationHitChain::m_ninit = 0
private

Definition at line 104 of file TFCSLateralShapeParametrizationHitChain.h.

◆ m_nm

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

Message source name.

Definition at line 211 of file MLogging.h.

◆ m_number_of_hits_simul

TFCSLateralShapeParametrizationHitBase* TFCSLateralShapeParametrizationHitChain::m_number_of_hits_simul
private

Definition at line 103 of file TFCSLateralShapeParametrizationHitChain.h.

◆ m_pdgid

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

Definition at line 63 of file TFCSParametrization.h.

◆ s_max_sigma2_fluctuation

constexpr float TFCSLateralShapeParametrizationHitChain::s_max_sigma2_fluctuation = 1000
staticconstexpr

Definition at line 87 of file TFCSLateralShapeParametrizationHitChain.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
GeoLoadGpu::get_geoPtr
GeoGpu * get_geoPtr() const
Definition: GeoLoadGpu.h:44
TFCSLateralShapeParametrizationHitChain::get_number_of_hits
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once, as it could contain a random number.
Definition: TFCSLateralShapeParametrizationHitChain.cxx:125
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
TFCSHitCellMappingWiggle
Definition: TFCSHitCellMappingWiggle.h:20
TFCSParametrization::set_Ekin_nominal
virtual void set_Ekin_nominal(double min)
Definition: TFCSParametrization.cxx:39
FCSReturnCode
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
Definition: TFCSParametrizationBase.h:41
TFCSLateralShapeParametrizationHitBase::simulate_hit
virtual FCSReturnCode simulate_hit(Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol)
simulated one hit position with some energy.
Definition: TFCSLateralShapeParametrizationHitBase.cxx:50
TFCSLateralShapeParametrizationHitBase::Hit::reset_center
void reset_center()
Definition: TFCSLateralShapeParametrizationHitBase.h:71
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
checkFileSG.line
line
Definition: checkFileSG.py:75
TFCSParametrizationBase::init_eta_nominal
static constexpr double init_eta_nominal
Do not persistify!
Definition: TFCSParametrizationBase.h:156
max
#define max(a, b)
Definition: cfImp.cxx:41
TFCSLateralShapeParametrization::set_pdgid_Ekin_eta_Ekin_bin_calosample
virtual void set_pdgid_Ekin_eta_Ekin_bin_calosample(const TFCSLateralShapeParametrization &ref)
Definition: TFCSLateralShapeParametrization.cxx:25
TFCSParametrizationBase::init_Ekin_min
static constexpr double init_Ekin_min
Do not persistify!
Definition: TFCSParametrizationBase.h:154
TFCSHistoLateralShapeParametrization
Definition: TFCSHistoLateralShapeParametrization.h:20
IsA
#define IsA
Declare the TObject style functions.
Definition: xAODTEventBranch.h:59
TFCSLateralShapeParametrization::Ekin_bin
int Ekin_bin() const
Definition: TFCSLateralShapeParametrization.h:31
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TFCSParametrization::Ekin_max
double Ekin_max() const override
Definition: TFCSParametrization.h:37
CaloDetDescrElement_Gpu
Definition: CaloDetDescrElement_g.h:10
TFCSParametrizationBase::init_eta_min
static constexpr double init_eta_min
Do not persistify!
Definition: TFCSParametrizationBase.h:157
TFCSLateralShapeParametrization::m_Ekin_bin
int m_Ekin_bin
Definition: TFCSLateralShapeParametrization.h:46
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
index
Definition: index.py:1
ISF_FCS::MLogging::level
MSG::Level level() const
Retrieve output level.
Definition: MLogging.h:201
TFCSHistoLateralShapeGausLogWeight
Definition: TFCSHistoLateralShapeGausLogWeight.h:16
TFCSLateralShapeParametrizationHitBase::Hit::reset
void reset()
Definition: TFCSLateralShapeParametrizationHitBase.h:78
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
TFCSLateralShapeParametrizationHitChain::init_hit
virtual FCSReturnCode init_hit(TFCSLateralShapeParametrizationHitBase::Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Definition: TFCSLateralShapeParametrizationHitChain.cxx:207
TFCSParametrization::set_pdgid_Ekin_eta
virtual void set_pdgid_Ekin_eta(const TFCSParametrizationBase &ref)
Definition: TFCSParametrization.cxx:72
TFCSParametrization::m_eta_nominal
double m_eta_nominal
Definition: TFCSParametrization.h:65
TFCSCenterPositionCalculation
Definition: TFCSCenterPositionCalculation.h:11
skel.it
it
Definition: skel.GENtoEVGEN.py:423
TFCSParametrizationBase::FindDuplicates
void FindDuplicates(FindDuplicateClasses_t &dup)
Definition: TFCSParametrizationBase.cxx:90
TFCSLateralShapeParametrization::Print
void Print(Option_t *option="") const override
Definition: TFCSLateralShapeParametrization.cxx:53
TFCSLateralShapeParametrizationHitChain::PropagateMSGLevel
void PropagateMSGLevel(MSG::Level level) const
Definition: TFCSLateralShapeParametrizationHitChain.cxx:201
bin
Definition: BinsDiffFromStripMedian.h:43
TFCSParametrization::set_Ekin_max
virtual void set_Ekin_max(double max)
Definition: TFCSParametrization.cxx:45
athena.value
value
Definition: athena.py:122
TFCSParametrizationBase::init_eta_max
static constexpr double init_eta_max
Do not persistify!
Definition: TFCSParametrizationBase.h:158
TFCSParametrization::m_eta_max
double m_eta_max
Definition: TFCSParametrization.h:65
TFCSLateralShapeParametrizationHitBase::Hit
Definition: TFCSLateralShapeParametrizationHitBase.h:42
RunActsMaterialValidation.extrapol
extrapol
Definition: RunActsMaterialValidation.py:90
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
CaloDetDescrElement_Gpu::phi
CUDA_HOSTDEV float phi() const
cell phi
Definition: CaloDetDescrElement_g.h:228
TFCSLateralShapeParametrizationHitBase::get_sigma2_fluctuation
virtual double get_sigma2_fluctuation(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Give the effective size sigma^2 of the fluctuations that should be generated by the amount of generat...
Definition: TFCSLateralShapeParametrizationHitBase.cxx:19
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
TFCSLateralShapeParametrization::TFCSLateralShapeParametrization
TFCSLateralShapeParametrization(const char *name=nullptr, const char *title=nullptr)
Definition: TFCSLateralShapeParametrization.cxx:13
TFCSLateralShapeParametrizationHitChain::size
virtual unsigned int size() const override
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
Definition: TFCSLateralShapeParametrizationHitChain.cxx:65
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
TFCSLateralShapeParametrizationHitBase
Definition: TFCSLateralShapeParametrizationHitBase.h:13
TFCSLateralShapeParametrizationHitChain::get_E_hit
virtual float get_E_hit(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Get hit energy from layer energy and number of hits.
Definition: TFCSLateralShapeParametrizationHitChain.cxx:162
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
TFCSLateralShapeParametrizationHitChain::getMaxWeight
virtual float getMaxWeight() const
Definition: TFCSLateralShapeParametrizationHitChain.cxx:153
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
CaloDetDescrElement_Gpu::eta
CUDA_HOSTDEV float eta() const
cell eta
Definition: CaloDetDescrElement_g.h:227
TFCSLateralShapeParametrizationHitBase::Hit::E
float & E()
Definition: TFCSLateralShapeParametrizationHitBase.h:90
CaloGpuGeneral::simulate_hits
void simulate_hits(float, int, Chain0_Args &, bool)
Definition: CaloGpuGeneral.cxx:45
TFCSParametrizationBase
Definition: TFCSParametrizationBase.h:46
TFCSLateralShapeParametrization::set_calosample
void set_calosample(int cs)
Definition: TFCSLateralShapeParametrization.cxx:21
TFCSLateralShapeParametrizationHitChain::s_max_sigma2_fluctuation
static constexpr float s_max_sigma2_fluctuation
Definition: TFCSLateralShapeParametrizationHitChain.h:87
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::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
TFCSLateralShapeParametrizationHitChain::get_nr_of_init
unsigned int get_nr_of_init() const
Definition: TFCSLateralShapeParametrizationHitChain.h:57
lumiFormat.i
int i
Definition: lumiFormat.py:92
TFCSLateralShapeParametrization::set_Ekin_bin
void set_Ekin_bin(int bin)
Definition: TFCSLateralShapeParametrization.cxx:17
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TFCSSimulationState::deposit
void deposit(const CaloDetDescrElement *cellele, float E)
Definition: TFCSSimulationState.cxx:31
TFCSParametrizationBase::FindDuplicateClasses_t
std::map< std::string, FindDuplicates_t > FindDuplicateClasses_t
Definition: TFCSParametrizationBase.h:142
top::nominal
@ nominal
Definition: ScaleFactorRetriever.h:29
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
GeoLoadGpu::get_ncells
unsigned long get_ncells() const
Definition: GeoLoadGpu.h:46
TFCSParametrization::m_Ekin_min
double m_Ekin_min
Definition: TFCSParametrization.h:64
jobOptions.ParticleID
ParticleID
Definition: jobOptions.decayer.py:85
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::FindDuplicates_t
std::map< TFCSParametrizationBase *, Duplicate_t > FindDuplicates_t
Definition: TFCSParametrizationBase.h:141
FCSFatal
@ FCSFatal
Definition: TFCSParametrizationBase.h:41
SUBPOS_ENT
@ SUBPOS_ENT
Definition: FastCaloSim_CaloCell_ID.h:12
GeoLoadGpu::index2cell
const CaloDetDescrElement_Gpu * index2cell(unsigned long index)
Definition: GeoLoadGpu.h:34
TFCSLateralShapeParametrizationHitChain::m_number_of_hits_simul
TFCSLateralShapeParametrizationHitBase * m_number_of_hits_simul
Definition: TFCSLateralShapeParametrizationHitChain.h:103
Chain0_Args
Definition: Args.h:17
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
min
#define min(a, b)
Definition: cfImp.cxx:40
merge.output
output
Definition: merge.py:17
TFCSLateralShapeParametrizationHitChain::m_ninit
unsigned int m_ninit
Definition: TFCSLateralShapeParametrizationHitChain.h:104
TFCSLateralShapeParametrizationHitBase::get_number_of_hits
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once per shower simulation, as it could be calculated with random numb...
Definition: TFCSLateralShapeParametrizationHitBase.cxx:25
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
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
pmontree.opt
opt
Definition: pmontree.py:16
TFCSParametrization::set_eta_nominal
virtual void set_eta_nominal(double min)
Definition: TFCSParametrization.cxx:47
plotBeamSpotVxVal.bin
int bin
Definition: plotBeamSpotVxVal.py:83
TFCSTruthState::pdgid
int pdgid() const
Definition: TFCSTruthState.h:25
TFCSParametrizationBase::init_Ekin_nominal
static constexpr double init_Ekin_nominal
Definition: TFCSParametrizationBase.h:153
GeoLoadGpu
Definition: GeoLoadGpu.h:17
SUBPOS_EXT
@ SUBPOS_EXT
Definition: FastCaloSim_CaloCell_ID.h:13
DeMoScan.index
string index
Definition: DeMoScan.py:362
TFCSLateralShapeParametrizationHitChain::m_chain
Chain_t m_chain
Definition: TFCSLateralShapeParametrizationHitChain.h:94
TFCSLateralShapeParametrization::calosample
int calosample() const
Definition: TFCSLateralShapeParametrization.h:34
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ref
const boost::regex ref(r_ef)
LArCellConditions.geo
bool geo
Definition: LArCellConditions.py:46
python.TriggerHandler.verbose
verbose
Definition: TriggerHandler.py:297
DEBUG
#define DEBUG
Definition: page_access.h:11
CxxUtils::reset
constexpr std::enable_if_t< is_bitmask_v< E >, E & > reset(E &lhs, E rhs)
Convenience function to clear bits in a class enum bitmask.
Definition: bitmask.h:243
TFCSParametrization::set_eta_min
virtual void set_eta_min(double min)
Definition: TFCSParametrization.cxx:51
TFCSSimulationState::E
double E() const
Definition: TFCSSimulationState.h:42
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
TFCSLateralShapeParametrization
Definition: TFCSLateralShapeParametrization.h:10
TFCSLateralShapeParametrization::m_calosample
int m_calosample
Definition: TFCSLateralShapeParametrization.h:47
TFCSParametrizationBase::size
virtual unsigned int size() const
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
Definition: TFCSParametrizationBase.h:93
MIN_GPU_HITS
#define MIN_GPU_HITS
Definition: CaloGpuGeneral.h:11
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
TFCSLateralShapeParametrizationHitChain::chain
const Chain_t & chain() const
Definition: TFCSLateralShapeParametrizationHitChain.h:50
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
physval_make_web_display.failed
bool failed
Definition: physval_make_web_display.py:290
ISF_FCS::MLogging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Check whether the logging system is active at the provided verbosity level.
Definition: MLogging.h:222
TFCSLateralShapeParametrizationHitChain::Print
void Print(Option_t *option="") const override
Do not persistify!
Definition: TFCSLateralShapeParametrizationHitChain.cxx:448