ATLAS Offline Software
Loading...
Searching...
No Matches
IDScanZFinder Class Reference

#include <IDScanZFinder.h>

Inheritance diagram for IDScanZFinder:
Collaboration diagram for IDScanZFinder:

Public Member Functions

 IDScanZFinder (const std::string &, const std::string &, const IInterface *)
virtual ~IDScanZFinder ()
virtual StatusCode initialize () override
virtual TrigVertexCollectionfindZ (const std::vector< const TrigSiSpacePoint * > &spVec, const IRoiDescriptor &roi) override
void initializeInternal (long maxLayers, long lastBarrel)
std::vector< vertex > * findZInternal (const std::vector< const TrigSiSpacePoint * > &spVec, const IRoiDescriptor &roi)
const std::vector< std::vector< long > > * GetnHisto ()
const std::vector< std::vector< double > > * GetzHisto ()
long GetNMax ()
void setLayers (long maxLayers, long lastBarrelLayer)
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Public Attributes

ToolHandle< ITrigL2LayerNumberToolm_numberingTool
 no private data members - all inherited from the IDScanZFinderInternal class NB: BE CAREFUL !

Protected Member Functions

long fillVectors (const std::vector< const TrigSiSpacePoint * > &spVec, const IRoiDescriptor &roi, std::vector< double > &phi, std::vector< double > &rho, std::vector< double > &zed, std::vector< long > &lyr, std::vector< long > &filledLayers)
const std::string & getType () const
const std::string & getName () const
const std::string & getVersion () const
int GetInternalStatus () const
int SetInternalStatus (int s)
double computeZV (double r1, double z1, double r2, double z2) const
void SetReturnValue (double d)
double GetReturnValue () const
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Protected Attributes

long m_IdScan_MaxNumLayers
 maximum number of layers and last barrel layer
long m_IdScan_LastBrlLayer
double m_invPhiSliceSize
long m_NumPhiSlices
double m_phiBinSize
bool m_forcePhiBinSize
double m_usedphiBinSize
double m_ROIphiWidth
double m_usedROIphiWidth
double m_minZBinSize
double m_zBinSizeEtaCoeff
long m_numberOfPeaks
bool m_pixOnly
std::string m_Type
std::string m_Name
int m_Status
bool m_chargeAware
bool m_zHistoPerPhi
double m_dphideta
double m_neighborMultiplier
std::vector< std::vector< long > > m_extraPhi
std::vector< std::vector< long > > m_nHisto [2]
std::vector< std::vector< double > > m_zHisto [2]
long m_NMax
int m_nFirstLayers
double m_vrtxDistCut
double m_vrtxMixing
int m_nvrtxSeparation
bool m_preferCentralZ
bool m_trustSPprovider
double m_returnval
bool m_fullScanMode
int m_tripletMode
double m_tripletDZ
double m_tripletDK
double m_halfTripletDK
double m_tripletDP
double m_weightThreshold
 to apply a hreshold to the found vertex candidates

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 40 of file IDScanZFinder.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ IDScanZFinder()

IDScanZFinder::IDScanZFinder ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 30 of file IDScanZFinder.cxx.

30 :
31 Run1::IDScanZFinderInternal<TrigSiSpacePoint>(type, name), AthAlgTool( type, name, parent ),
32 m_numberingTool("TrigL2LayerNumberTool")
33{
34 declareInterface< ITrigRun1ZFinder >( this );
35
36 declareProperty( "PhiBinSize", m_phiBinSize = 0.2 );
37 declareProperty( "UseOnlyPixels", m_pixOnly = false );
38 declareProperty( "MinZBinSize", m_minZBinSize = 0.2 );
39 declareProperty( "nFirstLayers", m_nFirstLayers = 3 );
40 declareProperty( "ZBinSizeEtaCoeff", m_zBinSizeEtaCoeff = 0.1 );
41 declareProperty( "DPhiDEta", m_dphideta = -0.02 );
42 declareProperty( "NeighborMultiplier", m_neighborMultiplier = 1.);
43 declareProperty( "NumberOfPeaks", m_numberOfPeaks = 1 );
44 declareProperty( "ChargeAware", m_chargeAware = false );
45 declareProperty( "ZHistoPerPhi", m_zHistoPerPhi = false );
46 declareProperty( "VrtxDistCut", m_vrtxDistCut = 0. );
47 declareProperty( "nVrtxSeparation", m_nvrtxSeparation = 0 );
48 declareProperty( "VrtxMixing", m_vrtxMixing = 0. );
49 declareProperty( "PreferCentralZ", m_preferCentralZ = true );
50 declareProperty( "TrustSPProvider", m_trustSPprovider = true );
51 declareProperty( "FullScanMode", m_fullScanMode = false );
52 declareProperty( "TripletMode", m_tripletMode = 0 );
53 declareProperty( "TripletDZ", m_tripletDZ = 25. );
54 declareProperty( "TripletDK", m_tripletDK = 0.005 );
55 declareProperty( "TripletDP", m_tripletDP = 0.05 );
56 declareProperty( "WeightThreshold", m_weightThreshold = 0 );
57}
AthAlgTool()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ToolHandle< ITrigL2LayerNumberTool > m_numberingTool
no private data members - all inherited from the IDScanZFinderInternal class NB: BE CAREFUL !

◆ ~IDScanZFinder()

virtual IDScanZFinder::~IDScanZFinder ( )
inlinevirtual

Definition at line 45 of file IDScanZFinder.h.

45{};

Member Function Documentation

◆ computeZV()

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::computeZV ( double r1,
double z1,
double r2,
double z2 ) const
protectedinherited

Definition at line 84 of file IDScanZFinderInternal.h.

315 {
316 return (z2*r1-z1*r2)/(r1-r2);
317}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fillVectors()

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::fillVectors ( const std::vector< const TrigSiSpacePoint * > & spVec,
const IRoiDescriptor & roi,
std::vector< double > & phi,
std::vector< double > & rho,
std::vector< double > & zed,
std::vector< long > & lyr,
std::vector< long > & filledLayers )
protectedinherited

get from roi now

DOES NOT span the phi=pi boundary

DOES span the phi=pi boundary

resize excluding points outside the RoI

Definition at line 73 of file IDScanZFinderInternal.h.

358{
360
361 // full scan check
363
364 long nSPs = spVec.size();
365
366 // to shift the phi of space points as if the RoI starts at phi~0
367 // assumes that RoI->phi0() and the SPs are in range [-pi,+pi]
368 //
369 double roiPhiMin, roiPhiMax;
370
371 if ( m_fullScanMode || roi.isFullscan() ) {
372 roiPhiMin = -M_PI;
373 roiPhiMax = M_PI;
374 }
375 else {
376 // If we trust that all the SPs are properly input, we determine the RoI phi width
377 // using the SPs themselves.
378 // If the RoI phi range is wider than pi, we keep everything as usual.
380 {
381 double roiPhiPosMin( 9.9), roiPhiPosMax(0);
382 double roiPhiNegMin(-9.9), roiPhiNegMax(0); // least negative and most negative
383 for(long i=0; i<nSPs; ++i, ++SpItr)
384 {
385 double spphi = (*SpItr)->phi();
388
391 }
392
393 if ( roiPhiNegMax > roiPhiNegMin ) {
394 // if all SPs are in (0, pi):
397 }
398 else if ( roiPhiPosMax < roiPhiPosMin ) {
399 // if all SPs are in (-pi, 0):
402 }
403 else if ( roiPhiPosMin - roiPhiNegMin < M_PI ) {
404 // if we have an RoI that covers phi=0 axis
407 }
408 else {
409 // if we have an RoI that covers phi=pi axis
412 }
413
414 roiPhiMin -= 1e-10;
415 roiPhiMax += 1e-10;
416
417 SpItr = spVec.begin(); // rewind the iterator
418 }
419 else {
420
422 if ( roi.phiMinus()==roi.phiPlus() ) {
423 roiPhiMin = roi.phi()-0.5*m_usedROIphiWidth;
424 roiPhiMax = roi.phi()+0.5*m_usedROIphiWidth;
427 }
428 else {
429 // already wrapped by RoiDescriptor
430 roiPhiMin = roi.phiMinus();
431 roiPhiMax = roi.phiPlus();
432 }
433
434 }
435
436 }
437
438
439 double dphi = roiPhiMax-roiPhiMin;
440 if ( dphi<0 ) dphi+=2*M_PI;
441
443
444 // std::cout << "m_usedROIphiWidth: " << m_usedROIphiWidth << std::endl;
446
447
449
450 int icount = 0;
451
452 if(!piBound)
453 {
455 for(long i=0; i<nSPs; ++i, ++SpItr)
456 {
457 if (m_pixOnly && !(*SpItr)->isPixel()) continue;
458 double phi2 = (*SpItr)->phi() - roiPhiMin;
459
460 if ( phi2>=0 && phi2<dphi ) {
461 phi[i] = phi2;
462 rho[i] = (*SpItr)->r();
463 zed[i] = (*SpItr)->z();
464 lyr[i] = (*SpItr)->layer();
465 lcount[lyr[i]]=true;
466 ++icount;
467 }
468 }
469 }
470 else
471 {
473 for(long i=0; i<nSPs; ++i, ++SpItr)
474 {
475 if (m_pixOnly && !(*SpItr)->isPixel()) continue;
476 double phi2 = (*SpItr)->phi() - roiPhiMin;
477 if( phi2<0.0) phi2+=2*M_PI;
478
479 if ( phi2>=0 && phi2<dphi ) {
480 phi[i] = phi2;
481 rho[i] = (*SpItr)->r();
482 zed[i] = (*SpItr)->z();
483 lyr[i] = (*SpItr)->layer();
484 lcount[lyr[i]]=true;
485 ++icount;
486 }
487 }
488 }
489
490 if ( icount<nSPs ) {
491
492 // std::cout << "IDScanZFinderInternal::fillVectors() filtered some spacepoints " << nSPs
493 // << " -> " << icount << std::endl;
495 phi.resize(icount);
496 rho.resize(icount);
497 zed.resize(icount);
498 lyr.resize(icount);
499
500 nSPs = icount;
501 }
502
503
504 // Store in filledLayers the layerNumber of those layers that contain hits.
505 // So, if there are hits in layers 1,3,8 filledLayers[0]=1, filledLayers[1]=3
506 // and filledLayers[2]=8
507 //
508 long filled = 0;
509 for ( long i=0; i<m_IdScan_MaxNumLayers; ++i ) {
510 if ( lcount[i] ) {
512 ++filled;
513 }
514 }
515
516 // std::cout << "SUTT NSP : " << phi.size() << " " << spVec.size() << std::endl;
517 // for ( unsigned i=0 ; i<phi.size() ; i++ ) {
518 // std::cout << "SUTT SP : " << i << "\tphi " << phi[i] << "\tz " << zed[i] << "\tr " << rho[i] << std::endl;
519 // }
520
521 return filled;
522}

◆ findZ()

TrigVertexCollection * IDScanZFinder::findZ ( const std::vector< const TrigSiSpacePoint * > & spVec,
const IRoiDescriptor & roi )
overridevirtual

Implements ITrigRun1ZFinder.

Definition at line 138 of file IDScanZFinder.cxx.

139{
140
142
143 std::vector<vertex>* vertices = findZInternal( spVec, roi);
144
145 ATH_MSG_DEBUG("roi: " << roi);
146 ATH_MSG_DEBUG("m_NumPhiSlices: " << m_NumPhiSlices);
147
148
149 if ( GetInternalStatus()==-1 ) {
150 ATH_MSG_WARNING("phi of spacepoint out of range! phi=" << GetReturnValue());
151 ATH_MSG_WARNING("Exiting ZFinder...");
152
153 }
154
155 for ( unsigned int i=0 ; i<vertices->size() ; i++ ) {
156 output->push_back( new TrigVertex( (*vertices)[i]._z, (*vertices)[i]._weight, TrigVertex::NULLID ) );
157 }
158
159 delete vertices;
160
161 return output;
162}
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current TrigVertexCollection
std::vector< vertex > * findZInternal(const std::vector< const TrigSiSpacePoint * > &spVec, const IRoiDescriptor &roi)
output
Definition merge.py:16

◆ findZInternal()

std::vector< typename IDScanZFinderInternal< TrigSiSpacePoint >::vertex > * Run1::IDScanZFinderInternal< TrigSiSpacePoint >::findZInternal ( const std::vector< const TrigSiSpacePoint * > & spVec,
const IRoiDescriptor & roi )
inherited

First calculate the pedestal to be subtracted (only used in the HI case at the moment)

skip bins used for the vertex candidates

if ( ztest >= maxh && ( ( m_applyWeightThreshold && ztest>m_weightThreshold ) || !m_applyWeightThreshold ) ) { apply threshold later - should we wish it

if we are in triplet mode, even a single pair means 3 consistent hits also bomb out if no maximum (above threshold) is found

if found a vertex flag the bins so we don't use them again

at this point we have the histogram with the highest N vertices removed so we can find the "non vertex" pedestal from these, although it will be somewhat lower than perhaps it should be, in case some of the "vertices" we are removing are just random upwards fluctuations

NB: have moved pedestal calculation to before the extraction of the vertices if we calculate it after, then we have too low a pedestal if some vertices are really random fluctuations. If we calculate it before then we overestimate the pedestal, really we should try to decide how many real vertices we have, and then only exclude them, but that level of detail is probably not justified by the correlation with the offline track multiplicity on the vertex

copy vertices to output vector - this is so we can first impose cuts on the vertices we have found should we wish to

NB: if m_weightThreshold==0 then pedestal == 0 also
AAAAAAAAARRRGHH!!! This is ridiculous, passing parameters about differently because we don't have a proper interface defined

Definition at line 56 of file IDScanZFinderInternal.h.

527{
529
530 long nsp = spVec.size();
531 if ( !nsp ) return output; //No points - return nothing
532
534
535 // Creating vectors of doubles/longs for storing phi,rho,z and layer of space points.
536 // filledLayers is used to know which of all layers contain space points
537 // and fill with relevant info...
538 //
541
542 long filled = this->fillVectors( spVec, roi, phi, rho, zed, lyr, filledLayers);
543
544 nsp = phi.size();
545
546 // std::cout << "SUTT roi " << roi << "nsp: " << nsp << std::endl;
547
548 double zMin = roi.zedMinus();
549 double zMax = roi.zedPlus();
550
551 // The bin size of the z-histo -and hence the number of bins-
552 // depends on the RoI's |eta| (to account for worsening z-resolution)
553 //
554 const double ZBinSize = m_minZBinSize + m_zBinSizeEtaCoeff*fabs(roi.eta());
555 const double invZBinSize = 1./ZBinSize;
556
557
558 const long HalfZhistoBins = long ( ceil( 0.5*(zMax-zMin)*invZBinSize ) );
559 const long NumZhistoBins = 2*HalfZhistoBins;
560
561 // number of phi bins to look at will get fewer as eta increases
562 const long extraPhiNeg = static_cast<long> ( floor( (0.9 - fabs(roi.eta()))*m_dphideta*m_invPhiSliceSize*m_neighborMultiplier ) );
563
564
565
566 // These are the z-Histograms
567 // Two sets are defined: {n/z}Histo[0][phi][z] will be for positively bending tracks
568 // {n/z}Histo[1][phi][z] will be for negatively bending tracks
569 //
570
572
573 // std::vector < std::vector < std::vector<long> > > nHisto( 2, std::vector < std::vector<long> > (numZhistos, std::vector<long> () ) );
574 // std::vector < std::vector < std::vector<double> > > zHisto( 2, std::vector < std::vector<double> > (numZhistos, std::vector<double>() ) );
575
576 for ( int i=2 ; i-- ; ) { m_nHisto[i].clear(); m_nHisto[i].resize(numZhistos); }
577 for ( int i=2 ; i-- ; ) { m_zHisto[i].clear(); m_zHisto[i].resize(numZhistos); }
578
581
582 m_NMax = 0;
583
584
585
586
587 //Make a vector of all the PhiSlice instances we need
589 for ( unsigned int sliceIndex = 0; sliceIndex < m_NumPhiSlices; sliceIndex++ )
590 {
594 }
595
596 int allSlicesSize = allSlices.size();
597 //Populate the slices
598 for ( long pointIndex = 0; pointIndex < nsp; pointIndex++ )
599 {
601 if (phiIndex > allSlicesSize) {
602 continue;
603 }
604 allSlices[ phiIndex ]->AddPoint( rho[ pointIndex ], zed[ pointIndex ], phi[ pointIndex ], lyr[ pointIndex ] );
605 }
606
607 //Read out the slices into flat structures for the whole layers
613 for ( unsigned int sliceIndex = 0; sliceIndex < m_NumPhiSlices; sliceIndex++ )
614 {
616 }
617
618 //One histogram per phi slice?
619 if ( m_zHistoPerPhi )
620 {
621 //Allocate all the histograms
622 for ( unsigned int sliceIndex = 0; sliceIndex < m_NumPhiSlices; sliceIndex++ )
623 {
624 nHisto[0][sliceIndex].resize( NumZhistoBins + 1 );
625 zHisto[0][sliceIndex].resize( NumZhistoBins + 1 );
626 }
627 if ( m_chargeAware )
628 {
629 for ( unsigned int sliceIndex = 0; sliceIndex < m_NumPhiSlices; sliceIndex++ )
630 {
631 nHisto[1][sliceIndex].resize( NumZhistoBins + 1 );
632 zHisto[1][sliceIndex].resize( NumZhistoBins + 1 );
633 }
634 }
635
636 //Populate the histograms
637 for ( unsigned int sliceIndex = 0; sliceIndex < m_NumPhiSlices; sliceIndex++ )
638 {
639 allSlices[ sliceIndex ]->GetHistogram( &( nHisto[0][sliceIndex] ), &( zHisto[0][sliceIndex] ),
640 &( nHisto[1][sliceIndex] ), &( zHisto[1][sliceIndex] ),
642 //Note the extra arguments here - pointers to the whole histogram collection
643 //This allows the filling of neighbouring slice histograms as required, but breaks thread safety
644
645 delete allSlices[ sliceIndex ];
646 }
647 }
648 else
649 {
650 //Allocate the z-axis histograms
651 nHisto[0][0].resize( NumZhistoBins + 1 );
652 zHisto[0][0].resize( NumZhistoBins + 1 );
653 if ( m_chargeAware )
654 {
655 nHisto[1][0].resize( NumZhistoBins + 1 );
656 zHisto[1][0].resize( NumZhistoBins + 1 );
657 }
658
659 //Populate the histogram - fast and memory-efficient, but not thread safe (use MakeHistogram for thread safety)
660 for ( unsigned int sliceIndex = 0; sliceIndex < m_NumPhiSlices; sliceIndex++ )
661 {
662 allSlices[ sliceIndex ]->GetHistogram( &( nHisto[0][0] ), &( zHisto[0][0] ),
663 &( nHisto[1][0] ), &( zHisto[1][0] ),
665 delete allSlices[ sliceIndex ];
666 }
667 }
668
669 /*
670 printf("etaRoI: %f\n", etaRoI);
671 printf("ZBinSize: %f\n", ZBinSize);
672 printf("m_minZBinSize %f\n", m_minZBinSize);
673 printf("NumZhistoBins: %d\n",NumZhistoBins);
674 */
675
676
677
680
681 double pedestal = 0;
682
683 if ( m_weightThreshold>0 ) {
684
685 int count = 0;
686
687 for ( long zpm=0; zpm<1 || ( m_chargeAware && zpm<2 ) ; ++zpm ) {
688
690
691 if((*nfiter).empty()) continue; // only check the filled zHistos
692 if((*nfiter).size() <= 2 ) continue;// this is only a protection : with proper inputs to zfinder, it is always satisfied
693
694 for(std::vector<long>::iterator niter=nfiter->begin()+2; niter!=nfiter->end(); ++niter ) {
696 if ( *niter>=0 ) {
697 count++;
698 pedestal += *(niter) + *(niter-1) + *(niter-2);
699 }
700 }
701 }
702 }
703
704 if ( count>0 ) pedestal /= count;
705
706 }
707
708
709
710
711 // Now the nHisto's are filled; find the 3 consecutive bins with the highest number of entries...
712 //
713
716
717
718
719 while((int)zoutput.size() < m_numberOfPeaks) {
720
721 long maxh=0; // was 1 before triplets were introduced
722 long binMax=0;
723 long bending=0, bestPhi=0;
724 long ztest;
725
726 for ( long zpm=0; zpm<1 || ( m_chargeAware && zpm<2 ) ; ++zpm ) {
727
729
730 if((*nfiter).empty()) continue; // only check the filled zHistos
731 if((*nfiter).size() <= 2 ) continue;// this is only a protection : with proper inputs to zfinder, it is always satisfied
732
733 for(std::vector<long>::iterator niter=(*nfiter).begin()+2; niter!=(*nfiter).end(); ++niter ) {
734
735 ztest = *(niter-2) + *(niter-1) + *(niter);
736 if ( ztest <= 0 || ztest < maxh ) continue;
739 if ( ztest >= maxh ) { // && ztest>m_weightThreshold ) {
740 long bintest = niter-(*nfiter).begin()-1;
741 if ( ztest > maxh ||
742 // for two candidates at same "height", prefer the more central one
744 maxh = ztest;
745 binMax = bintest;
746 bestPhi = nfiter-nHisto[zpm].begin();
747 bending = zpm;
748 }
749 }
750 }// end of niter loop
751 }
752 }
753 m_NMax = maxh;
756 if ( maxh==0 || ( m_tripletMode==0 && maxh<2 ) ) {
757 break;
758 }
759
760 // ...and compute the "entries-weighted" average bin position
761
762 double weightedMax = ( zHisto[bending][bestPhi][binMax] +
765
767 if ( m_numberOfPeaks>1 ) {
769 nHisto[bending][bestPhi][binMax-1] = -1;
770 nHisto[bending][bestPhi][binMax+1] = -1;
772 zHisto[bending][bestPhi][binMax-1] = 0;
773 zHisto[bending][bestPhi][binMax+1] = 0;
774 }
775
776 int closestVtx = -1; // find the closest vertex already put into the output list
777 float dist2closestVtx = 1000; // should be larger than m_ZFinder_MaxZ*2
778 for ( size_t iv = 0; iv < zoutput.size(); ++iv )
780 closestVtx = iv;
782 }
783
788 } else {
789 zoutput.push_back( weightedMax );
790 woutput.push_back( maxh );
791 }
792
793 }
794
795
800
808
811
812
813#if 0
814 if ( m_weightThreshold>0 ) {
815
823
824 for ( unsigned i=0 ; i<zoutput.size() ; i++ ) {
827 output->push_back( woutput[i] - pedestal );
828 }
829
830 }
831 else {
832 for ( unsigned i=0 ; i<zoutput.size() ; i++ ) output->push_back( zoutput[i] );
833 }
834
835
836#else
837
841 if ( m_weightThreshold>0 ) {
842 for ( unsigned i=0 ; i<zoutput.size() ; i++ ) {
843 output->push_back( vertex( woutput[i] - pedestal, zoutput[i] ) );
844 }
845 }
846 else {
847 for ( unsigned i=0 ; i<zoutput.size() ; i++ ) {
848 output->push_back( vertex( zoutput[i], woutput[i] - pedestal ) );
849 }
850 }
851
852
853#endif
854
855 // std::cout << "SUTT zoutput size " << zoutput.size() << "\t" << roi << std::endl;
856 // for ( unsigned i=0 ; i<zoutput.size() ; i++ ) std::cout << "SUTT zoutput " << i << "\t" << zoutput[i] << std::endl;
857
858 return output;
859}
Scalar phi() const
phi method
long fillVectors(const std::vector< const TrigSiSpacePoint * > &spVec, const IRoiDescriptor &roi, std::vector< double > &phi, std::vector< double > &rho, std::vector< double > &zed, std::vector< long > &lyr, std::vector< long > &filledLayers)

◆ GetInternalStatus()

int Run1::IDScanZFinderInternal< TrigSiSpacePoint >::GetInternalStatus ( ) const
inlineprotectedinherited

Definition at line 81 of file IDScanZFinderInternal.h.

81{ return m_Status; }

◆ getName()

const std::string & Run1::IDScanZFinderInternal< TrigSiSpacePoint >::getName ( ) const
inlineprotectedinherited

Definition at line 78 of file IDScanZFinderInternal.h.

78{ return m_Name; }

◆ GetnHisto()

const std::vector< std::vector< long > > * Run1::IDScanZFinderInternal< TrigSiSpacePoint >::GetnHisto ( )
inlineinherited

Definition at line 58 of file IDScanZFinderInternal.h.

58{ return m_nHisto; }

◆ GetNMax()

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::GetNMax ( )
inlineinherited

Definition at line 61 of file IDScanZFinderInternal.h.

61{ return m_NMax; }

◆ GetReturnValue()

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::GetReturnValue ( ) const
inlineprotectedinherited

Definition at line 88 of file IDScanZFinderInternal.h.

88{ return m_returnval; }

◆ getType()

const std::string & Run1::IDScanZFinderInternal< TrigSiSpacePoint >::getType ( ) const
inlineprotectedinherited

Definition at line 77 of file IDScanZFinderInternal.h.

77{ return m_Type; }

◆ getVersion()

const std::string & Run1::IDScanZFinderInternal< TrigSiSpacePoint >::getVersion ( ) const
inlineprotectedinherited

Definition at line 79 of file IDScanZFinderInternal.h.

79{ return mZFIVER; }

◆ GetzHisto()

const std::vector< std::vector< double > > * Run1::IDScanZFinderInternal< TrigSiSpacePoint >::GetzHisto ( )
inlineinherited

Definition at line 59 of file IDScanZFinderInternal.h.

59{ return m_zHisto; }

◆ initialize()

StatusCode IDScanZFinder::initialize ( )
overridevirtual

NB: These only have to go here, because they need to write to the msgsvc, and because is rubbish, we can't pass in a pointer to a (non-athena) sub algorithm.

get first endcap layer, so we know how many barrel layers there are

pass in the total number of layers, and the last barrel layer NB: decrement the endcap pixels, as we want the layer number of the last barrel layer, not the number of the first endcap pixel layer

Definition at line 60 of file IDScanZFinder.cxx.

61{
62 // NB: This should go into the InitializeInternal !!!!!!!!!
63 // NO internal settings should be changed in here, this should just
64 // be an athena wrapper !!!
65
66 // phiBinSize is expected in degrees (~0.2); make sure it is > ZFinder_MinPhiSliceSize
67 //
68
72 ATH_MSG_WARNING("Requested PhiBinSize of " << m_phiBinSize
73 << " degrees is smaller than the minimum allowed (" << ZFinder_MinPhiSliceSize
74 << " degrees). Set to the minimum value.");
75 // m_phiBinSize = ZFinder_MinPhiSliceSize;
76 }
77
78 // NB: This should go into the InitializeInternal !!!!
79 if ( m_dphideta > 0 ){
80 ATH_MSG_WARNING("Requested DPhiDEta of " << m_dphideta
81 << " is positive. Setting to its negative!");
82 // m_dphideta *= -1.;
83 }
84
85 ATH_CHECK( m_numberingTool.retrieve() );
86
89 int offsetEndcapPixels = m_numberingTool->offsetEndcapPixels();
90 int maxSiliconLayerNum = m_numberingTool->maxSiliconLayerNum();
91 // int offsetBarrelSCT = m_numberingTool->offsetBarrelSCT();
92
93
94 // std::cout << "ZFinder::initialise() offset pixels " << offsetEndcapPixels
95 // << "\toffsetBarrelSCT " << offsetBarrelSCT
96 // << "\tmaxlayers " << maxSiliconLayerNum << std::endl;
97
102 initializeInternal(maxSiliconLayerNum,offsetEndcapPixels-1);
103
104 ATH_MSG_INFO("IDScanZFinder constructed: name() " << name() );
105 ATH_MSG_INFO("IDScanZFinderInternal version: " << getVersion() );
106 ATH_MSG_INFO("IDScanZFinder::PixOnly set to " << m_pixOnly );
107 ATH_MSG_INFO("IDScanZFinder::FullScanMode " << m_fullScanMode );
108 ATH_MSG_INFO("IDScanZFinder::PhiBinSize set to " << m_phiBinSize );
109 ATH_MSG_INFO("IDScanZFinder::# of peaks to consider: " << m_numberOfPeaks );
110 ATH_MSG_INFO("IDScanZFinder::z bin size " << m_minZBinSize );
111 ATH_MSG_INFO("IDScanZFinder::eta coeff " << m_zBinSizeEtaCoeff);
112
113 ATH_MSG_INFO("IDScanZFinder::m_nFirstLayers = " << m_nFirstLayers );
114 ATH_MSG_INFO("IDScanZFinder::m_invPhiSliceSize = " << m_invPhiSliceSize );
115 ATH_MSG_INFO("IDScanZFinder::m_phiBinSize = " << m_phiBinSize );
116 ATH_MSG_INFO("IDScanZFinder::m_dphideta = " << m_dphideta );
117 ATH_MSG_INFO("IDScanZFinder::m_neighborMultiplier = " << m_neighborMultiplier);
118 ATH_MSG_INFO("IDScanZFinder::m_minZBinSize = " << m_minZBinSize );
119 ATH_MSG_INFO("IDScanZFinder::m_zBinSizeEtaCoeff = " << m_zBinSizeEtaCoeff);
120 ATH_MSG_INFO("IDScanZFinder::m_chargeAware = " << m_chargeAware );
121 ATH_MSG_INFO("IDScanZFinder::m_zHistoPerPhi = " << m_zHistoPerPhi );
122
123 ATH_MSG_INFO("IDScanZFinder::m_nvrtxSeparation = " << m_nvrtxSeparation );
124 ATH_MSG_INFO("IDScanZFinder::m_vrtxDistCut = " << m_vrtxDistCut );
125 ATH_MSG_INFO("IDScanZFinder::m_vrtxMixing = " << m_vrtxMixing );
126 ATH_MSG_INFO("IDScanZFinder::m_preferCentralZ = " << m_preferCentralZ );
127
128 ATH_MSG_INFO("IDScanZFinder::m_trustSPprovider = " << m_trustSPprovider );
129
130 ATH_MSG_INFO("IDScanZFinder::m_tripletMode = " << m_tripletMode );
131
132 ATH_MSG_INFO("IDScanZFinder::m_weigthThreshold = " << m_weightThreshold );
133
134 return StatusCode::SUCCESS;
135}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
const double ZFinder_MinPhiSliceSize
void initializeInternal(long maxLayers, long lastBarrel)

◆ initializeInternal()

void Run1::IDScanZFinderInternal< TrigSiSpacePoint >::initializeInternal ( long maxLayers,
long lastBarrel )
inherited

this has to be computed event by event !!! m_NumPhiSlices = long (ceil( m_usedROIphiWidth*m_invPhiSliceSize ));

barrel

standard Endcap

increment all the layer ids by one because of the IBL IF and ONLY IF the IBL is included

Definition at line 54 of file IDScanZFinderInternal.h.

228{
230
233
234 // std::cout << "m_IdScan_MaxNumLayers " << m_IdScan_MaxNumLayers
235 // << "\tm_IdScan_LastBrlLayer " << m_IdScan_LastBrlLayer << std::endl;
236
237 // number of phi neighbours to look at
238 // if ( m_extraPhi.size()==0 )
240
243
244 // from IDScanZFinder::initialize
247 if ( m_dphideta > 0 ) m_dphideta *= -m_dphideta;
248
252
253 for (long l1=0; l1<m_IdScan_MaxNumLayers-1; ++l1) {
254 for (long l2=l1+1; l2<m_IdScan_MaxNumLayers; ++l2) {
255 m_extraPhi[l1][l2]=1; // look at a single phi neighbour
256 }
257 }
258
260
261 long first_layer = 0;
262 long offset_layer = 1;
263 if ( m_IdScan_MaxNumLayers<20 ) {
264 first_layer = 1;
265 offset_layer = 0;
266 }
267
268 long lyrcnt = 0;
269 for (long l1=0; l1<m_IdScan_LastBrlLayer; ++l1) {
270 for (long l2=l1+1; l2<=m_IdScan_LastBrlLayer; ++l2) {
271 double dphi = ZF_dphiBrl[lyrcnt + 7*first_layer];
273 m_extraPhi[l1][l2]=static_cast<long>( ceil( sqrt(dphi*dphi+ZF_phiRes*ZF_phiRes*2) * m_invPhiSliceSize ) );
274
275 // std::cout << "test 1 " << l1 << " " << l2 << "\tmax : " << m_IdScan_MaxNumLayers << std::endl;
276
277 if (m_extraPhi[l1][l2]<1) m_extraPhi[l1][l2]=1;
278 // std::cout << "Delta Phi between layers " << l1 << " and " << l2
279 // << " = "<< ZF_dphiBrl[lyrcnt]
280 // << " rads ( " << m_extraPhi[l1][l2] << " bins including phi resln.)\n";
281 lyrcnt++;
282 }
283 }
284
285
287
288
289
290 for ( long lyrpair=12*first_layer ; lyrpair<117; ++lyrpair ) {
291
292 double dphi = ZF_dphiEC[lyrpair*4+2];
295 long l1 = (long)ZF_dphiEC[lyrpair*4] + offset_layer;
296 long l2 = (long)ZF_dphiEC[lyrpair*4+1] + offset_layer;
297 double eta = ZF_dphiEC[lyrpair*4+3];
298 // std::cout << "Delta Phi between layers " << l1 << " and " << l2
299 // << " = " << dphi << " rads @ eta=" << eta
300 // << ". Extrapolate it to eta=0.9 to get ";
301 dphi = dphi + m_dphideta * ( 0.9 - eta );
304
305 if (m_extraPhi[l1][l2]<1) m_extraPhi[l1][l2]=1;
306
307 // std::cout << "test 2 " << l1 << " " << l2 << "\tmax : " << m_IdScan_MaxNumLayers << std::endl;
308
309 // std::cout << dphi << " rads ( " << m_extraPhi[l1][l2] << " bins including phi resln.)\n";
310 }
311
312}

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & ITrigRun1ZFinder::interfaceID ( )
inlinestaticinherited

Definition at line 21 of file ITrigRun1ZFinder.h.

21 {
23 }
static const InterfaceID IID_ITrigRun1ZFinder("ITrigRun1ZFinder", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ SetInternalStatus()

int Run1::IDScanZFinderInternal< TrigSiSpacePoint >::SetInternalStatus ( int s)
inlineprotectedinherited

Definition at line 82 of file IDScanZFinderInternal.h.

82{ m_Status = s; return m_Status; }

◆ setLayers()

void Run1::IDScanZFinderInternal< TrigSiSpacePoint >::setLayers ( long maxLayers,
long lastBarrelLayer )
inlineinherited

Definition at line 64 of file IDScanZFinderInternal.h.

64 {
65 m_IdScan_MaxNumLayers = maxLayers; // dphiEC depends on this value
66 m_IdScan_LastBrlLayer = lastBarrelLayer; // dphiBrl depends on this value
67 }

◆ SetReturnValue()

void Run1::IDScanZFinderInternal< TrigSiSpacePoint >::SetReturnValue ( double d)
inlineprotectedinherited

Definition at line 87 of file IDScanZFinderInternal.h.

87{ m_returnval=d; }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_chargeAware

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_chargeAware
protectedinherited

Definition at line 120 of file IDScanZFinderInternal.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_dphideta

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_dphideta
protectedinherited

Definition at line 123 of file IDScanZFinderInternal.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extraPhi

std::vector< std::vector<long> > Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_extraPhi
protectedinherited

Definition at line 126 of file IDScanZFinderInternal.h.

◆ m_forcePhiBinSize

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_forcePhiBinSize
protectedinherited

Definition at line 104 of file IDScanZFinderInternal.h.

◆ m_fullScanMode

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_fullScanMode
protectedinherited

Definition at line 146 of file IDScanZFinderInternal.h.

◆ m_halfTripletDK

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_halfTripletDK
protectedinherited

Definition at line 151 of file IDScanZFinderInternal.h.

◆ m_IdScan_LastBrlLayer

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_IdScan_LastBrlLayer
protectedinherited

Definition at line 95 of file IDScanZFinderInternal.h.

◆ m_IdScan_MaxNumLayers

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_IdScan_MaxNumLayers
protectedinherited

maximum number of layers and last barrel layer

Definition at line 94 of file IDScanZFinderInternal.h.

◆ m_invPhiSliceSize

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_invPhiSliceSize
protectedinherited

Definition at line 100 of file IDScanZFinderInternal.h.

◆ m_minZBinSize

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_minZBinSize
protectedinherited

Definition at line 108 of file IDScanZFinderInternal.h.

◆ m_Name

std::string Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_Name
protectedinherited

Definition at line 116 of file IDScanZFinderInternal.h.

◆ m_neighborMultiplier

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_neighborMultiplier
protectedinherited

Definition at line 124 of file IDScanZFinderInternal.h.

◆ m_nFirstLayers

int Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_nFirstLayers
protectedinherited

Definition at line 135 of file IDScanZFinderInternal.h.

◆ m_nHisto

std::vector< std::vector<long> > Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_nHisto[2]
protectedinherited

Definition at line 130 of file IDScanZFinderInternal.h.

◆ m_NMax

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_NMax
protectedinherited

Definition at line 133 of file IDScanZFinderInternal.h.

◆ m_numberingTool

ToolHandle<ITrigL2LayerNumberTool> IDScanZFinder::m_numberingTool

no private data members - all inherited from the IDScanZFinderInternal class NB: BE CAREFUL !

!! Nothing set with a job option should EVER be changed inside the ZFinderInternal code actually, need the TrigL2LayerNumberTool so we can configure with the correct number of layers when including the IBL etc

Definition at line 58 of file IDScanZFinder.h.

◆ m_numberOfPeaks

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_numberOfPeaks
protectedinherited

Definition at line 111 of file IDScanZFinderInternal.h.

◆ m_NumPhiSlices

long Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_NumPhiSlices
protectedinherited

Definition at line 101 of file IDScanZFinderInternal.h.

◆ m_nvrtxSeparation

int Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_nvrtxSeparation
protectedinherited

Definition at line 139 of file IDScanZFinderInternal.h.

◆ m_phiBinSize

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_phiBinSize
protectedinherited

Definition at line 103 of file IDScanZFinderInternal.h.

◆ m_pixOnly

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_pixOnly
protectedinherited

Definition at line 113 of file IDScanZFinderInternal.h.

◆ m_preferCentralZ

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_preferCentralZ
protectedinherited

Definition at line 140 of file IDScanZFinderInternal.h.

◆ m_returnval

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_returnval
protectedinherited

Definition at line 144 of file IDScanZFinderInternal.h.

◆ m_ROIphiWidth

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_ROIphiWidth
protectedinherited

Definition at line 106 of file IDScanZFinderInternal.h.

◆ m_Status

int Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_Status
protectedinherited

Definition at line 118 of file IDScanZFinderInternal.h.

◆ m_tripletDK

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_tripletDK
protectedinherited

Definition at line 150 of file IDScanZFinderInternal.h.

◆ m_tripletDP

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_tripletDP
protectedinherited

Definition at line 152 of file IDScanZFinderInternal.h.

◆ m_tripletDZ

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_tripletDZ
protectedinherited

Definition at line 149 of file IDScanZFinderInternal.h.

◆ m_tripletMode

int Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_tripletMode
protectedinherited

Definition at line 148 of file IDScanZFinderInternal.h.

◆ m_trustSPprovider

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_trustSPprovider
protectedinherited

Definition at line 142 of file IDScanZFinderInternal.h.

◆ m_Type

std::string Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_Type
protectedinherited

Definition at line 115 of file IDScanZFinderInternal.h.

◆ m_usedphiBinSize

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_usedphiBinSize
protectedinherited

Definition at line 105 of file IDScanZFinderInternal.h.

◆ m_usedROIphiWidth

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_usedROIphiWidth
protectedinherited

Definition at line 107 of file IDScanZFinderInternal.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_vrtxDistCut

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_vrtxDistCut
protectedinherited

Definition at line 137 of file IDScanZFinderInternal.h.

◆ m_vrtxMixing

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_vrtxMixing
protectedinherited

Definition at line 138 of file IDScanZFinderInternal.h.

◆ m_weightThreshold

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_weightThreshold
protectedinherited

to apply a hreshold to the found vertex candidates

Definition at line 156 of file IDScanZFinderInternal.h.

◆ m_zBinSizeEtaCoeff

double Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_zBinSizeEtaCoeff
protectedinherited

Definition at line 109 of file IDScanZFinderInternal.h.

◆ m_zHisto

std::vector< std::vector<double> > Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_zHisto[2]
protectedinherited

Definition at line 131 of file IDScanZFinderInternal.h.

◆ m_zHistoPerPhi

bool Run1::IDScanZFinderInternal< TrigSiSpacePoint >::m_zHistoPerPhi
protectedinherited

Definition at line 121 of file IDScanZFinderInternal.h.


The documentation for this class was generated from the following files: