![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <SingleTrackConversionTool.h>
|
| SingleTrackConversionTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~SingleTrackConversionTool () |
|
virtual StatusCode | initialize () override |
|
virtual StatusCode | finalize () override |
|
xAOD::Vertex * | buildSingleTrackParticleConversion (const xAOD::TrackParticle *, xAOD::VertexContainer *container) const |
| Build single track conversion candidate. More...
|
|
bool | selectSingleTrackParticleConversion (const xAOD::TrackParticle *) const |
| Select single track conversion candidates. More...
|
|
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 |
|
Helper tools to reconstruct single track conversions
- Author
- Tatjana Lenz , Thomas Koffas
Definition at line 29 of file SingleTrackConversionTool.h.
◆ StoreGateSvc_t
◆ SingleTrackConversionTool()
InDet::SingleTrackConversionTool::SingleTrackConversionTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Definition at line 42 of file SingleTrackConversionTool.cxx.
52 declareInterface<SingleTrackConversionTool>(
this);
59 "Only check TRT PID if all hits are Xe hits");
◆ ~SingleTrackConversionTool()
InDet::SingleTrackConversionTool::~SingleTrackConversionTool |
( |
| ) |
|
|
virtualdefault |
◆ buildSingleTrackParticleConversion()
Build single track conversion candidate.
xAOD::TrackParticle interface.
Create a RecVertex at the first measurement of the track.
Need to compute a global position covariance matrix as J.C.JT
The local position parameters covariance matrix C (2x2)
The Jacobian matrix J (3x2)
The A = J.C (3x2)
The A.JT = J.C.JT (3x3)
Construct the new covariance matrix (3x3)
The local position parameters covariance matrix C (2x2)
The straight line surface (wire) global directions
The particle global direction
The Jacobian matrix J (3x2)
The A = J.C (3x2)
The A.JT = J.C.JT (3x3)
Construct the new covariance matrix (3x3)
Definition at line 93 of file SingleTrackConversionTool.cxx.
99 unsigned int index(0);
131 double Ax[3] = {
T(0, 0),
T(1, 0),
T(2, 0) };
132 double Ay[3] = {
T(0, 1),
T(1, 1),
T(2, 1) };
141 double A11 = a11 * p11 + a12 * p21;
142 double A12 = a11 * p12 + a12 * p22;
143 double A21 = a21 * p11 + a22 * p21;
144 double A22 = a21 * p12 + a22 * p22;
145 double A31 = a31 * p11 + a32 * p21;
146 double A32 = a31 * p12 + a32 * p22;
149 double P11 = a11 * A11 + A12 * a12;
150 double P12 = A11 * a21 + A12 * a22;
151 double P13 = A11 * a31 + A12 * a32;
152 double P21 = A21 * a11 + A22 * a12;
153 double P22 = A21 * a21 + A22 * a22;
154 double P23 = A21 * a31 + A22 * a32;
155 double P31 = A31 * a11 + A32 * a12;
156 double P32 = A31 * a21 + A32 * a22;
157 double P33 = A31 * a31 + A32 * a32;
179 double A[3] = {
T(0,2),
T(1,2),
T(2,2)};
187 double Bx =
A[1]*Pz-
A[2]*
Py;
188 double By =
A[2]*Px-
A[0]*Pz;
189 double Bz =
A[0]*
Py-
A[1]*Px;
190 double Bn = 1./sqrt(Bx*Bx+By*By+Bz*Bz); Bx*=Bn; By*=Bn; Bz*=Bn;
191 double a11 = Bx;
double a12 =
A[0];
192 double a21 = By;
double a22 =
A[1];
193 double a31 = Bz;
double a32 =
A[2];
196 double A11 = a11*p11 + a12*p21;
double A12 = a11*p12 + a12*p22;
197 double A21 = a21*p11 + a22*p21;
double A22 = a21*p12 + a22*p22;
198 double A31 = a31*p11 + a32*p21;
double A32 = a31*p12 + a32*p22;
201 double P11 = a11*A11 + A12*a12;
double P12 = A11*a21 + A12*a22;
double P13 = A11*a31 + A12*a32;
202 double P21 = A21*a11 + A22*a12;
double P22 = A21*a21 + A22*a22;
double P23 = A21*a31 + A22*a32;
203 double P31 = A31*a11 + A32*a12;
double P32 = A31*a21 + A32*a22;
double P33 = A31*a31 + A32*a32;
206 nCovVtx(0,0) = P11; nCovVtx(0,1) = P12; nCovVtx(0,2) = P13;
207 nCovVtx(1,0) = P21; nCovVtx(1,1) = P22; nCovVtx(1,2) = P23;
208 nCovVtx(2,0) = P31; nCovVtx(2,1) = P32; nCovVtx(2,2) = P33;
218 vertex->setCovariancePosition(nCovVtx);
220 vertex->setFitQuality( 0, 0);
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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
◆ finalize()
StatusCode InDet::SingleTrackConversionTool::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
StatusCode InDet::SingleTrackConversionTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
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 & InDet::SingleTrackConversionTool::interfaceID |
( |
| ) |
|
|
static |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
◆ renounceArray()
◆ selectSingleTrackParticleConversion()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_evtStore
◆ m_maxBLhits
int InDet::SingleTrackConversionTool::m_maxBLhits |
|
protected |
◆ m_minInitR
double InDet::SingleTrackConversionTool::m_minInitR |
|
protected |
◆ m_minInitR_noBLay
double InDet::SingleTrackConversionTool::m_minInitR_noBLay |
|
protected |
Minimum initial hit radius in order to consider track as coming from photon conversion.
Definition at line 52 of file SingleTrackConversionTool.h.
◆ m_PIDonlyForXe
bool InDet::SingleTrackConversionTool::m_PIDonlyForXe |
|
protected |
◆ m_singleThreshold
double InDet::SingleTrackConversionTool::m_singleThreshold |
|
protected |
Minimum initial hit radius in order to consider track as coming from photon conversion.
Definition at line 54 of file SingleTrackConversionTool.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
Vertex_v1 Vertex
Define the latest version of the vertex class.
const Amg::Vector3D & position() const
Access method for the position.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
@ numberOfTRTXenonHits
number of TRT hits on track in straws with xenon [unit8_t].
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
@ expectInnermostPixelLayerHit
Do we expect a 0th-layer barrel hit for this track?
@ numberOfTRTHits
number of TRT hits [unit8_t].
bool const RAWDATA *ch2 const
#define AmgSymMatrix(dim)
virtual void setOwner(IDataHandleHolder *o)=0
@ numberOfInnermostPixelLayerOutliers
number of 0th layer barrel outliers
@ FirstMeasurement
Parameter defined at the position of the 1st measurement.
Eigen::Affine3d Transform3D
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Ensure that the ATLAS eigen extensions are properly loaded.
virtual const S & associatedSurface() const override final
Access to the Surface method.
Definition of ATLAS Math & Geometry primitives (Amg)
value_type push_back(value_type pElem)
Add an element to the end of the collection.
Eigen::Matrix< double, 3, 1 > Vector3D
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
const Amg::Vector3D & momentum() const
Access method for the momentum.
Class describing a Vertex.
#define ATH_MSG_WARNING(x)
@ eProbabilityHT
Electron probability from High Threshold (HT) information [float].
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
@ ConvVtx
Conversion vertex.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer