ATLAS Offline Software
Loading...
Searching...
No Matches
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 }
#define M_PI
Scalar phi() const
phi method

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