ATLAS Offline Software
Classes | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
VP1CaloClusterCollection::Imp Class Reference
Collaboration diagram for VP1CaloClusterCollection::Imp:

Classes

class  ClusterHandle
 

Public Member Functions

double calculateHighestVisibleClusterEnergy () const
 
double energyToLength (const double &energy)
 
bool cut (ClusterHandle *c)
 
void recheckCut (ClusterHandle *c)
 

Public Attributes

VP1CaloClusterCollectiontheclass = nullptr
 
CaloClusterSysControllercontroller = nullptr
 
VP1ExtraSepLayerHelpersephelper = nullptr
 
QString key
 
bool considerTransverseEnergies = false
 
QPair< bool, double > scale
 
bool showOutlines = false
 
VP1Interval allowedEnergies
 
VP1Interval allowedEta
 
QList< VP1IntervalallowedPhi
 
double last_highestEnergy = 0.0
 
QList< ClusterHandle * > clusters
 

Static Public Attributes

static const double calo_start_r = 1.1*CLHEP::m + 0.05*CLHEP::m
 
static const double calo_start_z = 3.671*CLHEP::m + 0.05*CLHEP::m
 
static const double calo_crack_eta = fabs(log(tan(0.5*atan(calo_start_r/calo_start_z))))
 

Detailed Description

Definition at line 46 of file VP1CaloClusterCollection.cxx.

Member Function Documentation

◆ calculateHighestVisibleClusterEnergy()

double VP1CaloClusterCollection::Imp::calculateHighestVisibleClusterEnergy ( ) const

Definition at line 230 of file VP1CaloClusterCollection.cxx.

231 {
232  double e = 0;
233  if (theclass->visible()) {
234  for (Imp::ClusterHandle*cluster : clusters) {
235  if (cluster->attached()&&e<cluster->energyForLengthAndCuts(this))
236  e=cluster->energyForLengthAndCuts(this);
237  }
238  }
239  return e;
240 }

◆ cut()

bool VP1CaloClusterCollection::Imp::cut ( ClusterHandle c)
inline

Definition at line 125 of file VP1CaloClusterCollection.cxx.

125  {
126  if (!allowedEnergies.contains(c->energyForLengthAndCuts(this)))
127  return false;
128  if (!allowedEta.contains(c->eta()))
129  return false;
130  double phi(c->phi());
131  for (const VP1Interval& i : allowedPhi) {
132  if (i.contains(phi)||i.contains(phi+2*M_PI)||i.contains(phi-2*M_PI))
133  return true;
134  }
135  return false;
136  }

◆ energyToLength()

double VP1CaloClusterCollection::Imp::energyToLength ( const double &  energy)
inline

Definition at line 62 of file VP1CaloClusterCollection.cxx.

62  {
63  return std::max(1*CLHEP::mm, scale.second*(scale.first?log(1+fabs(energy)):energy));
64  }

◆ recheckCut()

void VP1CaloClusterCollection::Imp::recheckCut ( ClusterHandle c)
inline

Definition at line 138 of file VP1CaloClusterCollection.cxx.

138  {
139  const bool cutval = cut(c);
140  if (cutval!=c->attached()) {
141  if (cutval)
142  c->attach(this);
143  else
144  c->detach(sephelper);
145  }
146  }

Member Data Documentation

◆ allowedEnergies

VP1Interval VP1CaloClusterCollection::Imp::allowedEnergies

Definition at line 56 of file VP1CaloClusterCollection.cxx.

◆ allowedEta

VP1Interval VP1CaloClusterCollection::Imp::allowedEta

Definition at line 57 of file VP1CaloClusterCollection.cxx.

◆ allowedPhi

QList<VP1Interval> VP1CaloClusterCollection::Imp::allowedPhi

Definition at line 58 of file VP1CaloClusterCollection.cxx.

◆ calo_crack_eta

const double VP1CaloClusterCollection::Imp::calo_crack_eta = fabs(log(tan(0.5*atan(calo_start_r/calo_start_z))))
static

Definition at line 68 of file VP1CaloClusterCollection.cxx.

◆ calo_start_r

const double VP1CaloClusterCollection::Imp::calo_start_r = 1.1*CLHEP::m + 0.05*CLHEP::m
static

Definition at line 66 of file VP1CaloClusterCollection.cxx.

◆ calo_start_z

const double VP1CaloClusterCollection::Imp::calo_start_z = 3.671*CLHEP::m + 0.05*CLHEP::m
static

Definition at line 67 of file VP1CaloClusterCollection.cxx.

◆ clusters

QList<ClusterHandle*> VP1CaloClusterCollection::Imp::clusters

Definition at line 148 of file VP1CaloClusterCollection.cxx.

◆ considerTransverseEnergies

bool VP1CaloClusterCollection::Imp::considerTransverseEnergies = false

Definition at line 53 of file VP1CaloClusterCollection.cxx.

◆ controller

CaloClusterSysController* VP1CaloClusterCollection::Imp::controller = nullptr

Definition at line 49 of file VP1CaloClusterCollection.cxx.

◆ key

QString VP1CaloClusterCollection::Imp::key

Definition at line 51 of file VP1CaloClusterCollection.cxx.

◆ last_highestEnergy

double VP1CaloClusterCollection::Imp::last_highestEnergy = 0.0

Definition at line 59 of file VP1CaloClusterCollection.cxx.

◆ scale

QPair<bool,double> VP1CaloClusterCollection::Imp::scale

Definition at line 54 of file VP1CaloClusterCollection.cxx.

◆ sephelper

VP1ExtraSepLayerHelper* VP1CaloClusterCollection::Imp::sephelper = nullptr

Definition at line 50 of file VP1CaloClusterCollection.cxx.

◆ showOutlines

bool VP1CaloClusterCollection::Imp::showOutlines = false

Definition at line 55 of file VP1CaloClusterCollection.cxx.

◆ theclass

VP1CaloClusterCollection* VP1CaloClusterCollection::Imp::theclass = nullptr

Definition at line 48 of file VP1CaloClusterCollection.cxx.


The documentation for this class was generated from the following file:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
M_PI
#define M_PI
Definition: ActiveFraction.h:11
VP1CaloClusterCollection::Imp::allowedEnergies
VP1Interval allowedEnergies
Definition: VP1CaloClusterCollection.cxx:56
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
lumiFormat.i
int i
Definition: lumiFormat.py:85
VP1CaloClusterCollection::Imp::cut
bool cut(ClusterHandle *c)
Definition: VP1CaloClusterCollection.cxx:125
VP1CaloClusterCollection::Imp::scale
QPair< bool, double > scale
Definition: VP1CaloClusterCollection.cxx:54
VP1Interval::contains
bool contains(const double &x) const
VP1CaloClusterCollection::Imp::theclass
VP1CaloClusterCollection * theclass
Definition: VP1CaloClusterCollection.cxx:48
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
VP1Interval
Definition: VP1Interval.h:23
VP1StdCollection::visible
bool visible() const
Definition: VP1StdCollection.cxx:142
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
VP1CaloClusterCollection::Imp::allowedEta
VP1Interval allowedEta
Definition: VP1CaloClusterCollection.cxx:57
VP1CaloClusterCollection::Imp::clusters
QList< ClusterHandle * > clusters
Definition: VP1CaloClusterCollection.cxx:148
VP1CaloClusterCollection::Imp::sephelper
VP1ExtraSepLayerHelper * sephelper
Definition: VP1CaloClusterCollection.cxx:50
python.compressB64.c
def c
Definition: compressB64.py:93
VP1CaloClusterCollection::Imp::allowedPhi
QList< VP1Interval > allowedPhi
Definition: VP1CaloClusterCollection.cxx:58