![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <InDetSVWithMuonTool.h>
|
| InDetSVWithMuonTool (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~InDetSVWithMuonTool () |
|
StatusCode | initialize () |
|
StatusCode | finalize () |
|
const xAOD::Vertex * | findSVwithMuon (const xAOD::Vertex &PrimVrt, const xAOD::TrackParticle *Muon, const std::vector< const xAOD::TrackParticle * > &InpTrk) const |
|
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 |
|
|
Hists & | getHists () const |
|
xAOD::Vertex * | MuonVrtSec (const std::vector< const xAOD::TrackParticle * > &InpTrk, const xAOD::Vertex &PrimVrt, const xAOD::TrackParticle *Muon, std::vector< const xAOD::TrackParticle * > &ListSecondTracks) const |
|
StatusCode | CutTrk (double, double, double, double, double, long int, long int, long int, long int) const |
|
void | SelGoodTrkParticle (const std::vector< const xAOD::TrackParticle * > &InpTrk, const xAOD::Vertex &PrimVrt, const xAOD::TrackParticle *Muon, std::vector< const xAOD::TrackParticle * > &SelectedTracks) const |
|
double | FitCommonVrt (std::vector< const xAOD::TrackParticle * > &ListSecondTracks, const xAOD::Vertex &PrimVrt, const xAOD::TrackParticle *Muon, Amg::Vector3D &FitVertex, std::vector< double > &ErrorMatrix, TLorentzVector &Momentum, std::vector< std::vector< double > > &TrkAtVrt) const |
|
template<class Trk > |
void | RemoveEntryInList (std::vector< const Trk * > &, int) const |
|
template<class Trk > |
void | RemoveDoubleEntries (std::vector< const Trk * > &) const |
|
void | GetTrkWithMuonVrt (std::vector< const xAOD::TrackParticle * > &SelectedTracks, const xAOD::Vertex &PrimVrt, const xAOD::TrackParticle *Muon, std::vector< const xAOD::TrackParticle * > &ListSecondTracks) const |
|
StatusCode | VKalVrtFitFastBase (const std::vector< const xAOD::TrackParticle * > &listPart, Amg::Vector3D &Vertex, Trk::IVKalState &istate) const |
|
StatusCode | VKalVrtFitBase (const std::vector< const xAOD::TrackParticle * > &listPart, Amg::Vector3D &Vertex, TLorentzVector &Momentum, long int &Charge, std::vector< double > &ErrorMatrix, std::vector< double > &Chi2PerTrk, std::vector< std::vector< double > > &TrkAtVrt, double &Chi2, Trk::IVKalState &istate, bool ifCovV0) const |
|
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...
|
|
Definition at line 66 of file InDetSVWithMuonTool.h.
◆ StoreGateSvc_t
◆ InDetSVWithMuonTool()
InDet::InDetSVWithMuonTool::InDetSVWithMuonTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~InDetSVWithMuonTool()
InDet::InDetSVWithMuonTool::~InDetSVWithMuonTool |
( |
| ) |
|
|
virtual |
◆ ConeDist()
double InDet::InDetSVWithMuonTool::ConeDist |
( |
const AmgVector(5) & |
VectPerig, |
|
|
const TLorentzVector & |
Dir |
|
) |
| |
|
staticprivate |
◆ CutTrk()
StatusCode InDet::InDetSVWithMuonTool::CutTrk |
( |
double |
PInvVert, |
|
|
double |
ThetaVert, |
|
|
double |
A0Vert, |
|
|
double |
ZVert, |
|
|
double |
Chi2, |
|
|
long int |
PixelHits, |
|
|
long int |
SctHits, |
|
|
long int |
SharedHits, |
|
|
long int |
BLayHits |
|
) |
| const |
|
private |
◆ 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::InDetSVWithMuonTool::finalize |
( |
| ) |
|
◆ FindMaxAfterFirst()
int InDet::InDetSVWithMuonTool::FindMaxAfterFirst |
( |
std::vector< double > & |
Chi2PerTrk | ) |
|
|
staticprivate |
◆ findSVwithMuon()
◆ FitCommonVrt()
Definition at line 138 of file MuonVrtSec.cxx.
150 ListSecondTracks.insert(ListSecondTracks.begin(),
Muon);
152 int NTracksVrt = ListSecondTracks.size();
154 const double maxRecMASS=6000.;
156 double Chi2 = 0., FitProb=0.;
158 std::vector<double> Chi2PerTrk(0);
163 std::vector<double> InpMass(NTracksVrt,
m_massPi);
166 if(
sc.isFailure() || FitVertex.perp() >
m_Rlayer2*2. ) {
178 for (
int i=0;
i < NTracksVrt-1;
i++) {
179 sc=
VKalVrtFitBase(ListSecondTracks,FitVertex, Momentum,Charge,ErrorMatrix,Chi2PerTrk,TrkAtVrt,Chi2,
181 if(
sc.isFailure() || Chi2 > 1000000. ) {
return -10000.;}
183 FitProb=TMath::Prob( Chi2, 2*ListSecondTracks.size()-3);
184 if(ListSecondTracks.size() == 2 )
break;
185 if( FitProb > 0.001) {
186 if( Momentum.M() <maxRecMASS) {
189 double minM=1.e12;
int minT=-1;
double minChi2=1.e12;
190 for(
int it=0;
it<(
int)ListSecondTracks.size();
it++){
191 std::vector<const xAOD::TrackParticle*> tmpList(ListSecondTracks);
192 tmpList.erase(tmpList.begin()+
it);
193 sc=
VKalVrtFitBase(tmpList,tmpVertex,Momentum,Charge,ErrorMatrix,Chi2PerTrk,TrkAtVrt,Chi2,*state,
true);
194 if(
sc.isFailure())
continue;
195 if(Momentum.M()<minM && minM>maxRecMASS){minM=Momentum.M(); minT=
it; minChi2=Chi2;}
196 else if(Momentum.M()<maxRecMASS && minM<maxRecMASS && Chi2<minChi2){minChi2=Chi2; minT=
it;}
◆ getHists()
◆ GetTrkWithMuonVrt()
Definition at line 222 of file MuonVrtSec.cxx.
229 std::vector<double> ErrorMatrix,Chi2PerTrk,VKPerigee,CovPerigee;
230 std::vector< std::vector<double> > TrkAtVrt;
231 TLorentzVector Momentum;
232 std::vector<double> Impact,ImpactError;
233 double Chi2, Signif3D, Dist2D, MuonVrtDir;
236 long int NTracks = (
int) (SelectedTracks.size());
237 std::vector<const xAOD::TrackParticle*> TracksForFit(2,
nullptr);
242 std::vector<double> TrackSignif(NTracks);
243 double SignifR,SignifZ;
244 for (
int i=0;
i<NTracks;
i++) {
246 if(
sin(SelectedTracks[
i]->
phi() -
Muon->phi())*Impact[0] < 0 ){
247 Impact[0] = -std::abs(Impact[0]);
249 else{ Impact[0] = std::abs(Impact[0]); }
250 if( (SelectedTracks[
i]->p4().
Theta() -
Muon->p4().Theta())*Impact[1] < 0 ){
251 Impact[1] = -std::abs(Impact[1]);
253 else{ Impact[1] = std::abs(Impact[1]); }
255 SignifR = Impact[0]/ std::sqrt(ImpactError[0]);
256 SignifZ = Impact[1]/ std::sqrt(ImpactError[2]);
259 h.m_hb_impactR->Fill( SignifR );
260 h.m_hb_impactZ->Fill( SignifZ );
261 h.m_hb_impact->Fill( TrackSignif[
i] );
267 ListSecondTracks.reserve(2*NTracks);
270 TracksForFit[0]=
Muon;
271 for (
int i=0;
i<NTracks;
i++) {
274 TracksForFit[1]=SelectedTracks[
i];
276 if(
sc.isFailure() || FitVertex.perp() >
m_Rlayer2*2. ) {
280 MuonVrtDir =
Muon->p4().Px()*vDist.x() +
Muon->p4().Py()*vDist.y() +
Muon->p4().Pz()*vDist.z();
281 if( MuonVrtDir>0. ) iniVrt=FitVertex;
286 ErrorMatrix,Chi2PerTrk,TrkAtVrt,Chi2,
288 if(
sc.isFailure())
continue;
290 double mass_PiPi = Momentum.M();
291 if(mass_PiPi > 6000.)
continue;
294 h.m_hb_massPiPi->Fill( mass_PiPi );
296 Dist2D=FitVertex.perp();
297 if(Dist2D > 180. )
continue;
298 VrtVrtDist(PrimVrt, FitVertex, ErrorMatrix, Signif3D);
301 double vPos=(vDist.x()*Momentum.Px()+vDist.y()*Momentum.Py()+vDist.z()*Momentum.Pz())/Momentum.Rho();
302 if(vPos<0.)
continue;
305 h.m_hb_r2d->Fill( Dist2D );
306 h.m_hb_signif3D->Fill( Signif3D );
◆ initialize()
StatusCode InDet::InDetSVWithMuonTool::initialize |
( |
| ) |
|
Definition at line 93 of file InDetSVWithMuonTool.cxx.
98 return StatusCode::SUCCESS;
105 return StatusCode::SUCCESS;
127 ATH_MSG_FATAL(
"Filling histograms not supported in MT jobs.");
128 return StatusCode::FAILURE;
133 m_h = std::make_unique<Hists>();
138 return StatusCode::SUCCESS;
◆ 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()
static const InterfaceID& InDet::ISVWithMuonFinder::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ MuonVrtSec()
Definition at line 19 of file MuonVrtSec.cxx.
27 std::vector<const xAOD::TrackParticle*> SelectedTracks(0);
28 ListTracksNearMuon.clear();
30 if( InpTrk.empty() ) {
return nullptr;}
32 long int NTracks = SelectedTracks.size();
33 TLorentzVector TrkJet =
TotalMom(SelectedTracks);
36 h.m_hb_nseltrk->Fill( (
double)NTracks );
38 if( NTracks < 1 ) {
return nullptr;}
44 h.m_hb_muonPt->Fill(
Muon->pt() );
51 int nTracksNearMuon=ListTracksNearMuon.size();
58 if(ListTracksNearMuon.empty()) {
return nullptr;}
66 std::vector<double> ErrorMatrix;
67 std::vector< std::vector<double> > TrkAtVrt;
68 TLorentzVector Momentum;
69 std::vector<double> Impact,ImpactError;
71 double Chi2 =
FitCommonVrt( ListTracksNearMuon, PrimVrt,
Muon, FitVertex, ErrorMatrix, Momentum, TrkAtVrt);
72 if( Chi2 < 0 && ListTracksNearMuon.size()>2 ) {
73 double tpmax=0;
int ipmax=-1;
74 for(
int it=0;
it<(
int)ListTracksNearMuon.size();
it++)
if(tpmax<ListTracksNearMuon[
it]->
pt()){tpmax=ListTracksNearMuon[
it]->pt(); ipmax=
it;}
76 Chi2 =
FitCommonVrt( ListTracksNearMuon, PrimVrt,
Muon, FitVertex, ErrorMatrix, Momentum, TrkAtVrt);
77 if( Chi2 < 0 && ListTracksNearMuon.size()>2 ) {
79 for(
int it=0;
it<(
int)ListTracksNearMuon.size();
it++)
if(tpmax<ListTracksNearMuon[
it]->
pt()){tpmax=ListTracksNearMuon[
it]->pt(); ipmax=
it;}
81 Chi2 =
FitCommonVrt( ListTracksNearMuon, PrimVrt,
Muon, FitVertex, ErrorMatrix, Momentum, TrkAtVrt);
85 if( Chi2 < 0) {
return nullptr; }
93 h.m_hb_r2dc->Fill( FitVertex.perp() );
94 h.m_hb_totmass->Fill( Momentum.M() );
95 h.m_hb_nvrt2->Fill( (
double)nTracksNearMuon );
103 std::vector<float> floatErrMtx; floatErrMtx.resize(ErrorMatrix.size());
104 for(
int i=0;
i<(
int)ErrorMatrix.size();
i++) floatErrMtx[
i]=ErrorMatrix[
i];
106 tmpVertex->
setFitQuality(Chi2, (
float)(ListTracksNearMuon.size()*2.-3.));
110 double Signif3D;
VrtVrtDist(PrimVrt, FitVertex, ErrorMatrix, Signif3D);
113 std::vector<Trk::VxTrackAtVertex> & tmpVTAV=tmpVertex->
vxTrackAtVertex(); tmpVTAV.clear();
114 for(
int ii=0; ii<(
int)ListTracksNearMuon.size(); ii++) {
116 CovMtxP.setIdentity();
118 Trk::PerigeeSurface(FitVertex), CovMtxP );
119 tmpVTAV.emplace_back( 1., tmpMeasPer );
122 TEL.setStorableObject(*cont);
123 tmpVertex->addTrackAtVertex(TEL,1.);
◆ 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.
◆ pTvsDir()
◆ RemoveDoubleEntries()
template<class Trk >
void InDet::InDetSVWithMuonTool::RemoveDoubleEntries |
( |
std::vector< const Trk * > & |
ListTracks | ) |
const |
|
private |
Definition at line 223 of file InDetSVWithMuonTool.h.
226 sort(ListTracks.begin(),ListTracks.end());
227 TransfEnd =
unique(ListTracks.begin(),ListTracks.end());
228 ListTracks.erase( TransfEnd, ListTracks.end());
◆ RemoveEntryInList()
template<class Trk >
void InDet::InDetSVWithMuonTool::RemoveEntryInList |
( |
std::vector< const Trk * > & |
ListTracks, |
|
|
int |
Outlier |
|
) |
| const |
|
private |
◆ renounce()
◆ renounceArray()
◆ SelGoodTrkParticle()
Definition at line 42 of file InnerDetector/InDetRecTools/InDetSVWithMuonTool/src/CutTrk.cxx.
49 std::vector<const xAOD::TrackParticle*>::const_iterator i_ntrk;
50 std::vector<double> Impact,ImpactError;
51 for (i_ntrk = InpTrk.begin(); i_ntrk < InpTrk.end(); ++i_ntrk) {
59 if((*i_ntrk)->numberDoF() == 0) continue;
60 double trkChi2 = (*i_ntrk)->
chiSquared() / (*i_ntrk)->numberDoF();
62 double CovTrkMtx11 = (*i_ntrk)->definingParametersCovMatrix()(0,0);
63 double CovTrkMtx22 = (*i_ntrk)->definingParametersCovMatrix()(1,1);
64 double CovTrkMtx55 = (*i_ntrk)->definingParametersCovMatrix()(4,4);
73 double trkP=1./std::abs(VectPerig[4]);
75 double trkPErr=std::sqrt(CovTrkMtx55)*trkP;
76 if(trkPErr>0.5)
continue;
79 uint8_t PixelHits,SctHits,BLayHits;
82 if( SctHits<3 )
continue;
84 long int SharedHits = 0;
86 uint8_t splSCTHits,outSCTHits,splPixHits,outPixHits;
94 double ImpactA0=VectPerig[0];
95 double ImpactZ=VectPerig[1]-PrimVrt.
position().z();
98 if(std::abs((*i_ntrk)->eta())>2.) {
100 (splSCTHits || outSCTHits || outPixHits || splPixHits))
continue;
102 else {PixelHits -=1;}
104 if(std::abs((*i_ntrk)->eta())>1.65) SctHits -=1;
107 ImpactA0 , ImpactZ, trkChi2,
108 PixelHits, SctHits, SharedHits, BLayHits);
109 if(
sc.isFailure() )
continue;
110 SelectedTracks.push_back(*i_ntrk);
◆ 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.
◆ TotalMom()
◆ updateVHKA()
◆ VKalVrtFitBase()
StatusCode InDet::InDetSVWithMuonTool::VKalVrtFitBase |
( |
const std::vector< const xAOD::TrackParticle * > & |
listPart, |
|
|
Amg::Vector3D & |
Vertex, |
|
|
TLorentzVector & |
Momentum, |
|
|
long int & |
Charge, |
|
|
std::vector< double > & |
ErrorMatrix, |
|
|
std::vector< double > & |
Chi2PerTrk, |
|
|
std::vector< std::vector< double > > & |
TrkAtVrt, |
|
|
double & |
Chi2, |
|
|
Trk::IVKalState & |
istate, |
|
|
bool |
ifCovV0 |
|
) |
| const |
|
private |
◆ VKalVrtFitFastBase()
◆ VrtVrtDist()
Definition at line 20 of file InnerDetector/InDetRecTools/InDetSVWithMuonTool/src/Utilities.cxx.
24 double distx = PrimVrt.
x()- SecVrt.x();
25 double disty = PrimVrt.
y()- SecVrt.y();
26 double distz = PrimVrt.
z()- SecVrt.z();
30 PrimCovMtx(0,0) += SecVrtErr[0];
31 PrimCovMtx(0,1) += SecVrtErr[1];
32 PrimCovMtx(1,0) += SecVrtErr[1];
33 PrimCovMtx(1,1) += SecVrtErr[2];
34 PrimCovMtx(0,2) += SecVrtErr[3];
35 PrimCovMtx(2,0) += SecVrtErr[3];
36 PrimCovMtx(1,2) += SecVrtErr[4];
37 PrimCovMtx(2,1) += SecVrtErr[4];
38 PrimCovMtx(2,2) += SecVrtErr[5];
42 Signif = distx*WgtMtx(0,0)*distx
43 +disty*WgtMtx(1,1)*disty
44 +distz*WgtMtx(2,2)*distz
45 +2.*distx*WgtMtx(0,1)*disty
46 +2.*distx*WgtMtx(0,2)*distz
47 +2.*disty*WgtMtx(1,2)*distz;
48 Signif=(Signif<0) ? 0.:std::sqrt(Signif);
49 return std::sqrt(distx*distx+disty*disty+distz*distz);
◆ m_A0TrkErrorCut
double InDet::InDetSVWithMuonTool::m_A0TrkErrorCut {} |
|
private |
◆ m_ConeForTag
double InDet::InDetSVWithMuonTool::m_ConeForTag {} |
|
private |
◆ m_CutA0
double InDet::InDetSVWithMuonTool::m_CutA0 {} |
|
private |
◆ m_CutBLayHits
long int InDet::InDetSVWithMuonTool::m_CutBLayHits {} |
|
private |
◆ m_CutChi2
double InDet::InDetSVWithMuonTool::m_CutChi2 {} |
|
private |
◆ m_CutPixelHits
long int InDet::InDetSVWithMuonTool::m_CutPixelHits {} |
|
private |
◆ m_CutPt
double InDet::InDetSVWithMuonTool::m_CutPt {} |
|
private |
◆ m_CutSctHits
long int InDet::InDetSVWithMuonTool::m_CutSctHits {} |
|
private |
◆ m_CutSharedHits
long int InDet::InDetSVWithMuonTool::m_CutSharedHits {} |
|
private |
◆ m_CutSiHits
long int InDet::InDetSVWithMuonTool::m_CutSiHits {} |
|
private |
◆ m_CutZVrt
double InDet::InDetSVWithMuonTool::m_CutZVrt {} |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_existIBL
bool InDet::InDetSVWithMuonTool::m_existIBL {} |
|
private |
◆ m_FillHist
bool InDet::InDetSVWithMuonTool::m_FillHist {} |
|
private |
◆ m_fitSvc
◆ m_fitterSvc
◆ m_h
std::unique_ptr<Hists> InDet::InDetSVWithMuonTool::m_h |
|
private |
◆ m_massPi
const double InDet::InDetSVWithMuonTool::m_massPi = 139.5702 |
|
private |
◆ m_Rbeampipe
double InDet::InDetSVWithMuonTool::m_Rbeampipe {} |
|
private |
◆ m_Rlayer1
double InDet::InDetSVWithMuonTool::m_Rlayer1 {} |
|
private |
◆ m_Rlayer2
double InDet::InDetSVWithMuonTool::m_Rlayer2 {} |
|
private |
◆ m_Rlayer3
double InDet::InDetSVWithMuonTool::m_Rlayer3 {} |
|
private |
◆ m_RlayerB
double InDet::InDetSVWithMuonTool::m_RlayerB {} |
|
private |
◆ m_RobustFit
long int InDet::InDetSVWithMuonTool::m_RobustFit {} |
|
private |
◆ m_SecTrkChi2Cut
double InDet::InDetSVWithMuonTool::m_SecTrkChi2Cut {} |
|
private |
◆ m_Sel2VrtChi2Cut
double InDet::InDetSVWithMuonTool::m_Sel2VrtChi2Cut {} |
|
private |
◆ m_Sel2VrtSigCut
double InDet::InDetSVWithMuonTool::m_Sel2VrtSigCut {} |
|
private |
◆ m_TrkSigCut
double InDet::InDetSVWithMuonTool::m_TrkSigCut {} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_ZTrkErrorCut
double InDet::InDetSVWithMuonTool::m_ZTrkErrorCut {} |
|
private |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
virtual StatusCode VKalVrtFit(const std::vector< const xAOD::TrackParticle * > &, const std::vector< const xAOD::NeutralParticle * > &, Amg::Vector3D &Vertex, TLorentzVector &Momentum, long int &Charge, dvect &ErrorMatrix, dvect &Chi2PerTrk, std::vector< std::vector< double >> &TrkAtVrt, double &Chi2, IVKalState &istate, bool ifCovV0=false) const override final
float x() const
Returns the x position.
void setPosition(const Amg::Vector3D &position)
Sets the 3-position.
void setFitQuality(float chiSquared, float numberDoF)
Set the 'Fit Quality' information.
@ numberOfSCTSpoiltHits
number of SCT hits with broad errors (width/sqrt(12)) [unit8_t].
Scalar phi() const
phi method
Vertex_v1 Vertex
Define the latest version of the vertex class.
vecmem::edm::container< TrackParticleInterface, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float > > TrackParticleContainer
SoA, GPU friendly TrackParticleContainer.
virtual void setRobustness(int, IVKalState &istate) const override final
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
virtual StatusCode VKalVrtFitFast(std::span< const xAOD::TrackParticle *const >, Amg::Vector3D &Vertex, double &minDZ, IVKalState &istate) const
void setVtxNtrk(xAOD::Vertex *, int value)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
virtual double VKalGetImpact(const xAOD::TrackParticle *, const Amg::Vector3D &Vertex, const long int Charge, dvect &Impact, dvect &ImpactError, IVKalState &istate) const override final
bool msgLvl(const MSG::Level lvl) const
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
const Amg::Vector3D & position() const
Returns the 3-pos.
void setEnergyFraction(xAOD::Vertex *, float value)
bool const RAWDATA *ch2 const
This class provides conversion from CSC RDO data to CSC Digits.
void setCovariance(const std::vector< float > &value)
Sets the covariance matrix as a simple vector of values.
#define AmgSymMatrix(dim)
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
virtual void setOwner(IDataHandleHolder *o)=0
virtual void setApproximateVertex(double X, double Y, double Z, IVKalState &istate) const override final
::StatusCode StatusCode
StatusCode definition for legacy code.
void pT(COLL *coll)
sort by pT
Point Norm(const Point &a)
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
float z() const
Returns the z position.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ElementLink implementation for ROOT usage.
Ensure that the ATLAS eigen extensions are properly loaded.
void setVtxnormDist(xAOD::Vertex *, float value)
@ numberOfPixelSpoiltHits
number of pixel hits with broad errors (width/sqrt(12)) [unit8_t].
void makePrivateStore()
Create a new (empty) private store for this object.
Eigen::Matrix< double, 3, 1 > Vector3D
float chiSquared(const U &p)
struct TBPatternUnitContext Muon
DataModel_detail::iterator< DVL > unique(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of unique for DataVector/List.
Class describing a Vertex.
@ numberOfSCTOutliers
number of SCT outliers [unit8_t].
size_t getNSlots()
Return the number of event slots.
float y() const
Returns the y position.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
@ numberOfSCTHits
number of hits in SCT [unit8_t].
#define ATLAS_THREAD_SAFE
std::vector< Trk::VxTrackAtVertex > & vxTrackAtVertex()
Non-const access to the VxTrackAtVertex vector.
void setVertexMass(xAOD::Vertex *, float value)
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual void setMassInputParticles(const std::vector< double > &, IVKalState &istate) const override final
virtual std::unique_ptr< IVKalState > makeState(const EventContext &ctx) const override final
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer