ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
TrigSerializeConverter< DATA > Class Template Reference

#include <TrigSerializeConverter.h>

Inheritance diagram for TrigSerializeConverter< DATA >:
Collaboration diagram for TrigSerializeConverter< DATA >:

Public Member Functions

StatusCode createObj (IOpaqueAddress *iAddr, DataObject *&pO)
 
StatusCode createRep (DataObject *pObj, IOpaqueAddress *&pAddr)
 
StatusCode initialize ()
 
virtual long int repSvcType () const
 
 TrigSerializeConverter (ISvcLocator *svcloc)
 
 ~TrigSerializeConverter ()
 
void addTrack (TIDA::Track *t)
 
const std::vector< TIDA::Track * > & tracks () const
 
void clear ()
 
void selectTracks (const TrigInDetTrackCollection *trigtracks)
 
void selectTracks (const Rec::TrackParticleContainer *trigtracks)
 
void selectTracks (const Analysis::MuonContainer *muontracks)
 

Static Public Member Functions

static const CLIDclassID ()
 
static long int storageType ()
 

Static Public Attributes

static const bool typeIsxAOD = isxAOD<DATA>::value
 

Protected Member Functions

double phiCorr (double phi)
 
void ipCorr (double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt)
 

Protected Attributes

double m_beamX
 
double m_beamY
 
double m_beamZ
 
std::vector< TIDA::Track * > m_tracks
 

Private Attributes

ToolHandle< ITrigSerializeConvHelperm_convHelper
 
ServiceHandle< StoreGateSvcm_sgHandle
 
MsgStream * m_log
 
StoreGateSvcm_sgsvc
 

Detailed Description

template<typename DATA>
class TrigSerializeConverter< DATA >

Definition at line 139 of file TrigSerializeConverter.h.

Constructor & Destructor Documentation

◆ TrigSerializeConverter()

template<typename DATA >
TrigSerializeConverter< DATA >::TrigSerializeConverter ( ISvcLocator *  svcloc)
inline

Definition at line 277 of file TrigSerializeConverter.h.

278  : Converter( storageType(), classID(), svcloc ),
279  m_convHelper( "TrigSerializeConvHelper/TrigSerializeConvHelper" ),
280  m_sgHandle( "StoreGateSvc", "TrigSerializeConverter" ),
281  m_log( 0 ), m_sgsvc( 0 ) {
282 
283  m_log = new MsgStream( msgSvc(), "TrigSerializeConverter" );
284  }

◆ ~TrigSerializeConverter()

template<typename DATA >
TrigSerializeConverter< DATA >::~TrigSerializeConverter ( )
inline

Definition at line 286 of file TrigSerializeConverter.h.

286  {
287  delete m_log;
288  }

Member Function Documentation

◆ addTrack()

void Converter::addTrack ( TIDA::Track t)
inlineinherited

Definition at line 45 of file Converter.h.

45  {
46  m_tracks.push_back(t);
47  }

◆ classID()

template<typename DATA >
static const CLID& TrigSerializeConverter< DATA >::classID ( )
inlinestatic

Definition at line 272 of file TrigSerializeConverter.h.

272 { return ClassID_traits<DATA>::ID(); }

◆ clear()

void Converter::clear ( )
inlineinherited

Definition at line 53 of file Converter.h.

53 {m_tracks.clear();}

◆ createObj()

template<typename DATA >
StatusCode TrigSerializeConverter< DATA >::createObj ( IOpaqueAddress *  iAddr,
DataObject *&  pO 
)
inline

Definition at line 145 of file TrigSerializeConverter.h.

145  {
146 
147  const std::string clname = ClassID_traits< DATA >::typeName();
148 
149  std::string normalized = SG::normalizedTypeinfoName( typeid(DATA) ); // normalized string representation (matching the names used in the root dictionary)
150 
151 
152  void *ptr( 0 );
153  if( m_log->level() <= MSG::DEBUG ) {
154  *m_log << MSG::DEBUG << "In createObj for : " << clname << " normalized to " << normalized << endmsg;
155  }
156 
157  StatusCode sc = m_convHelper->createObj( normalized, iAddr, ptr, typeIsxAOD);
158  if( sc.isFailure() ){
159  *m_log << MSG::WARNING << "m_convHelper->createObj failed for "
160  << clname << endmsg;
161  }
162 
163  DATA *nObj = ( DATA* ) ptr;
164  nObj = TrigSerialization::finishRead (nObj);
165  pO = SG::asStorable( nObj );
166 
167  if( m_log->level() <= MSG::DEBUG ) {
168  *m_log << MSG::DEBUG << "IOpaq: " << iAddr
169  << " created nObj: " << nObj << endmsg;
170  }
171 
172 
173 
174 
175  if( m_sgsvc && nObj ){
176  TrigStreamAddress *addr = dynamic_cast< TrigStreamAddress* >( iAddr );
177  if( addr ) {
178  if( m_sgsvc->contains< DATA >( addr->sgkey() ) ) {
179  *m_log << MSG::WARNING << "TrigSerializeConverter::createObj object "
180  << clname << " / " << addr->sgkey()
181  << " is already in the store; not overwriting"
182  << endmsg;
183  } else {
184  sc = m_sgsvc->record( nObj, addr->sgkey() );
185  }
186  if( sc.isFailure() ) {
187  *m_log << MSG::ERROR << "SG::record failed for " << addr->sgkey()
188  << endmsg;
189  } else if( m_log->level() <= MSG::DEBUG ) {
190  *m_log << MSG::DEBUG << "SG::record key: "
191  << addr->sgkey() << " class: " << clname << endmsg;
192  }
193  } else {
194  *m_log << MSG::WARNING << "createObj cast failed" << endmsg;
195  }
196  } else if( m_log->level() <= MSG::DEBUG ) {
197  *m_log << MSG::DEBUG << "did not put an object into SG" << endmsg;
198  }
199 
200  return sc;
201  }

◆ createRep()

template<typename DATA >
StatusCode TrigSerializeConverter< DATA >::createRep ( DataObject *  pObj,
IOpaqueAddress *&  pAddr 
)
inline

Definition at line 204 of file TrigSerializeConverter.h.

204  {
205 
206  // const std::string clname = ClassID_traits<DATA>::typeName(); // old style, does not contain the _vX of the actual class type
207 
208  // const std::type_info& typeId = ClassID_traits<DATA>::typeId(); // damn, this line just does not compile
209 
210  std::string classname = SG::normalizedTypeinfoName( typeid(DATA) ); // normalized string representation (matching the names used in the root dictionary)
211 
212  DATA *d( 0 );
213  SG::fromStorable( pObj, d );
214  if( m_log->level() <= MSG::DEBUG ) {
215  *m_log << MSG::DEBUG << "My createRep for " << classID() << " "
216  << classname << endmsg;
217  }
218 
219  std::unique_ptr<DATA> holder;
220  void *serptr = TrigSerialization::prepareForWrite (d, holder);
221  //
222  std::vector< uint32_t > ser;
223 
224  StatusCode sc = m_convHelper->createRep( classname, serptr, ser, typeIsxAOD);
225  if( m_log->level() <= MSG::DEBUG ) {
226  *m_log << MSG::DEBUG << "convHelper " << ser.size() << endmsg;
227  }
228 
229  TrigStreamAddress *addr = new TrigStreamAddress( classID(), classname, "" );
230  addr->add( ser );
231 
232  pAddr = addr;
233 
234  return sc;
235  }

◆ initialize()

template<typename DATA >
StatusCode TrigSerializeConverter< DATA >::initialize ( )
inline

Definition at line 237 of file TrigSerializeConverter.h.

237  {
238 
239  if( m_log ) {
240  m_log->setLevel( msgSvc()->outputLevel( "TrigSerializeConverter" ) );
241  } else {
242  return StatusCode::FAILURE;
243  }
244 
245  StatusCode sc = m_convHelper.retrieve();
246  if( ! sc.isSuccess() ) {
247  if( m_log->level() <= MSG::DEBUG ) {
248  *m_log << MSG::DEBUG << m_convHelper << "not retrieved" << endmsg;
249  }
250  } else {
251  if( m_log->level() <= MSG::DEBUG ) {
252  *m_log << MSG::DEBUG << m_convHelper << "m_serializer retrieved"
253  << endmsg;
254  }
255  if( ! m_convHelper->initialize().isSuccess() ) {
256  if( m_log->level() <= MSG::DEBUG ) {
257  *m_log << MSG::DEBUG << m_convHelper << " not initialized"
258  << endmsg;
259  }
260  }
261  }
262 
263  StatusCode scsg = m_sgHandle.retrieve();
264  if (scsg.isFailure())
265  *m_log << MSG::ERROR << "cannot access SG" << endmsg;
266  else {
267  m_sgsvc = m_sgHandle.operator->();
268  }
269  return sc;
270  }

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

257  {
258 
259  double sn = sin(phi0);
260  double cs = cos(phi0);
261  double sd0 = (d0 != 0 ? d0/fabs(d0) : 1);
262  double spt = (pt != 0 ? pt/fabs(pt) : 1);
263 
264  if (fabs(pt) >= 1*CLHEP::TeV) {
265 
266  d0c = d0 + m_beamX*sn - m_beamY*cs;
267 
268  } else {
269 
270  double rc = fabs(pt)*15.0/(9.0*1.042);
271 
272  double xc = (fabs(d0)-spt*sd0*rc)*cos(phi0+M_PI/2*sd0) - m_beamX;
273  double yc = (fabs(d0)-spt*sd0*rc)*sin(phi0+M_PI/2*sd0) - m_beamY;
274 
275  double newphi;
276  double xd01,yd01,xd02,yd02;
277 
278  if (xc == 0) {
279  xd01 = 0; yd01 = rc+yc;
280  xd02 = 0; yd02 = -rc+yc;
281  } else {
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;
284  }
285 
286  double r1 = sqrt(xd01*xd01+yd01*yd01);
287  double r2 = sqrt(xd02*xd02+yd02*yd02);
288 
289  double phiV;
290 
291  if (r1 < r2)
292  phiV = atan2(yd01,xd01);
293  else
294  phiV = atan2(yd02,xd02);
295 
296  double phi1 = phiCorr(phiV+M_PI/2);
297  double phi2 = phiCorr(phiV-M_PI/2);
298 
299  if (fabs(phiCorr(phi1-phi0))<=fabs(phiCorr(phi2-phi0)))
300  newphi = phi1;
301  else
302  newphi = phi2;
303 
304  d0c = fabs(sqrt(xc*xc+yc*yc)-rc)*sin(phiV-newphi);
305 
306  double theta=2*atan2(exp(-eta),1);
307  double theta_save=theta;
308  theta = theta - (1+spt)/2*M_PI;
309  if (theta>0) theta = theta_save;
310 
311  double deltaz0= -spt*rc/tan(theta)*phiCorr(phiCorr(newphi)-phiCorr(phi0));
312  z0c = z0 + deltaz0;
313 
314  }
315  }

◆ phiCorr()

double Converter::phiCorr ( double  phi)
inlineprotectedinherited

Definition at line 248 of file Converter.h.

248  {
249 
250  if (phi < -TMath::Pi()) phi += 2*TMath::Pi();
251  if (phi > TMath::Pi()) phi -= 2*TMath::Pi();
252 
253  return phi;
254  }

◆ repSvcType()

template<typename DATA >
long int TrigSerializeConverter< DATA >::repSvcType
virtual

Definition at line 303 of file TrigSerializeConverter.h.

303  {
304  return storageType();
305 }

◆ selectTracks() [1/3]

void Converter::selectTracks ( const Analysis::MuonContainer muontracks)
inlineinherited

Definition at line 177 of file Converter.h.

177  {
178 
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 };
180 
181  Analysis::MuonContainer::const_iterator muonitr = muontracks->begin();
182  Analysis::MuonContainer::const_iterator muonend = muontracks->end();
183 
184  while(muonitr!=muonend) {
185 
186  bool hasInDet = (*muonitr)->hasInDetTrackParticle();
187  const Rec::TrackParticle *trackitr=NULL;
188  if(hasInDet) trackitr=(*muonitr)->inDetTrackParticle();
189  muonitr++;
190  if(!hasInDet) continue;
191 
192  const Trk::MeasuredPerigee* measPer = trackitr->measuredPerigee();
193 
194  CLHEP::HepVector perigeeParams = measPer->parameters();
195  double pT = measPer->pT();
196  double eta = measPer->eta();
197  double phi = perigeeParams[Trk::phi0];
198  double z0 = perigeeParams[Trk::z0];
199  double d0 = perigeeParams[Trk::d0];
200  //double theta = perigeeParams[Trk::theta];
201 
202  double deta = 1;
203  double dphi = 1;
204  double dz0 = 1;
205  double dd0 = 1;
206  double dpT = 1;
207 
208  // Check number of hits
209  // NB: a spacepoint is two offline "hits", so a pixel spacepoint is really
210  // 2 "hits" and an offline SCT "hit" is really a 1D cluster, so two intersetcting
211  // stereo clusters making a spacepoint are two "hits"
212  const Trk::TrackSummary *summary = trackitr->trackSummary();
213  int nBlayerHits = 2*summary->get(Trk::numberOfBLayerHits);
215  int nSctHits = summary->get(Trk::numberOfSCTHits);
216  int nStrawHits = summary->get(Trk::numberOfTRTHits);
217  int nTrHits = summary->get(Trk::numberOfTRTHighThresholdHits);
218 
219  int nSiHits = nPixelHits + nSctHits;
220 
221  const Trk::FitQuality *quality = trackitr->fitQuality();
222  double chi2 = quality->chiSquared();
223  double dof = quality->quality->numberDoF();
224 
225  unsigned bitmap = 0;
226 
227  for ( int ih=0 ; ih<20 ; ih++ ) {
228  if ( summary->isHit(Trk::DetectorType(ih)) ) bitmap |= ( 1<<hpmap[ih] );
229  }
230 
231  // Shift d0 and z0 according to beam position
232  ipCorr(d0, z0, d0, z0, phi, eta, pT);
233 
234  // Create and save Track
235  TIDA::Track* t = new TIDA::Track(eta, phi, z0, d0, pT, chi2, dof,
236  deta, dphi, dz0, dd0, dpT,
237  nBlayerHits, nPixelHits, nSctHits, nSiHits,
238  nStrawHits, nTrHits, bitmap, 0,
239  -1) ;
240 
241  addTrack(t);
242  }
243 
244  }

◆ selectTracks() [2/3]

void Converter::selectTracks ( const Rec::TrackParticleContainer trigtracks)
inlineinherited

Definition at line 111 of file Converter.h.

111  {
112 
113  Rec::TrackParticleContainer::const_iterator trackitr = trigtracks->begin();
114  Rec::TrackParticleContainer::const_iterator trackend = trigtracks->end();
115 
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 };
117 
118  while ( trackitr!=trackend ) {
119 
120  const Trk::MeasuredPerigee* measPer = (*trackitr)->measuredPerigee();
121 
122  CLHEP::HepVector perigeeParams = measPer->parameters();
123  double pT = measPer->pT();
124  double eta = measPer->eta();
125  double phi = perigeeParams[Trk::phi0];
126  double z0 = perigeeParams[Trk::z0];
127  double d0 = perigeeParams[Trk::d0];
128  //double theta = perigeeParams[Trk::theta];
129 
130  double deta = 1;
131  double dphi = 1;
132  double dz0 = 1;
133  double dd0 = 1;
134  double dpT = 1;
135 
136  // Check number of hits
137  // NB: a spacepoint is two offline "hits", so a pixel spacepoint is really
138  // 2 "hits" and an offline SCT "hit" is really a 1D cluster, so two intersetcting
139  // stereo clusters making a spacepoint are two "hits"
140  const Trk::TrackSummary *summary = (*trackitr)->trackSummary();
141  int nBlayerHits = 2*summary->get(Trk::numberOfBLayerHits);
143  int nSctHits = summary->get(Trk::numberOfSCTHits);
144  int nStrawHits = summary->get(Trk::numberOfTRTHits);
145  int nTrHits = summary->get(Trk::numberOfTRTHighThresholdHits);
146  int nSiHits = nPixelHits + nSctHits;
147  bool expectBL = false; // Not stored for Rec::TrackParticle
148 
149  const Trk::FitQuality *quality = (*trackitr)->fitQuality();
150  double chi2 = quality->chiSquared();
151  double dof = quality->numberDoF();
152 
153  unsigned bitmap = 0;
154 
155  for ( int ih=0 ; ih<20 ; ih++ ) {
156  if ( summary->isHit(Trk::DetectorType(ih)) ) bitmap |= ( 1<<hpmap[ih] );
157  }
158 
159  // Shift d0 and z0 according to beam position
160  ipCorr(d0, z0, d0, z0, phi, eta, pT);
161 
162  // Create and save Track
163  TIDA::Track* t = new TIDA::Track(eta, phi, z0, d0, pT, chi2, dof,
164  deta, dphi, dz0, dd0, dpT,
165  nBlayerHits, nPixelHits, nSctHits, nSiHits,
166  nStrawHits, nTrHits, bitmap, 0,
167  -1,
168  expectBL) ;
169 
170  addTrack(t);
171  trackitr++;
172  }
173 
174  }

◆ selectTracks() [3/3]

void Converter::selectTracks ( const TrigInDetTrackCollection trigtracks)
inlineinherited

Definition at line 56 of file Converter.h.

56  {
57 
58  TrigInDetTrackCollection::const_iterator trackitr = trigtracks->begin();
59  TrigInDetTrackCollection::const_iterator trackend = trigtracks->end();
60 
61  while ( trackitr!=trackend ) {
62 
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();
68  //double theta = 2*atan2(exp(-(*trackitr)->param()->eta()),1);
69 
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();
75 
76  int algoid = (*trackitr)->algorithmId();
77 
78  int nBlayerHits = ((*trackitr)->HitPattern() & 0x1);
79  int nPixelHits = 2*(*trackitr)->NPixelSpacePoints(); // NB: for comparison with offline
80  int nSctHits = 2*(*trackitr)->NSCT_SpacePoints(); // a spacepoint is 2 "hits"
81  int nStrawHits = (*trackitr)->NStrawHits();
82  int nTrHits = (*trackitr)->NTRHits();
83 
84  int nSiHits = nPixelHits + nSctHits;
85  bool expectBL = false; //not available with TrigInDetTrack
86 
87  unsigned hitPattern = (*trackitr)->HitPattern();
88  unsigned multiPattern = 0;
89 
90  double chi2 = (*trackitr)->chi2();
91  double dof = 0;
92 
93  // Shift d0 and z0 according to beam position
94  ipCorr(d0, z0, d0, z0, phi, eta, pT);
95 
96  // Create and save Track
97  TIDA::Track* t = new TIDA::Track(eta, phi, z0, d0, pT, chi2, dof,
98  deta, dphi, dz0, dd0, dpT,
99  nBlayerHits, nPixelHits, nSctHits, nSiHits,
100  nStrawHits, nTrHits, hitPattern, multiPattern,
101  algoid,
102  expectBL ) ;
103 
104  addTrack(t);
105  trackitr++;
106  }
107  }

◆ storageType()

template<typename DATA >
long int TrigSerializeConverter< DATA >::storageType
static

Definition at line 299 of file TrigSerializeConverter.h.

299  {
301 }

◆ tracks()

const std::vector<TIDA::Track*>& Converter::tracks ( ) const
inlineinherited

Definition at line 50 of file Converter.h.

50 {return m_tracks;}

Member Data Documentation

◆ m_beamX

double Converter::m_beamX
protectedinherited

Definition at line 320 of file Converter.h.

◆ m_beamY

double Converter::m_beamY
protectedinherited

Definition at line 320 of file Converter.h.

◆ m_beamZ

double Converter::m_beamZ
protectedinherited

Definition at line 320 of file Converter.h.

◆ m_convHelper

template<typename DATA >
ToolHandle< ITrigSerializeConvHelper > TrigSerializeConverter< DATA >::m_convHelper
private

Definition at line 291 of file TrigSerializeConverter.h.

◆ m_log

template<typename DATA >
MsgStream* TrigSerializeConverter< DATA >::m_log
private

Definition at line 293 of file TrigSerializeConverter.h.

◆ m_sgHandle

template<typename DATA >
ServiceHandle< StoreGateSvc > TrigSerializeConverter< DATA >::m_sgHandle
private

Definition at line 292 of file TrigSerializeConverter.h.

◆ m_sgsvc

template<typename DATA >
StoreGateSvc* TrigSerializeConverter< DATA >::m_sgsvc
private

Definition at line 294 of file TrigSerializeConverter.h.

◆ m_tracks

std::vector<TIDA::Track*> Converter::m_tracks
protectedinherited

Definition at line 321 of file Converter.h.

◆ typeIsxAOD

template<typename DATA >
const bool TrigSerializeConverter< DATA >::typeIsxAOD = isxAOD<DATA>::value
static

Definition at line 142 of file TrigSerializeConverter.h.


The documentation for this class was generated from the following file:
StoreGateSvc::record
StatusCode record(T *p2BRegistered, const TKEY &key)
Record an object with a key.
Trk::numberOfPixelHits
@ numberOfPixelHits
number of pixel layers on track with absence of hits
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:57
Converter::Converter
Converter()
Definition: Converter.h:31
CalculateHighPtTerm.pT
pT
Definition: ICHEP2016/CalculateHighPtTerm.py:57
Converter::ipCorr
void ipCorr(double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt)
Definition: Converter.h:257
StoreGateSvc::contains
bool contains(const TKEY &key) const
Look up a keyed object in TDS (compare also tryRetrieve) returns false if object not available in TDS...
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
Trk::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:87
Converter::m_beamY
double m_beamY
Definition: Converter.h:320
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
TauGNNUtils::Variables::Track::nPixelHits
bool nPixelHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:542
SG::fromStorable
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
Definition: StorableConversions.h:180
SG::normalizedTypeinfoName
std::string normalizedTypeinfoName(const std::type_info &info)
Convert a type_info to a normalized string representation (matching the names used in the root dictio...
Definition: normalizedTypeinfoName.cxx:120
TrigSerializeConverter::m_log
MsgStream * m_log
Definition: TrigSerializeConverter.h:293
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDetAccessor::phi0
@ phi0
Definition: InDetAccessor.h:33
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
xAOD::JetInput::Track
@ Track
Definition: JetContainerInfo.h:61
Trk::TrackParticleBase::trackSummary
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
Definition: TrackParticleBase.h:247
test_pyathena.pt
pt
Definition: test_pyathena.py:11
M_PI
#define M_PI
Definition: ActiveFraction.h:11
TrigSerializeConverter::storageType
static long int storageType()
Definition: TrigSerializeConverter.h:299
Trk::z0
@ z0
Definition: ParamDefs.h:70
SG::asStorable
DataObject * asStorable(T *pObject)
Definition: StorableConversions.h:158
python.SystemOfUnits.TeV
int TeV
Definition: SystemOfUnits.py:158
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
TrigSerializeConverter::typeIsxAOD
static const bool typeIsxAOD
Definition: TrigSerializeConverter.h:142
MCP::ScaleSmearParam::r2
@ r2
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
TrigSerializeConverter::m_sgHandle
ServiceHandle< StoreGateSvc > m_sgHandle
Definition: TrigSerializeConverter.h:292
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Trk::numberOfBLayerHits
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:51
Converter::phiCorr
double phiCorr(double phi)
Definition: Converter.h:248
ClassID_traits::ID
static const CLID & ID()
the CLID of T
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:50
ClassID_traits::typeName
static const std::string & typeName()
the demangled type name of T
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:56
TauGNNUtils::Variables::Track::nSiHits
bool nSiHits(const xAOD::TauJet &, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:691
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
TrigStreamAddress::add
void add(const std::vector< uint32_t > &a)
Definition: TrigStreamAddress.cxx:27
Converter::m_beamX
double m_beamX
Definition: Converter.h:320
TrigSerializeConverter::m_convHelper
ToolHandle< ITrigSerializeConvHelper > m_convHelper
Definition: TrigSerializeConverter.h:291
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::numberOfSCTHits
@ numberOfSCTHits
number of SCT holes
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:71
TrigSerializeConverter::classID
static const CLID & classID()
Definition: TrigSerializeConverter.h:272
Trk::TrackParticleBase::fitQuality
const FitQuality * fitQuality() const
accessor function for FitQuality.
Definition: TrackParticleBase.h:259
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
TrigSerializeCnvSvc::storageType
static long int storageType()
Definition: TrigSerializeCnvSvc.h:17
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition: FitQuality.h:97
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
TrigSerialization::finishRead
DATA * finishRead(DATA *d)
Called after an object has been read from BS.
Definition: TrigSerializeConverter.h:105
Converter::addTrack
void addTrack(TIDA::Track *t)
Definition: Converter.h:45
Trk::numberOfTRTHits
@ numberOfTRTHits
number of TRT outliers
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:79
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
Trk::d0
@ d0
Definition: ParamDefs.h:69
TrigSerializeConverter::m_sgsvc
StoreGateSvc * m_sgsvc
Definition: TrigSerializeConverter.h:294
Rec::TrackParticle
Definition: Reconstruction/Particle/Particle/TrackParticle.h:47
Rec::TrackParticle::measuredPerigee
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
Definition: Reconstruction/Particle/Particle/TrackParticle.h:180
python.TrigPSCPythonDbSetup.outputLevel
outputLevel
Definition: TrigPSCPythonDbSetup.py:30
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Trk::DetectorType
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:231
TrigStreamAddress::sgkey
const std::string sgkey() const
Definition: TrigStreamAddress.h:37
DEBUG
#define DEBUG
Definition: page_access.h:11
TrigStreamAddress
IOpaqueAddress for TrigSerializenCnvSvc.
Definition: TrigStreamAddress.h:23
TIDA::Track
Definition: Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/Track.h:26
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
Trk::FitQuality::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition: FitQuality.h:60
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
MCP::ScaleSmearParam::r1
@ r1
TrigSerialization::prepareForWrite
DATA * prepareForWrite(DATA *d, std::unique_ptr< DATA > &)
Called before serializing an object to BS.
Definition: TrigSerializeConverter.h:72
Converter::m_tracks
std::vector< TIDA::Track * > m_tracks
Definition: Converter.h:321
Trk::phi0
@ phi0
Definition: ParamDefs.h:71
python.trfValidateRootFile.rc
rc
Definition: trfValidateRootFile.py:350
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65