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

nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_ANALYSIS if !defined(TRIGSTEERINGEVENT_TRIGROIDESCRIPTOR_H) && !defined(XAOD_STANDALONE) More...

#include <TrigRoiDescriptor.h>

Inheritance diagram for TrigRoiDescriptor:
Collaboration diagram for TrigRoiDescriptor:

Public Types

typedef std::vector< const IRoiDescriptor * >::const_iterator roi_iterator
 

Public Member Functions

 TrigRoiDescriptor (bool fullscan=false)
 default constructor More...
 
 TrigRoiDescriptor (double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault)
 constructor More...
 
 TrigRoiDescriptor (unsigned int l1id, unsigned int id, double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault)
 constructor More...
 
 TrigRoiDescriptor (unsigned int roiWord, unsigned int l1id, unsigned int id, double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed=0, double zedMinus=-s_zedWidthDefault, double zedPlus=s_zedWidthDefault)
 constructor More...
 
 TrigRoiDescriptor (const IRoiDescriptor &roi)
 
 TrigRoiDescriptor (const TrigRoiDescriptor &roi)
 
TrigRoiDescriptoroperator= (const IRoiDescriptor &roi)
 
TrigRoiDescriptoroperator= (const TrigRoiDescriptor &roi)
 
virtual ~TrigRoiDescriptor ()
 
virtual unsigned int roiId () const override final
 these quantities probably don't need to be used any more More...
 
virtual unsigned int l1Id () const override final
 
virtual unsigned int roiWord () const override final
 
virtual operator std::string () const override
 output More...
 
virtual double phi () const override final
 Methods to retrieve data members. More...
 
virtual double eta () const override final
 
virtual double zed () const override final
 
virtual double zedPlus () const override final
 z at the most forward end of the RoI More...
 
virtual double zedMinus () const override final
 z at the most backward end of the RoI More...
 
virtual double etaPlus () const override final
 gets eta at zedPlus More...
 
virtual double etaMinus () const override final
 gets eta at zMinus More...
 
virtual double phiPlus () const override final
 gets phiPlus More...
 
virtual double phiMinus () const override final
 gets phiMinus More...
 
virtual int version () const override final
 versioning More...
 
void version (int v)
 
virtual bool isFullscan () const override final
 is this a full scan RoI? More...
 
virtual bool composite () const override final
 SuperRoI compatability methods. More...
 
void setComposite (bool b=true)
 
bool manageConstituents () const
 always manage constituents ??? More...
 
void manageConstituents (bool b)
 
virtual unsigned size () const override final
 number of constituents More...
 
virtual const IRoiDescriptorat (int i) const override final
 find an RoiDescriptor constituent More...
 
void clear ()
 clear the vector More...
 
void reserve (size_t s)
 reserve elements in vector More...
 
void push_back (const IRoiDescriptor *roi)
 add a RoiDescriptor More...
 
virtual roi_iterator begin () const override final
 iterators More...
 
virtual roi_iterator end () const override final
 
virtual double dzdrMinus () const override final
 return the gradients More...
 
virtual double dzdrPlus () const override final
 dz/dr at the front of the RoI More...
 
virtual double drdzMinus () const override final
 dr/dz at the rear of the RoI More...
 
virtual double drdzPlus () const override final
 dr/dz at the front of the RoI More...
 
virtual double zedMin (double r) const override final
 methods to calculate z position at the RoI boundary at a given radius More...
 
virtual double zedMax (double r) const override final
 
virtual double zedOuterPlus () const override final
 z at the most forward end of the RoI More...
 
virtual double zedOuterMinus () const override final
 z at the most backward end of the RoI More...
 
virtual double rhoMin (double z) const override final
 accessors to calculate r position at position z along the RoI boundaries More...
 
virtual double rhoMax (double z) const override final
 

Static Public Member Functions

static double zedWidthDefault ()
 
static void zedWidthDefault (double d)
 set default z-width (but only before any RoiDescriptor has been created) More...
 

Static Public Attributes

static constexpr bool FULLSCAN = true
 convenient More...
 
static constexpr bool ROI = false
 

Protected Member Functions

void construct (double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed, double zedMinus, double zedPlus)
 construct RoiDescriptor internals - similar to constructors More...
 
void construct (const IRoiDescriptor &_roi)
 

Protected Attributes

unsigned int m_l1Id
 lvl1 event number More...
 
unsigned int m_roiId
 RoI number. More...
 
unsigned int m_roiWord
 lvl1 RoI word from which this RoI was initially constructed More...
 
std::vector< uint32_t > m_serialized
 
float m_phi
 phi of RoI center More...
 
float m_eta
 eta of RoI center More...
 
float m_zed
 zed of RoI center More...
 
float m_phiMinus
 most negative RoI in azimuthal More...
 
float m_phiPlus
 most positive RoI in azimuthal More...
 
float m_etaMinus
 eta of RoI at zedMinus More...
 
float m_etaPlus
 eta of RoI at zedPlus More...
 
float m_zedMinus
 z position at most negative position along the beamline More...
 
float m_zedPlus
 z position at most positive position along the beamline More...
 
float m_dzdrMinus
 dz/dr at the rear of the RoI More...
 
float m_dzdrPlus
 dz/dr at the front of the RoI More...
 
float m_drdzMinus
 dr/dz at the rear of the RoI More...
 
float m_drdzPlus
 dr/dz at the front of the RoI More...
 
float m_zedOuterMinus
 z at rear of RoI at the outer radius ( = 1100 mm) More...
 
float m_zedOuterPlus
 z at front of RoI at the outer radius ( = 1100 mm) More...
 
bool m_fullscan
 flag this as a full detector RoI More...
 
bool m_composite
 flag this as a composite RoI More...
 
bool m_manageConstituents
 flag to determine whether consituents should be managed More...
 
int m_version
 transient version identifier More...
 
std::vector< const IRoiDescriptor * > m_roiDescriptors
 roi constituents More...
 

Static Protected Attributes

static std::atomic< double > s_zedWidthDefault = 225
 default parameters - there may be better ways, but this will do More...
 
static std::atomic< bool > s_firstInstanceCreated = false
 to ensure default width is only set once at job startup More...
 

Detailed Description

nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_ANALYSIS if !defined(TRIGSTEERINGEVENT_TRIGROIDESCRIPTOR_H) && !defined(XAOD_STANDALONE)

Describes the Region of Ineterest geometry It has basically 9 parameters

  1. zed : z position of RoI
  2. zedPlus : the most forward zed position of the RoI at the beamline
  3. zedMinus : the most backward zed position of the RoI at the beamline
  4. phi : phi position of RoI
  5. phiPlus : phi at the most anticlockwise position of the RoI
  6. phiMinus : phi at the most clockwise position of the RoI
  7. eta : pseudo-rapidity of RoI at zed
  8. etaPlus : pseudo-rapidity at zedPlus
  9. etaMinus : pseudo-rapidity at zedMinus
    Warning
    An attempt to cnstruct the objects of this calss with phi0 out of allowed range reasults in throwing exception

Definition at line 56 of file TrigRoiDescriptor.h.

Member Typedef Documentation

◆ roi_iterator

typedef std::vector<const IRoiDescriptor*>::const_iterator IRoiDescriptor::roi_iterator
inherited

Definition at line 28 of file IRoiDescriptor.h.

Constructor & Destructor Documentation

◆ TrigRoiDescriptor() [1/6]

TrigRoiDescriptor::TrigRoiDescriptor ( bool  fullscan = false)

default constructor

Parameters
fullscanif fullscan is true, this RoI will span the entire detector

Definition at line 25 of file TrigRoiDescriptor.cxx.

26  : RoiDescriptor( fullscan ),
27  m_l1Id(0), m_roiId(0), m_roiWord(0)
28 { }

◆ TrigRoiDescriptor() [2/6]

TrigRoiDescriptor::TrigRoiDescriptor ( double  eta,
double  etaMinus,
double  etaPlus,
double  phi,
double  phiMinus,
double  phiPlus,
double  zed = 0,
double  zedMinus = -s_zedWidthDefault,
double  zedPlus = s_zedWidthDefault 
)

constructor

Parameters
etaeta of RoI
etaMinuseta at rear of RoI
etaPluseta at front of RoI
phiphi of RoI
phiMinusminimum phi of RoI
phiPlusmaximum phi of RoI
zedzed of RoI
zedMinuszed at rear of RoI
zedPluszed at front of RoI

Definition at line 32 of file TrigRoiDescriptor.cxx.

◆ TrigRoiDescriptor() [3/6]

TrigRoiDescriptor::TrigRoiDescriptor ( unsigned int  l1id,
unsigned int  id,
double  eta,
double  etaMinus,
double  etaPlus,
double  phi,
double  phiMinus,
double  phiPlus,
double  zed = 0,
double  zedMinus = -s_zedWidthDefault,
double  zedPlus = s_zedWidthDefault 
)

constructor

Parameters
l1idis event number asigned by LVL1 trigger
idRoI number within event (0,1,.....)
etaeta of RoI
etaMinuseta at rear of RoI
etaPluseta at front of RoI
phiphi of RoI
phiMinusminimum phi of RoI
phiPlusmaximum phi of RoI
zedzed of RoI
zedMinuszed at rear of RoI
zedPluszed at front of RoI

Definition at line 40 of file TrigRoiDescriptor.cxx.

45  m_l1Id(l1id), m_roiId(id), m_roiWord(0)
46 { }

◆ TrigRoiDescriptor() [4/6]

TrigRoiDescriptor::TrigRoiDescriptor ( unsigned int  roiWord,
unsigned int  l1id,
unsigned int  id,
double  eta,
double  etaMinus,
double  etaPlus,
double  phi,
double  phiMinus,
double  phiPlus,
double  zed = 0,
double  zedMinus = -s_zedWidthDefault,
double  zedPlus = s_zedWidthDefault 
)

constructor

Parameters
roiWordLVL1 trigger decision word
l1idis event number asigned by LVL1 trigger
idRoI number within event (0,1,.....)
etaeta of RoI
etaMinuseta at rear of RoI
etaPluseta at front of RoI
phiphi of RoI
phiMinusminimum phi of RoI
phiPlusmaximum phi of RoI
zedzed of RoI
zedMinuszed at rear of RoI
zedPluszed at front of RoI

Definition at line 50 of file TrigRoiDescriptor.cxx.

◆ TrigRoiDescriptor() [5/6]

TrigRoiDescriptor::TrigRoiDescriptor ( const IRoiDescriptor roi)

Definition at line 60 of file TrigRoiDescriptor.cxx.

61  : RoiDescriptor( roi ),
62  m_l1Id(roi.l1Id()), m_roiId(roi.roiId()), m_roiWord(roi.roiWord()) {
63 }

◆ TrigRoiDescriptor() [6/6]

TrigRoiDescriptor::TrigRoiDescriptor ( const TrigRoiDescriptor roi)

Definition at line 65 of file TrigRoiDescriptor.cxx.

65 : TrigRoiDescriptor( static_cast<const IRoiDescriptor&>(roi) ) { }

◆ ~TrigRoiDescriptor()

TrigRoiDescriptor::~TrigRoiDescriptor ( )
virtual

Definition at line 98 of file TrigRoiDescriptor.cxx.

98 { }

Member Function Documentation

◆ at()

virtual const IRoiDescriptor* RoiDescriptor::at ( int  i) const
inlinefinaloverridevirtualinherited

find an RoiDescriptor constituent

Implements IRoiDescriptor.

Definition at line 148 of file RoiDescriptor.h.

148 { return m_roiDescriptors.at(i); }

◆ begin()

virtual roi_iterator RoiDescriptor::begin ( ) const
inlinefinaloverridevirtualinherited

iterators

Implements IRoiDescriptor.

Definition at line 160 of file RoiDescriptor.h.

160 { return m_roiDescriptors.begin(); }

◆ clear()

void RoiDescriptor::clear ( )
inlineinherited

clear the vector

Definition at line 151 of file RoiDescriptor.h.

151 { m_roiDescriptors.clear(); } // setComposite(false); }

◆ composite()

virtual bool RoiDescriptor::composite ( ) const
inlinefinaloverridevirtualinherited

SuperRoI compatability methods.

am I a SuperRoi?

Implements IRoiDescriptor.

Definition at line 137 of file RoiDescriptor.h.

137 { return m_composite; }

◆ construct() [1/2]

void RoiDescriptor::construct ( const IRoiDescriptor _roi)
protectedinherited

Definition at line 236 of file RoiDescriptor.cxx.

236  {
237  construct( roi.eta(), roi.etaMinus(), roi.etaPlus(),
238  roi.phi(), roi.phiMinus(), roi.phiPlus(),
239  roi.zed(), roi.zedMinus(), roi.zedPlus() );
240 }

◆ construct() [2/2]

void RoiDescriptor::construct ( double  eta,
double  etaMinus,
double  etaPlus,
double  phi,
double  phiMinus,
double  phiPlus,
double  zed,
double  zedMinus,
double  zedPlus 
)
protectedinherited

construct RoiDescriptor internals - similar to constructors

See also
RoiDescriptor( .... )

NB: deal with float to double issue This is a hack for the region selector - the RS uses double precision for the phi=pi boundary because the RoiDescriptor only uses a float, so pi is represented as 3.14159274 which is > M_PI so we have to subtract 1e-7 a bit to prevent it failing any phi>M_PI conditions

NB: see comment in double RoiDescriptor::phiPlus()

calculate the gradients - very useful these

Definition at line 160 of file RoiDescriptor.cxx.

163 {
164  s_firstInstanceCreated = true;
165 
166  m_eta = eta_;
167  m_phi = phi_;
168  m_zed = zed_;
169 
170  if ( std::isnan(m_eta) ) throw std::invalid_argument( "RoiDescriptor: eta nan" );
171  if ( std::isnan(m_phi) ) throw std::invalid_argument( "RoiDescriptor: phi nan" );
172  if ( std::isnan(m_zed) ) throw std::invalid_argument( "RoiDescriptor: zed nan" );
173 
174 
175  m_etaPlus = etaPlus_;
176  m_etaMinus = etaMinus_;
177 
178  if ( std::isnan(m_etaPlus) ) throw std::invalid_argument( "RoiDescriptor: etaPlus nan" );
179  if ( std::isnan(m_etaMinus) ) throw std::invalid_argument( "RoiDescriptor: etaMinus nan" );
180 
181 
182  m_zedMinus = zedMinus_;
183  m_zedPlus = zedPlus_;
184 
185  if ( std::isnan(m_zedPlus) ) throw std::invalid_argument( "RoiDescriptor: zedPlus nan" );
186  if ( std::isnan(m_zedMinus) ) throw std::invalid_argument( "RoiDescriptor: zedMinus nan" );
187 
188 
189  // deal with double -> float M_PI conversion
190 
191  m_phiPlus = phiPlus_;
192 
193  if ( std::isnan(m_phiPlus) ) throw std::invalid_argument( "RoiDescriptor: phiPlus nan" );
194 
195 
196  while ( m_phiPlus> M_PIF ) m_phiPlus -= M_2PI;
197  while ( m_phiPlus<-M_PIF ) m_phiPlus += M_2PI;
205  if ( m_phiPlus> M_PI ) m_phiPlus -= 1e-7;
206  if ( m_phiPlus<-M_PI ) m_phiPlus += 1e-7;
207 
208 
209  m_phiMinus = phiMinus_;
210 
211  if ( std::isnan(m_phiMinus) ) throw std::invalid_argument( "RoiDescriptor: phiMinus nan" );
212 
213  while ( m_phiMinus<-M_PIF ) m_phiMinus += M_2PI;
214  while ( m_phiMinus> M_PIF ) m_phiMinus -= M_2PI;
216  if ( m_phiMinus> M_PI ) m_phiMinus -= 1e-7;
217  if ( m_phiMinus<-M_PI ) m_phiMinus += 1e-7;
218 
219 
221 
222  m_drdzMinus = std::tan(2*std::atan(std::exp(-etaMinus_)));
223  m_drdzPlus = std::tan(2*std::atan(std::exp(-etaPlus_)));
224 
227 
228  const double maxR = 1100; // maximum radius of an ID RoI, hmmm should be a configurable parameter?
229 
232 
233 }

◆ drdzMinus()

virtual double RoiDescriptor::drdzMinus ( ) const
inlinefinaloverridevirtualinherited

dr/dz at the rear of the RoI

Implements IRoiDescriptor.

Definition at line 167 of file RoiDescriptor.h.

◆ drdzPlus()

virtual double RoiDescriptor::drdzPlus ( ) const
inlinefinaloverridevirtualinherited

dr/dz at the front of the RoI

Implements IRoiDescriptor.

Definition at line 168 of file RoiDescriptor.h.

◆ dzdrMinus()

virtual double RoiDescriptor::dzdrMinus ( ) const
inlinefinaloverridevirtualinherited

return the gradients

dz/dr at the rear of the RoI

Implements IRoiDescriptor.

Definition at line 164 of file RoiDescriptor.h.

◆ dzdrPlus()

virtual double RoiDescriptor::dzdrPlus ( ) const
inlinefinaloverridevirtualinherited

dz/dr at the front of the RoI

Implements IRoiDescriptor.

Definition at line 165 of file RoiDescriptor.h.

◆ end()

virtual roi_iterator RoiDescriptor::end ( ) const
inlinefinaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 161 of file RoiDescriptor.h.

161 { return m_roiDescriptors.end(); }

◆ eta()

virtual double RoiDescriptor::eta ( ) const
inlinefinaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 101 of file RoiDescriptor.h.

101 { return m_eta; }

◆ etaMinus()

virtual double RoiDescriptor::etaMinus ( ) const
inlinefinaloverridevirtualinherited

gets eta at zMinus

Implements IRoiDescriptor.

Definition at line 116 of file RoiDescriptor.h.

◆ etaPlus()

virtual double RoiDescriptor::etaPlus ( ) const
inlinefinaloverridevirtualinherited

gets eta at zedPlus

Implements IRoiDescriptor.

Definition at line 115 of file RoiDescriptor.h.

◆ isFullscan()

virtual bool RoiDescriptor::isFullscan ( ) const
inlinefinaloverridevirtualinherited

is this a full scan RoI?

Implements IRoiDescriptor.

Definition at line 132 of file RoiDescriptor.h.

132 { return m_fullscan; }

◆ l1Id()

virtual unsigned int TrigRoiDescriptor::l1Id ( ) const
inlinefinaloverridevirtual

Reimplemented from RoiDescriptor.

Definition at line 134 of file TrigRoiDescriptor.h.

134 { return m_l1Id; }

◆ manageConstituents() [1/2]

bool RoiDescriptor::manageConstituents ( ) const
inlineinherited

always manage constituents ???

Definition at line 141 of file RoiDescriptor.h.

141 { return m_manageConstituents; }

◆ manageConstituents() [2/2]

void RoiDescriptor::manageConstituents ( bool  b)
inlineinherited

Definition at line 142 of file RoiDescriptor.h.

◆ operator std::string()

TrigRoiDescriptor::operator std::string ( ) const
overridevirtual

output

Reimplemented from RoiDescriptor.

Definition at line 106 of file TrigRoiDescriptor.cxx.

106  {
107  std::stringstream ss;
108  ss << " RoIid: " << roiId() << " RoIword: " << roiWord() << "\t" << RoiDescriptor::operator::std::string();
109  return ss.str();
110 }

◆ operator=() [1/2]

TrigRoiDescriptor & TrigRoiDescriptor::operator= ( const IRoiDescriptor roi)

for this, should just use the RoiDescriptor::operator=()

manging it's own constituents, so take a deep copy

these are already managed elsewhere, just copy the pointers

Definition at line 69 of file TrigRoiDescriptor.cxx.

69  {
70  if ( this==&roi ) return *this;
71 
72  construct(roi);
73 
74  m_l1Id = roi.l1Id();
75  m_roiId = roi.roiId();
76  m_roiWord = roi.roiWord();
77 
79  if ( roi.size()>0 ) {
80  if ( m_manageConstituents ) {
82  for ( unsigned i=0 ; i<roi.size() ; i++ ) push_back( new TrigRoiDescriptor( *roi.at(i) ) );
83  }
84  else {
86  for ( unsigned i=0 ; i<roi.size() ; i++ ) push_back( roi.at(i) );
87  }
88  }
89 
90  return *this;
91 }

◆ operator=() [2/2]

TrigRoiDescriptor & TrigRoiDescriptor::operator= ( const TrigRoiDescriptor roi)

Definition at line 94 of file TrigRoiDescriptor.cxx.

94  {
95  return TrigRoiDescriptor::operator=( static_cast<const IRoiDescriptor&>(roi) );
96 }

◆ phi()

virtual double RoiDescriptor::phi ( ) const
inlinefinaloverridevirtualinherited

Methods to retrieve data members.

directions

Implements IRoiDescriptor.

Definition at line 100 of file RoiDescriptor.h.

100 { return m_phi; }

◆ phiMinus()

virtual double RoiDescriptor::phiMinus ( ) const
inlinefinaloverridevirtualinherited

gets phiMinus

Implements IRoiDescriptor.

Definition at line 119 of file RoiDescriptor.h.

◆ phiPlus()

virtual double RoiDescriptor::phiPlus ( ) const
inlinefinaloverridevirtualinherited

gets phiPlus

Implements IRoiDescriptor.

Definition at line 118 of file RoiDescriptor.h.

◆ push_back()

void RoiDescriptor::push_back ( const IRoiDescriptor roi)
inlineinherited

add a RoiDescriptor

Definition at line 157 of file RoiDescriptor.h.

157 { m_roiDescriptors.push_back(roi); setComposite(true); }

◆ reserve()

void RoiDescriptor::reserve ( size_t  s)
inlineinherited

reserve elements in vector

Definition at line 154 of file RoiDescriptor.h.

154 { m_roiDescriptors.reserve(s); }

◆ rhoMax()

double RoiDescriptor::rhoMax ( double  z) const
finaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 248 of file RoiDescriptor.cxx.

248 { return (z-m_zedPlus)*m_drdzPlus ; }

◆ rhoMin()

double RoiDescriptor::rhoMin ( double  z) const
finaloverridevirtualinherited

accessors to calculate r position at position z along the RoI boundaries

Implements IRoiDescriptor.

Definition at line 247 of file RoiDescriptor.cxx.

247 { return (z-m_zedMinus)*m_drdzMinus; }

◆ roiId()

virtual unsigned int TrigRoiDescriptor::roiId ( ) const
inlinefinaloverridevirtual

these quantities probably don't need to be used any more

  • they are implemented here only because we had them in the original legacy interface

Reimplemented from RoiDescriptor.

Definition at line 133 of file TrigRoiDescriptor.h.

133 { return m_roiId; }

◆ roiWord()

virtual unsigned int TrigRoiDescriptor::roiWord ( ) const
inlinefinaloverridevirtual

Reimplemented from RoiDescriptor.

Definition at line 135 of file TrigRoiDescriptor.h.

135 { return m_roiWord; }

◆ setComposite()

void RoiDescriptor::setComposite ( bool  b = true)
inlineinherited

Definition at line 138 of file RoiDescriptor.h.

138 { m_composite=b; }

◆ size()

virtual unsigned RoiDescriptor::size ( ) const
inlinefinaloverridevirtualinherited

number of constituents

Implements IRoiDescriptor.

Definition at line 145 of file RoiDescriptor.h.

145 { return m_roiDescriptors.size(); }

◆ version() [1/2]

virtual int RoiDescriptor::version ( ) const
inlinefinaloverridevirtualinherited

versioning

Implements IRoiDescriptor.

Definition at line 123 of file RoiDescriptor.h.

123 { return m_version; }

◆ version() [2/2]

void RoiDescriptor::version ( int  v)
inlineinherited

Definition at line 124 of file RoiDescriptor.h.

124 { m_version = v; }

◆ zed()

virtual double RoiDescriptor::zed ( ) const
inlinefinaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 102 of file RoiDescriptor.h.

102 { return m_zed; }

◆ zedMax()

double RoiDescriptor::zedMax ( double  r) const
finaloverridevirtualinherited

Implements IRoiDescriptor.

Definition at line 245 of file RoiDescriptor.cxx.

245 { return r*m_dzdrPlus+m_zedPlus; }

◆ zedMin()

double RoiDescriptor::zedMin ( double  r) const
finaloverridevirtualinherited

methods to calculate z position at the RoI boundary at a given radius

Implements IRoiDescriptor.

Definition at line 244 of file RoiDescriptor.cxx.

244 { return r*m_dzdrMinus+m_zedMinus; }

◆ zedMinus()

virtual double RoiDescriptor::zedMinus ( ) const
inlinefinaloverridevirtualinherited

z at the most backward end of the RoI

Implements IRoiDescriptor.

Definition at line 113 of file RoiDescriptor.h.

◆ zedOuterMinus()

virtual double RoiDescriptor::zedOuterMinus ( ) const
inlinefinaloverridevirtualinherited

z at the most backward end of the RoI

Implements IRoiDescriptor.

Definition at line 176 of file RoiDescriptor.h.

◆ zedOuterPlus()

virtual double RoiDescriptor::zedOuterPlus ( ) const
inlinefinaloverridevirtualinherited

z at the most forward end of the RoI

Implements IRoiDescriptor.

Definition at line 175 of file RoiDescriptor.h.

◆ zedPlus()

virtual double RoiDescriptor::zedPlus ( ) const
inlinefinaloverridevirtualinherited

z at the most forward end of the RoI

Implements IRoiDescriptor.

Definition at line 112 of file RoiDescriptor.h.

◆ zedWidthDefault() [1/2]

static double RoiDescriptor::zedWidthDefault ( )
inlinestaticinherited

Definition at line 183 of file RoiDescriptor.h.

183 { return s_zedWidthDefault; }

◆ zedWidthDefault() [2/2]

void RoiDescriptor::zedWidthDefault ( double  d)
staticinherited

set default z-width (but only before any RoiDescriptor has been created)

Definition at line 33 of file RoiDescriptor.cxx.

34 {
36  throw std::runtime_error("Cannot set default z-width because a RoiDescriptor has already been created");
37  }
39 }

Member Data Documentation

◆ FULLSCAN

constexpr bool RoiDescriptor::FULLSCAN = true
staticconstexprinherited

convenient

Definition at line 45 of file RoiDescriptor.h.

◆ m_composite

bool RoiDescriptor::m_composite
protectedinherited

flag this as a composite RoI

Definition at line 233 of file RoiDescriptor.h.

◆ m_drdzMinus

float RoiDescriptor::m_drdzMinus
protectedinherited

dr/dz at the rear of the RoI

Definition at line 226 of file RoiDescriptor.h.

◆ m_drdzPlus

float RoiDescriptor::m_drdzPlus
protectedinherited

dr/dz at the front of the RoI

Definition at line 227 of file RoiDescriptor.h.

◆ m_dzdrMinus

float RoiDescriptor::m_dzdrMinus
protectedinherited

dz/dr at the rear of the RoI

Definition at line 223 of file RoiDescriptor.h.

◆ m_dzdrPlus

float RoiDescriptor::m_dzdrPlus
protectedinherited

dz/dr at the front of the RoI

Definition at line 224 of file RoiDescriptor.h.

◆ m_eta

float RoiDescriptor::m_eta
protectedinherited

eta of RoI center

Definition at line 213 of file RoiDescriptor.h.

◆ m_etaMinus

float RoiDescriptor::m_etaMinus
protectedinherited

eta of RoI at zedMinus

Definition at line 218 of file RoiDescriptor.h.

◆ m_etaPlus

float RoiDescriptor::m_etaPlus
protectedinherited

eta of RoI at zedPlus

Definition at line 219 of file RoiDescriptor.h.

◆ m_fullscan

bool RoiDescriptor::m_fullscan
protectedinherited

flag this as a full detector RoI

Definition at line 232 of file RoiDescriptor.h.

◆ m_l1Id

unsigned int TrigRoiDescriptor::m_l1Id
protected

lvl1 event number

Definition at line 141 of file TrigRoiDescriptor.h.

◆ m_manageConstituents

bool RoiDescriptor::m_manageConstituents
protectedinherited

flag to determine whether consituents should be managed

Definition at line 234 of file RoiDescriptor.h.

◆ m_phi

float RoiDescriptor::m_phi
protectedinherited

phi of RoI center

Definition at line 212 of file RoiDescriptor.h.

◆ m_phiMinus

float RoiDescriptor::m_phiMinus
protectedinherited

most negative RoI in azimuthal

Definition at line 216 of file RoiDescriptor.h.

◆ m_phiPlus

float RoiDescriptor::m_phiPlus
protectedinherited

most positive RoI in azimuthal

Definition at line 217 of file RoiDescriptor.h.

◆ m_roiDescriptors

std::vector<const IRoiDescriptor*> RoiDescriptor::m_roiDescriptors
protectedinherited

roi constituents

Definition at line 238 of file RoiDescriptor.h.

◆ m_roiId

unsigned int TrigRoiDescriptor::m_roiId
protected

RoI number.

Definition at line 142 of file TrigRoiDescriptor.h.

◆ m_roiWord

unsigned int TrigRoiDescriptor::m_roiWord
protected

lvl1 RoI word from which this RoI was initially constructed

Definition at line 143 of file TrigRoiDescriptor.h.

◆ m_serialized

std::vector<uint32_t> TrigRoiDescriptor::m_serialized
protected

Definition at line 145 of file TrigRoiDescriptor.h.

◆ m_version

int RoiDescriptor::m_version
protectedinherited

transient version identifier

Definition at line 236 of file RoiDescriptor.h.

◆ m_zed

float RoiDescriptor::m_zed
protectedinherited

zed of RoI center

Definition at line 214 of file RoiDescriptor.h.

◆ m_zedMinus

float RoiDescriptor::m_zedMinus
protectedinherited

z position at most negative position along the beamline

Definition at line 220 of file RoiDescriptor.h.

◆ m_zedOuterMinus

float RoiDescriptor::m_zedOuterMinus
protectedinherited

z at rear of RoI at the outer radius ( = 1100 mm)

Definition at line 229 of file RoiDescriptor.h.

◆ m_zedOuterPlus

float RoiDescriptor::m_zedOuterPlus
protectedinherited

z at front of RoI at the outer radius ( = 1100 mm)

Definition at line 230 of file RoiDescriptor.h.

◆ m_zedPlus

float RoiDescriptor::m_zedPlus
protectedinherited

z position at most positive position along the beamline

Definition at line 221 of file RoiDescriptor.h.

◆ ROI

constexpr bool RoiDescriptor::ROI = false
staticconstexprinherited

Definition at line 46 of file RoiDescriptor.h.

◆ s_firstInstanceCreated

std::atomic< bool > RoiDescriptor::s_firstInstanceCreated = false
staticprotectedinherited

to ensure default width is only set once at job startup

Definition at line 208 of file RoiDescriptor.h.

◆ s_zedWidthDefault

std::atomic< double > RoiDescriptor::s_zedWidthDefault = 225
staticprotectedinherited

default parameters - there may be better ways, but this will do

Definition at line 206 of file RoiDescriptor.h.


The documentation for this class was generated from the following files:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
beamspotman.r
def r
Definition: beamspotman.py:676
RoiDescriptor::m_composite
bool m_composite
flag this as a composite RoI
Definition: RoiDescriptor.h:233
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
RoiDescriptor::zedMinus
virtual double zedMinus() const override final
z at the most backward end of the RoI
Definition: RoiDescriptor.h:113
RoiDescriptor::m_eta
float m_eta
eta of RoI center
Definition: RoiDescriptor.h:213
hist_file_dump.d
d
Definition: hist_file_dump.py:137
RoiDescriptor::m_etaMinus
float m_etaMinus
eta of RoI at zedMinus
Definition: RoiDescriptor.h:218
IRoiDescriptor::size
virtual unsigned size() const =0
number of constituents
M_PI
#define M_PI
Definition: ActiveFraction.h:11
TrigRoiDescriptor::roiWord
virtual unsigned int roiWord() const override final
Definition: TrigRoiDescriptor.h:135
TrigRoiDescriptor::m_roiWord
unsigned int m_roiWord
lvl1 RoI word from which this RoI was initially constructed
Definition: TrigRoiDescriptor.h:143
RoiDescriptor::m_manageConstituents
bool m_manageConstituents
flag to determine whether consituents should be managed
Definition: RoiDescriptor.h:234
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
RoiDescriptor::m_zedOuterPlus
float m_zedOuterPlus
z at front of RoI at the outer radius ( = 1100 mm)
Definition: RoiDescriptor.h:230
TrigRoiDescriptor::TrigRoiDescriptor
TrigRoiDescriptor(bool fullscan=false)
default constructor
Definition: TrigRoiDescriptor.cxx:25
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
RoiDescriptor::push_back
void push_back(const IRoiDescriptor *roi)
add a RoiDescriptor
Definition: RoiDescriptor.h:157
RoiDescriptor::m_zedPlus
float m_zedPlus
z position at most positive position along the beamline
Definition: RoiDescriptor.h:221
RoiDescriptor::s_zedWidthDefault
static std::atomic< double > s_zedWidthDefault
default parameters - there may be better ways, but this will do
Definition: RoiDescriptor.h:206
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
TrigRoiDescriptor::m_roiId
unsigned int m_roiId
RoI number.
Definition: TrigRoiDescriptor.h:142
TrigRoiDescriptor::operator=
TrigRoiDescriptor & operator=(const IRoiDescriptor &roi)
Definition: TrigRoiDescriptor.cxx:69
IRoiDescriptor
Describes the API of the Region of Ineterest geometry.
Definition: IRoiDescriptor.h:23
RoiDescriptor::m_zedOuterMinus
float m_zedOuterMinus
z at rear of RoI at the outer radius ( = 1100 mm)
Definition: RoiDescriptor.h:229
RoiDescriptor::m_phiPlus
float m_phiPlus
most positive RoI in azimuthal
Definition: RoiDescriptor.h:217
IRoiDescriptor::roiId
virtual unsigned int roiId() const =0
identifiers
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
RoiDescriptor::m_drdzMinus
float m_drdzMinus
dr/dz at the rear of the RoI
Definition: RoiDescriptor.h:226
RoiDescriptor::m_dzdrMinus
float m_dzdrMinus
dz/dr at the rear of the RoI
Definition: RoiDescriptor.h:223
RoiDescriptor::m_drdzPlus
float m_drdzPlus
dr/dz at the front of the RoI
Definition: RoiDescriptor.h:227
RoiDescriptor::m_zedMinus
float m_zedMinus
z position at most negative position along the beamline
Definition: RoiDescriptor.h:220
RoiDescriptor::m_roiDescriptors
std::vector< const IRoiDescriptor * > m_roiDescriptors
roi constituents
Definition: RoiDescriptor.h:238
RoiDescriptor::RoiDescriptor
RoiDescriptor(bool fullscan=ROI)
default constructor
Definition: RoiDescriptor.cxx:41
RoiDescriptor::zed
virtual double zed() const override final
Definition: RoiDescriptor.h:102
IRoiDescriptor::l1Id
virtual unsigned int l1Id() const =0
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrigRoiDescriptor::roiId
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more
Definition: TrigRoiDescriptor.h:133
RoiDescriptor::m_dzdrPlus
float m_dzdrPlus
dz/dr at the front of the RoI
Definition: RoiDescriptor.h:224
python.PyAthena.v
v
Definition: PyAthena.py:154
RoiDescriptor::etaPlus
virtual double etaPlus() const override final
gets eta at zedPlus
Definition: RoiDescriptor.h:115
RoiDescriptor::m_zed
float m_zed
zed of RoI center
Definition: RoiDescriptor.h:214
RoiDescriptor::phi
virtual double phi() const override final
Methods to retrieve data members.
Definition: RoiDescriptor.h:100
RoiDescriptor::s_firstInstanceCreated
static std::atomic< bool > s_firstInstanceCreated
to ensure default width is only set once at job startup
Definition: RoiDescriptor.h:208
RoiDescriptor::eta
virtual double eta() const override final
Definition: RoiDescriptor.h:101
RoiDescriptor::m_fullscan
bool m_fullscan
flag this as a full detector RoI
Definition: RoiDescriptor.h:232
RoiDescriptor::setComposite
void setComposite(bool b=true)
Definition: RoiDescriptor.h:138
M_2PI
#define M_2PI
Definition: CaloGpuGeneral_fnc.cxx:8
RoiDescriptor::phiPlus
virtual double phiPlus() const override final
gets phiPlus
Definition: RoiDescriptor.h:118
RoiDescriptor::etaMinus
virtual double etaMinus() const override final
gets eta at zMinus
Definition: RoiDescriptor.h:116
RoiDescriptor::m_phiMinus
float m_phiMinus
most negative RoI in azimuthal
Definition: RoiDescriptor.h:216
IRoiDescriptor::at
virtual const IRoiDescriptor * at(int i) const =0
find an RoiDescriptor constituent
RoiDescriptor::m_phi
float m_phi
phi of RoI center
Definition: RoiDescriptor.h:212
RoiDescriptor::phiMinus
virtual double phiMinus() const override final
gets phiMinus
Definition: RoiDescriptor.h:119
IRoiDescriptor::roiWord
virtual unsigned int roiWord() const =0
RoiDescriptor::m_etaPlus
float m_etaPlus
eta of RoI at zedPlus
Definition: RoiDescriptor.h:219
RoiDescriptor::m_version
int m_version
transient version identifier
Definition: RoiDescriptor.h:236
TrigRoiDescriptor::m_l1Id
unsigned int m_l1Id
lvl1 event number
Definition: TrigRoiDescriptor.h:141
RoiDescriptor::construct
void construct(double eta, double etaMinus, double etaPlus, double phi, double phiMinus, double phiPlus, double zed, double zedMinus, double zedPlus)
construct RoiDescriptor internals - similar to constructors
Definition: RoiDescriptor.cxx:160
RoiDescriptor::zedPlus
virtual double zedPlus() const override final
z at the most forward end of the RoI
Definition: RoiDescriptor.h:112