ATLAS Offline Software
|
#include <TrigZFinder.h>
Public Member Functions | |
TrigZFinder (const std::string &, const std::string &, const IInterface *) | |
virtual | ~TrigZFinder () |
virtual StatusCode | initialize () override |
virtual TrigVertexCollection * | findZ (const std::vector< TrigSiSpacePointBase > &spVec, const IRoiDescriptor &roi) const override |
void | initializeInternal (long maxLayers, long lastBarrel) |
std::vector< vertex > * | findZInternal (const std::vector< TrigSiSpacePointBase > &spVec, const IRoiDescriptor &roi) const |
void | setLayers (long maxLayers, long lastBarrelLayer) |
ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | evtStore () const |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More... | |
virtual StatusCode | sysInitialize () override |
Perform system initialization for an algorithm. More... | |
virtual StatusCode | sysStart () override |
Handle START transition. More... | |
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
Return this algorithm's input handles. More... | |
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
Return this algorithm's output handles. More... | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
Declare a new Gaudi property. More... | |
void | updateVHKA (Gaudi::Details::PropertyBase &) |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Public Attributes | |
ToolHandle< ITrigL2LayerNumberTool > | m_numberingTool |
no private data members - all inherited from the TrigZFinderInternal class NB: BE CAREFUL !!! Nothing set with a job option should EVER be changed inside the ZFinderInternal code More... | |
Protected Member Functions | |
const std::string & | getType () const |
const std::string & | getName () const |
long | fillVectors (const std::vector< TrigSiSpacePointBase > &spVec, const IRoiDescriptor &roi, std::vector< double > &phi, std::vector< double > &rho, std::vector< double > &zed, std::vector< long > &lyr, std::vector< long > &filledLayers, long &numPhiSlices) const |
double | computeZV (double r1, double z1, double r2, double z2) const |
double | computeZV (double r1, double p1, double z1, double r2, double p2, double z2) const |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
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. More... | |
Protected Attributes | |
long | m_IdScan_MaxNumLayers |
maximum number of layers and last barrel layer More... | |
long | m_IdScan_LastBrlLayer |
double | m_invPhiSliceSize = 0.0 |
long | m_NumPhiSlices = 0L |
double | m_phiBinSize |
bool | m_forcePhiBinSize = false |
double | m_usedphiBinSize |
double | m_ROIphiWidth |
double | m_minZBinSize |
double | m_zBinSizeEtaCoeff |
long | m_numberOfPeaks |
bool | m_pixOnly |
std::string | m_type |
std::string | m_name |
bool | m_chargeAware |
bool | m_zHistoPerPhi |
double | m_dphideta |
double | m_neighborMultiplier |
std::vector< std::vector< long > > | m_extraPhi |
int | m_nFirstLayers |
double | m_vrtxDistCut |
double | m_vrtxMixing |
int | m_nvrtxSeparation |
bool | m_preferCentralZ |
bool | m_trustSPprovider |
double | m_returnval = 0.0 |
bool | m_fullScanMode |
int | m_tripletMode |
double | m_tripletDZ |
double | m_tripletDK |
double | m_halfTripletDK |
double | m_tripletDP |
int | m_maxLayer |
double | m_minVtxSignificance |
double | m_percentile |
double | m_weightThreshold |
to apply a threshold to the found vertex candidates More... | |
std::vector< int > | m_new2old |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More... | |
Private Attributes | |
StoreGateSvc_t | m_evtStore |
Pointer to StoreGate (event store by default) More... | |
StoreGateSvc_t | m_detStore |
Pointer to StoreGate (detector store by default) More... | |
std::vector< SG::VarHandleKeyArray * > | m_vhka |
bool | m_varHandleArraysDeclared |
Definition at line 40 of file TrigZFinder.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
TrigZFinder::TrigZFinder | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Definition at line 26 of file TrigZFinder.cxx.
|
inlinevirtual |
Definition at line 45 of file TrigZFinder.h.
|
protectedinherited |
Definition at line 170 of file TrigZFinderInternal.cxx.
|
protectedinherited |
Definition at line 166 of file TrigZFinderInternal.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
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
|
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 203 of file TrigZFinderInternal.cxx.
|
overridevirtual |
|
inherited |
First calculate the pedestal to be subtracted (only used in the HI case at the moment)
skip bins used for the vertex candidates
calculate the vertex significance: First sort the n entries in each bin in to order, then calculate the mean bg excluding the largest (1-m_percentile), then the significance for each peak will be sig = (ypeak - bg)/sqrt(bg) and we can keep only those where sig > m_minVtxSignificance
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
here we reject those vertex candidates where significance < m_minVtxSignificance
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
This is ridiculous, passing parameters about differently because we don't have a proper interface defined
Definition at line 378 of file TrigZFinderInternal.cxx.
|
inlineprotectedinherited |
Definition at line 62 of file TrigZFinderInternal.h.
|
inlineprotectedinherited |
Definition at line 61 of file TrigZFinderInternal.h.
|
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 69 of file TrigZFinder.cxx.
|
inherited |
the number of phi slices (numPhiSlices) has to be computed event by event !!!
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 58 of file TrigZFinderInternal.cxx.
|
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.
|
inlinestaticinherited |
Definition at line 21 of file ITrigZFinder.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 54 of file TrigZFinderInternal.h.
|
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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 108 of file TrigZFinderInternal.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 111 of file TrigZFinderInternal.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 114 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 94 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 128 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 133 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 85 of file TrigZFinderInternal.h.
|
protectedinherited |
maximum number of layers and last barrel layer
Definition at line 84 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 90 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 136 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 138 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 97 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 105 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 112 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 146 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 117 of file TrigZFinderInternal.h.
ToolHandle<ITrigL2LayerNumberTool> TrigZFinder::m_numberingTool |
no private data members - all inherited from the TrigZFinderInternal 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 TrigZFinder.h.
|
protectedinherited |
Definition at line 100 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 91 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 121 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 139 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 93 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 102 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 122 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 126 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 96 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 132 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 134 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 131 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 130 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 124 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 104 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 95 of file TrigZFinderInternal.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 119 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 120 of file TrigZFinderInternal.h.
|
protectedinherited |
to apply a threshold to the found vertex candidates
Definition at line 144 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 98 of file TrigZFinderInternal.h.
|
protectedinherited |
Definition at line 109 of file TrigZFinderInternal.h.