|  | ATLAS Offline Software
    | 
 
 
 
Class for calo ID helper converters.  
 More...
#include <CaloIDHelper_IDDetDescrCnv.h>
|  | 
| double | phiCorr (double phi) | 
|  | 
| void | ipCorr (double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt) | 
|  | 
template<class T>
class CaloIdCnv::CaloIDHelper_IDDetDescrCnv_T< T >
Class for calo ID helper converters. 
This class implements a calo ID helper converter for the helper type T, using the CaloIDHelper_IDDetDescrCnv base class defined above. It uses make_CaloIDHelper to actually create the helper instance. 
Definition at line 117 of file CaloIDHelper_IDDetDescrCnv.h.
◆ CaloIDHelper_IDDetDescrCnv_T()
Constructor. 
- Parameters
- 
  
    | svcloc | Gaudi service locator. |  
 
 
 
◆ addTrack()
◆ classID()
Return the CLID of the class we create. 
Required by the converter infrastructure. 
 
 
◆ clear()
  
  | 
        
          | void Converter::clear | ( |  | ) |  |  | inlineinherited | 
 
 
◆ createHelper()
Create the helper object. 
- Parameters
- 
  
    | helperKey | StoreGate key of the helper. |  | idhelper[out] | Set to a pointer to the new helper. |  | pObj[out] | Set to a reference to the created helper. |  
 
Implements CaloIdCnv::CaloIDHelper_IDDetDescrCnv.
 
 
◆ createObj()
  
  | 
        
          | StatusCode CaloIdCnv::CaloIDHelper_IDDetDescrCnv::createObj | ( | IOpaqueAddress * | pAddr, |  
          |  |  | DataObject *& | pObj |  
          |  | ) |  |  |  | virtualinherited | 
 
Called by the converter infrastructure to create an object. 
- Parameters
- 
  
    | pAddr | Address of the object to create. |  | pObj[out] | Set to a reference to the created helper. |  
 
Implements DetDescrConverter.
Definition at line 31 of file CaloIDHelper_IDDetDescrCnv.cxx.
   35   std::string type_name;
 
   36   SmartIF<IClassIDSvc> clidsvc{ service (
"ClassIDSvc") };
 
   37   CHECK( clidsvc.isValid() );
 
   38   CHECK( clidsvc->getTypeNameOfID (objType(), type_name) );
 
   44     return StatusCode::FAILURE;
 
   46   std::string helperKey  = *( ddAddr->par() );
 
   47   if (helperKey.empty()) {
 
   66     return StatusCode::FAILURE;
 
   72   return StatusCode::SUCCESS; 
 
 
 
 
◆ createRep()
  
  | 
        
          | StatusCode DetDescrConverter::createRep | ( | DataObject * | pObj, |  
          |  |  | IOpaqueAddress *& | pAddr |  
          |  | ) |  |  |  | virtualinherited | 
 
 
◆ detStore()
◆ fillObjRefs()
  
  | 
        
          | StatusCode DetDescrConverter::fillObjRefs | ( | IOpaqueAddress * | pAddr, |  
          |  |  | DataObject * | pObj |  
          |  | ) |  |  |  | virtualinherited | 
 
 
◆ fillRepRefs()
  
  | 
        
          | StatusCode DetDescrConverter::fillRepRefs | ( | IOpaqueAddress * | pAddr, |  
          |  |  | DataObject * | pObj |  
          |  | ) |  |  |  | virtualinherited | 
 
 
◆ initMessaging()
  
  | 
        
          | void AthMessaging::initMessaging | ( |  | ) | const |  | privateinherited | 
 
Initialize our message level and MessageSvc. 
This method should only be called once. 
Definition at line 39 of file AthMessaging.cxx.
 
 
◆ ipCorr()
  
  | 
        
          | void Converter::ipCorr | ( | double | d0, |  
          |  |  | double | z0, |  
          |  |  | double & | d0c, |  
          |  |  | double & | z0c, |  
          |  |  | double | phi0, |  
          |  |  | double | eta, |  
          |  |  | double | pt |  
          |  | ) |  |  |  | inlineprotectedinherited | 
 
Definition at line 257 of file Converter.h.
  261     double sd0 = (
d0 != 0 ? 
d0/fabs(
d0) : 1);
 
  262     double spt = (
pt != 0 ? 
pt/fabs(
pt) : 1);
 
  270       double rc = fabs(
pt)*15.0/(9.0*1.042);
 
  276       double xd01,yd01,xd02,yd02;
 
  279     xd01 = 0; yd01 = 
rc+yc;
 
  280     xd02 = 0; yd02 = -
rc+yc; 
 
  282     xd01 = xc+yc/xc*yc+sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd01 = yc/xc*xd01;
 
  283     xd02 = xc+yc/xc*yc-sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd02 = yc/xc*xd02;
 
  286       double r1 = sqrt(xd01*xd01+yd01*yd01);
 
  287       double r2 = sqrt(xd02*xd02+yd02*yd02);
 
  292     phiV = atan2(yd01,xd01); 
 
  294     phiV = atan2(yd02,xd02); 
 
  304       d0c = fabs(sqrt(xc*xc+yc*yc)-rc)*
sin(phiV-newphi);
 
  307       double theta_save=
theta;
 
 
 
 
◆ msg() [1/2]
  
  | 
        
          | MsgStream & AthMessaging::msg | ( |  | ) | const |  | inlineinherited | 
 
The standard message stream. 
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked. 
Definition at line 164 of file AthMessaging.h.
 
 
◆ msg() [2/2]
  
  | 
        
          | MsgStream & AthMessaging::msg | ( | const MSG::Level | lvl | ) | const |  | inlineinherited | 
 
The standard message stream. 
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked. 
Definition at line 179 of file AthMessaging.h.
  180 { 
return msg() << lvl; }
 
 
 
◆ msgLvl()
  
  | 
        
          | bool AthMessaging::msgLvl | ( | const MSG::Level | lvl | ) | const |  | inlineinherited | 
 
Test the output level. 
- Parameters
- 
  
    | lvl | The message level to test against |  
 
- Returns
- boolean Indicating if messages at given level will be printed 
- Return values
- 
  
    | true | Messages at level "lvl" will be printed |  
 
Definition at line 151 of file AthMessaging.h.
 
 
◆ phiCorr()
  
  | 
        
          | double Converter::phiCorr | ( | double | phi | ) |  |  | inlineprotectedinherited | 
 
Definition at line 248 of file Converter.h.
  250     if (
phi < -TMath::Pi()) 
phi += 2*TMath::Pi();
 
  251     if (
phi >  TMath::Pi()) 
phi -= 2*TMath::Pi();
 
 
 
 
◆ repSvcType()
  
  | 
        
          | long int CaloIdCnv::CaloIDHelper_IDDetDescrCnv::repSvcType | ( |  | ) | const |  | virtualinherited | 
 
 
◆ selectTracks() [1/3]
Definition at line 177 of file Converter.h.
  179     static int hpmap[20] = { 0, 1, 2,  7, 8, 9,  3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
 
  184     while(muonitr!=muonend) { 
 
  186       bool hasInDet = (*muonitr)->hasInDetTrackParticle();
 
  188       if(hasInDet) trackitr=(*muonitr)->inDetTrackParticle();
 
  190       if(!hasInDet) 
continue;
 
  194       CLHEP::HepVector perigeeParams = measPer->parameters();    
 
  195       double pT    = measPer->pT(); 
 
  196       double eta   = measPer->eta();
 
  223       double dof  = 
quality->quality->numberDoF();
 
  227       for ( 
int ih=0 ; ih<20 ; ih++ ) {
 
  236                                  deta, dphi, dz0, dd0, dpT,
 
  238                                  nStrawHits, nTrHits, bitmap, 0,
 
 
 
 
◆ selectTracks() [2/3]
Definition at line 111 of file Converter.h.
  116     static int hpmap[20] = { 0, 1, 2,  7, 8, 9,  3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
 
  118     while ( trackitr!=trackend ) { 
 
  122       CLHEP::HepVector perigeeParams = measPer->parameters();    
 
  123       double pT    = measPer->pT(); 
 
  124       double eta   = measPer->eta();
 
  147       bool expectBL   = 
false; 
 
  151       double dof  = 
quality->numberDoF();
 
  155       for ( 
int ih=0 ; ih<20 ; ih++ ) {
 
  164                                  deta, dphi, dz0, dd0, dpT,
 
  166                                  nStrawHits, nTrHits, bitmap, 0,
 
 
 
 
◆ selectTracks() [3/3]
Definition at line 56 of file Converter.h.
   61     while ( trackitr!=trackend ) { 
 
   63     double eta    = (*trackitr)->param()->eta();
 
   64     double phi    = (*trackitr)->param()->phi0();
 
   65     double z0     = (*trackitr)->param()->z0(); 
 
   66     double pT     = (*trackitr)->param()->pT(); 
 
   67     double d0     = (*trackitr)->param()->a0();
 
   70     double deta    = (*trackitr)->param()->eeta();
 
   71     double dphi    = (*trackitr)->param()->ephi0();
 
   72     double dz0     = (*trackitr)->param()->ez0(); 
 
   73     double dpT     = (*trackitr)->param()->epT(); 
 
   74     double dd0     = (*trackitr)->param()->ea0();
 
   76     int   algoid  = (*trackitr)->algorithmId();           
 
   78     int nBlayerHits = ((*trackitr)->HitPattern() & 0x1);
 
   79     int nPixelHits  = 2*(*trackitr)->NPixelSpacePoints();  
 
   80     int nSctHits    = 2*(*trackitr)->NSCT_SpacePoints();   
 
   81     int nStrawHits  = (*trackitr)->NStrawHits();
 
   82     int nTrHits     = (*trackitr)->NTRHits();
 
   85     bool expectBL   = 
false;                               
 
   87     unsigned hitPattern = (*trackitr)->HitPattern();
 
   88     unsigned multiPattern = 0;
 
   90     double chi2    = (*trackitr)->chi2();
 
   98                                    deta, dphi, dz0, dd0, dpT, 
 
  100                                    nStrawHits, nTrHits, hitPattern, multiPattern, 
 
 
 
 
◆ setLevel()
  
  | 
        
          | void AthMessaging::setLevel | ( | MSG::Level | lvl | ) |  |  | inherited | 
 
 
◆ storageType()
  
  | 
        
          | long DetDescrConverter::storageType | ( |  | ) |  |  | staticinherited | 
 
 
◆ tracks()
◆ ATLAS_THREAD_SAFE
  
  | 
        
          | std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |  | mutableprivateinherited | 
 
 
◆ m_beamX
  
  | 
        
          | double Converter::m_beamX |  | protectedinherited | 
 
 
◆ m_beamY
  
  | 
        
          | double Converter::m_beamY |  | protectedinherited | 
 
 
◆ m_beamZ
  
  | 
        
          | double Converter::m_beamZ |  | protectedinherited | 
 
 
◆ m_detStore
◆ m_imsg
  
  | 
        
          | std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |  | mutableprivateinherited | 
 
 
◆ m_lvl
  
  | 
        
          | std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |  | mutableprivateinherited | 
 
 
◆ m_msg_tls
  
  | 
        
          | boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |  | mutableprivateinherited | 
 
MsgStream instance (a std::cout like with print-out levels) 
Definition at line 132 of file AthMessaging.h.
 
 
◆ m_nm
  
  | 
        
          | std::string AthMessaging::m_nm |  | privateinherited | 
 
 
◆ m_tracks
The documentation for this class was generated from the following file:
 
def retrieve(aClass, aKey=None)
std::atomic< MSG::Level > m_lvl
Current logging level.
@ numberOfPixelHits
number of pixel layers on track with absence of hits
void ipCorr(double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt)
Const iterator class for DataVector/DataList.
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
Scalar phi() const
phi method
const long DetDescr_StorageType
Scalar eta() const
pseudorapidity method
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
virtual StatusCode createHelper(const std::string &helperKey, IdHelper *&idhelper, DataObject *&pObj)=0
Create the helper object.
Scalar theta() const
theta method
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
const ServiceHandle< StoreGateSvc > & detStore() const
Handle to DetectorStore.
float nPixelHits(const U &p)
IMessageSvc * getMessageSvc(bool quiet=false)
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
double phiCorr(double phi)
ServiceHandle< StoreGateSvc > m_detStore
msgSvc
Provide convenience handles for various services.
This is an abstract base class for helper classes that know how to convert Identifier <-> IdentifierH...
@ numberOfSCTHits
number of SCT holes
const FitQuality * fitQuality() const
accessor function for FitQuality.
double chi2(TH1 *h0, TH1 *h1)
#define CHECK(...)
Evaluate an expression and check for errors.
Class to represent and store fit qualities from track reconstruction in terms of  and number of degre...
int initializeHelper(IdHelper &helper) const
Return value: 0 OK, >0 error.
MsgStream & msg() const
The standard message stream.
void addTrack(TIDA::Track *t)
virtual void setMessageSvc(IMessageSvc *msgSvc)=0
@ numberOfTRTHits
number of TRT outliers
A summary of the information contained by a track.
IdDictManager is the interface to identifier dictionaries.
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
static long storageType()
Storage type for all DetDescrConverters.
std::string m_nm
Message source name.
void initMessaging() const
Initialize our message level and MessageSvc.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
constexpr int pow(int base, int exp) noexcept
std::vector< TIDA::Track * > m_tracks
float nSiHits(const U &p)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.