70 if ( !(trackParticles.isValid()) ) {
72 return StatusCode::RECOVERABLE;
74 ATH_MSG_DEBUG(
"InDetGlobalMonitoringRun3Test: Track container "<< trackParticles.name() <<
" is found.");
86 for (
const auto trackPart: *trackParticles) {
90 ATH_MSG_DEBUG(
"InDetGlobalMonitoringRun3Test: NULL track pointer in collection" );
97 ATH_MSG_DEBUG(
"InDetGlobalMonitoringRun3Test: NULL track->perigeeParameters pointer " );
104 float eta_perigee = perigee->eta();
105 float phi_perigee = perigee->parameters()[
Trk::phi0];
130 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfInnermostPixelLayerHits_m);
143 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfPixelDeadSensors_m);
147 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfPixelSharedHits_m);
151 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfPixelHoles_m);
155 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfPixelSplitHits_m);
165 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfSCTDeadSensors_m);
169 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfSCTSharedHits_m);
173 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfSCTHoles_m);
183 fill(
trackGroup, eta_perigee_m, phi_perigee_m, numberOfTRTDeadStraws_m);
191 int InnermostPixelLayerHit = 0;
192 int NextToInnermostPixelLayerHit = 0;
199 int expNInHit = trackPart->summaryValue(iSummaryValue, expNInHitField) ? iSummaryValue : 0;
200 int nNInHits = trackPart->summaryValue(iSummaryValue, nNInHitField) ? iSummaryValue : 0;
205 if ( expInHit==1 && nInHits==0 ) InnermostPixelLayerHit = 1;
206 auto InnermostPixelLayerHit_m =
Monitored::Scalar<int>(
"m_InnermostPixelLayerHit", InnermostPixelLayerHit);
207 fill(
trackGroup, eta_perigee_m, phi_perigee_m, InnermostPixelLayerHit_m);
211 if ( expNInHit==1 && nNInHits==0 ) NextToInnermostPixelLayerHit = 1 ;
212 auto NextToInnermostPixelLayerHit_m =
Monitored::Scalar<int>(
"m_NextToInnermostPixelLayerHit", NextToInnermostPixelLayerHit);
213 fill(
trackGroup, eta_perigee_m, phi_perigee_m, NextToInnermostPixelLayerHit_m);
223 int track_pass_tight = 0;
225 track_pass_tight = 1;
229 fill(
trackGroup, eta_perigee_m, phi_perigee_m, track_pass_tight_m);
238 if ( expInHit==1 && nInHits==0 ) NoIBL = 1;
239 if (NoIBL == 1) nNoIBL++;
245 if ( expNInHit==1 && nNInHits==0 ) NoBL = 1;
246 if (NoBL == 1) nNoBL++;
253 if (NoTRText == 1) nNoTRText++;
271 if (!handle_vxContainer.isPresent()) {
272 ATH_MSG_DEBUG (
"InDetGlobalTrackMonAlg: StoreGate doesn't contain primary vertex container with key "+
m_vxContainerName.key()+
",may not be able to produce TIDE histograms");
274 if (!handle_vxContainer.isValid()) {
275 ATH_MSG_DEBUG (
"InDetGlobalTrackMonAlg: Could not retrieve primary vertex container with key "+
m_vxContainerName.key()+
",may not be able to produce TIDE histograms");
278 vertexContainer = handle_vxContainer.cptr();
285 if (!handle_jetContainer.isPresent()) {
286 ATH_MSG_DEBUG (
"InDetGlobalTrackMonAlg: StoreGate doesn't contain jet container with key "+
m_jetContainerName.key()+
",may not be able to produce TIDE histograms");
288 if (!handle_jetContainer.isValid()) {
289 ATH_MSG_DEBUG (
"InDetGlobalTrackMonAlg: Could not retrieve jet container with key "+
m_jetContainerName.key()+
",may not be able to produce TIDE histograms");
292 auto jetContainer = handle_jetContainer.cptr();
294 if ( handle_jetContainer.isValid() ) {
295 for (
auto jetItr = jetContainer->begin(); jetItr != jetContainer->end(); ++jetItr )
297 if ( (*jetItr)->pt() < 20000. ){
300 std::vector<const xAOD::IParticle*> trackVector;
305 for ( std::vector<const xAOD::IParticle*>::const_iterator trkItr = trackVector.begin(); trkItr != trackVector.end() ; ++trkItr )
318 if ( handle_vxContainer.isValid() ){
319 for (
const auto *
const vx : *vertexContainer )
321 for (
const auto& tpLink : vx->trackParticleLinks() )
323 if ( *tpLink == trackPart )
329 if (foundVertex)
break;
334 std::unique_ptr<const Trk::ImpactParametersAndSigma>myIPandSigma(
m_trackToVertexIPEstimator->estimate(trackPart,foundVertex));
338 float jetassocdR = trackPart->
p4().DeltaR( (*jetItr)->p4());
355 float pixSplitdR = trackPart->
p4().DeltaR( (*jetItr)->p4() );
365 float pixShareddR = trackPart->
p4().DeltaR( (*jetItr)->p4() );
409 return StatusCode::SUCCESS;