ATLAS Offline Software
Loading...
Searching...
No Matches
DerivationFramework::TrackParticleThinning Class Reference

#include <TrackParticleThinning.h>

Inheritance diagram for DerivationFramework::TrackParticleThinning:
Collaboration diagram for DerivationFramework::TrackParticleThinning:

Public Member Functions

 TrackParticleThinning (const std::string &t, const std::string &n, const IInterface *p)
virtual ~TrackParticleThinning ()
virtual StatusCode initialize () override
virtual StatusCode finalize () override
virtual StatusCode doThinning (const EventContext &ctx) const override

Private Types

enum  MeasurementType {
  TrkState_unidentified = 0 , TrkState_Pixel = 1 , TrkState_SCT = 2 , TrkState_TRT = 3 ,
  TrkState_Pseudo = 8 , TrkState_Vertex = 9 , TrkState_SpacePoint = 11 , TrkState_NumberOfMeasurementTypes =16
}

Private Member Functions

void selectTrackHits (const xAOD::TrackParticleContainer &inputTrackParticles, const std::vector< bool > &inputMask, MeasurementType detTypeToSelect, std::vector< bool > &outputStatesMask, std::vector< bool > &outputMeasurementsMask) const
 Select TrackStateValidation and TrackMeasurementValidation objects that are used in the (thinned) track container.
void filterTrackHits (const EventContext &ctx, MeasurementType detTypeToSelect, const xAOD::TrackParticleContainer &inputTrackParticles, const std::vector< bool > &inputMask, const SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > &statesKey, const SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > &measurementsKey, std::atomic< unsigned int > &ntot_states, std::atomic< unsigned int > &ntot_measurements, std::atomic< unsigned int > &npass_states, std::atomic< unsigned int > &npass_measurements) const

Private Attributes

std::string m_selectionString
std::atomic< unsigned int > m_ntot
std::atomic< unsigned int > m_npass
StringProperty m_streamName { this, "StreamName", "", "Name of the stream being thinned" }
SG::ThinningHandleKey< xAOD::TrackParticleContainerm_inDetSGKey { this, "InDetTrackParticlesKey", "InDetTrackParticles", "" }
std::atomic< unsigned int > m_ntot_pix_states
std::atomic< unsigned int > m_npass_pix_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainerm_statesPixSGKey { this, "InDetTrackStatesPixKey", "PixelMSOSs", "" }
std::atomic< unsigned int > m_ntot_pix_measurements
std::atomic< unsigned int > m_npass_pix_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainerm_measurementsPixSGKey { this, "InDetTrackMeasurementsPixKey", "PixelClusters", "" }
std::atomic< unsigned int > m_ntot_sct_states
std::atomic< unsigned int > m_npass_sct_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainerm_statesSctSGKey { this, "InDetTrackStatesSctKey", "SCT_MSOSs", "" }
std::atomic< unsigned int > m_ntot_sct_measurements
std::atomic< unsigned int > m_npass_sct_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainerm_measurementsSctSGKey { this, "InDetTrackMeasurementsSctKey", "SCT_Clusters", "" }
std::atomic< unsigned int > m_ntot_trt_states
std::atomic< unsigned int > m_npass_trt_states
SG::ThinningHandleKey< xAOD::TrackStateValidationContainerm_statesTrtSGKey { this, "InDetTrackStatesTrtKey", "TRT_MSOSs", "" }
std::atomic< unsigned int > m_ntot_trt_measurements
std::atomic< unsigned int > m_npass_trt_measurements
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainerm_measurementsTrtSGKey { this, "InDetTrackMeasurementsTrtKey", "TRT_DriftCircles", "" }
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
bool m_thinHitsOnTrack

Detailed Description

Definition at line 32 of file TrackParticleThinning.h.

Member Enumeration Documentation

◆ MeasurementType

Constructor & Destructor Documentation

◆ TrackParticleThinning()

DerivationFramework::TrackParticleThinning::TrackParticleThinning ( const std::string & t,
const std::string & n,
const IInterface * p )

Definition at line 22 of file TrackParticleThinning.cxx.

24 :
25base_class(t,n,p),
27m_ntot(0),
28m_npass(0),
42{
43 // logic and selection settings
44 declareProperty("SelectionString", m_selectionString);
45 declareProperty("ThinHitsOnTrack", m_thinHitsOnTrack);
46}
std::atomic< unsigned int > m_npass_sct_measurements
std::atomic< unsigned int > m_npass_pix_measurements
std::atomic< unsigned int > m_ntot_trt_measurements
std::atomic< unsigned int > m_npass_trt_measurements
std::atomic< unsigned int > m_ntot_sct_measurements
std::atomic< unsigned int > m_ntot_pix_measurements

◆ ~TrackParticleThinning()

DerivationFramework::TrackParticleThinning::~TrackParticleThinning ( )
virtualdefault

Member Function Documentation

◆ doThinning()

StatusCode DerivationFramework::TrackParticleThinning::doThinning ( const EventContext & ctx) const
overridevirtual

Definition at line 118 of file TrackParticleThinning.cxx.

119{
120
121 // Retrieve main TrackParticle collection
122 SG::ThinningHandle<xAOD::TrackParticleContainer> importedTrackParticles
123 (m_inDetSGKey, ctx);
124
125 // Check the event contains tracks
126 unsigned int nTracks = importedTrackParticles->size();
127 if (nTracks==0) return StatusCode::SUCCESS;
128
129 // Set up a mask with the same entries as the full TrackParticle collection
130 std::vector<bool> mask;
131 mask.assign(nTracks,false); // default: don't keep any tracks
132 m_ntot += nTracks;
133
134 // Execute the text parser and update the mask
135 if (m_parser) {
136 std::vector<int> entries = m_parser->evaluateAsVector();
137 unsigned int nEntries = entries.size();
138 // check the sizes are compatible
139 if (nTracks != nEntries ) {
140 ATH_MSG_ERROR("Sizes incompatible! Are you sure your selection string used ID TrackParticles?");
141 return StatusCode::FAILURE;
142 } else {
143 // set mask
144 for (unsigned int i=0; i<nTracks; ++i) if (entries[i]==1) mask[i]=true;
145 }
146 }
147 // Count the mask
148 m_npass += std::count (mask.begin(), mask.end(), true);
149
150 // Execute the thinning service based on the mask.
151 importedTrackParticles.keep (mask);
152
153 //If thinning hits on track, look over States and Measurements collections as well
154 if (m_thinHitsOnTrack) {
155 filterTrackHits (ctx,
157 *importedTrackParticles,
158 mask,
165 filterTrackHits (ctx,
167 *importedTrackParticles,
168 mask,
175 filterTrackHits (ctx,
177 *importedTrackParticles,
178 mask,
185 }
186
187 return StatusCode::SUCCESS;
188}
#define ATH_MSG_ERROR(x)
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsTrtSGKey
void filterTrackHits(const EventContext &ctx, MeasurementType detTypeToSelect, const xAOD::TrackParticleContainer &inputTrackParticles, const std::vector< bool > &inputMask, const SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > &statesKey, const SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > &measurementsKey, std::atomic< unsigned int > &ntot_states, std::atomic< unsigned int > &ntot_measurements, std::atomic< unsigned int > &npass_states, std::atomic< unsigned int > &npass_measurements) const
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsPixSGKey
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesTrtSGKey
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesPixSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > m_statesSctSGKey
SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > m_measurementsSctSGKey
double entries
Definition listroot.cxx:49

◆ filterTrackHits()

void DerivationFramework::TrackParticleThinning::filterTrackHits ( const EventContext & ctx,
MeasurementType detTypeToSelect,
const xAOD::TrackParticleContainer & inputTrackParticles,
const std::vector< bool > & inputMask,
const SG::ThinningHandleKey< xAOD::TrackStateValidationContainer > & statesKey,
const SG::ThinningHandleKey< xAOD::TrackMeasurementValidationContainer > & measurementsKey,
std::atomic< unsigned int > & ntot_states,
std::atomic< unsigned int > & ntot_measurements,
std::atomic< unsigned int > & npass_states,
std::atomic< unsigned int > & npass_measurements ) const
private

Definition at line 191 of file TrackParticleThinning.cxx.

202{
203 std::vector<bool> maskStates;
204 std::vector<bool> maskMeasurements;
205
206 selectTrackHits (inputTrackParticles, inputMask, detTypeToSelect,
207 maskStates, maskMeasurements);
208
209 auto count = [] (const std::vector<bool>& m)
210 { return std::count (m.begin(), m.end(), true); };
211 npass_states += count (maskStates);
212 npass_measurements += count (maskMeasurements);
213
214 if (!statesKey.empty()) {
215 SG::ThinningHandle<xAOD::TrackStateValidationContainer> importedStates
216 (statesKey, ctx);
217 unsigned int size_states = importedStates->size();
218 if (size_states == 0) {
219 ATH_MSG_WARNING("States container is empty: " << statesKey.key());
220 }
221 else {
222 ntot_states += size_states;
223 if (maskStates.size() > size_states) {
224 ATH_MSG_ERROR("States mask size mismatch " << maskStates.size() <<
225 " > " << size_states);
226 }
227 maskStates.resize (size_states);
228 importedStates.keep (maskStates);
229 }
230 }
231
232 if (!measurementsKey.empty()) {
233 SG::ThinningHandle<xAOD::TrackMeasurementValidationContainer> importedMeasurements
234 (measurementsKey, ctx);
235 unsigned int size_measurements = importedMeasurements->size();
236 if (size_measurements == 0) {
237 ATH_MSG_WARNING("Measurements container is empty: " << measurementsKey.key());
238 }
239 else {
240 ntot_measurements += size_measurements;
241 if (maskMeasurements.size() > size_measurements) {
242 ATH_MSG_ERROR("Measurements mask size mismatch " << maskMeasurements.size() <<
243 " > " << size_measurements);
244 }
245 maskMeasurements.resize (size_measurements);
246 importedMeasurements.keep (maskMeasurements);
247 }
248 }
249}
#define ATH_MSG_WARNING(x)
void selectTrackHits(const xAOD::TrackParticleContainer &inputTrackParticles, const std::vector< bool > &inputMask, MeasurementType detTypeToSelect, std::vector< bool > &outputStatesMask, std::vector< bool > &outputMeasurementsMask) const
Select TrackStateValidation and TrackMeasurementValidation objects that are used in the (thinned) tra...
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:148

◆ finalize()

StatusCode DerivationFramework::TrackParticleThinning::finalize ( )
overridevirtual

Definition at line 89 of file TrackParticleThinning.cxx.

90{
91 ATH_MSG_VERBOSE("finalize() ...");
92 ATH_MSG_INFO("Processed "<< m_ntot <<" tracks, "<< m_npass<< " were retained ");
94 ATH_MSG_INFO("Pixel state objects thinning, Total / Passed (Efficiency): "
96 << " (" << (m_ntot_pix_states == 0 ? 0 : static_cast<float>(m_npass_pix_states) / m_ntot_pix_states) << ")");
97 ATH_MSG_INFO("Pixel measurements objects thinning, Total / Passed (Efficiency): "
99 << " (" << (m_ntot_pix_measurements == 0 ? 0 : static_cast<float>(m_npass_pix_measurements) / m_ntot_pix_measurements) << ")");
100 ATH_MSG_INFO("SCT state objects thinning, Total / Passed (Efficiency): "
102 << " (" << (m_ntot_sct_states == 0 ? 0 : static_cast<float>(m_npass_sct_states) / m_ntot_sct_states) << ")");
103 ATH_MSG_INFO("SCT measurements objects thinning, Total / Passed (Efficiency): "
105 << " (" << (m_ntot_sct_measurements == 0 ? 0 : static_cast<float>(m_npass_sct_measurements) / m_ntot_sct_measurements) << ")");
106 ATH_MSG_INFO("TRT state objects thinning, Total / Passed (Efficiency): "
108 << " (" << (m_ntot_trt_states == 0 ? 0 : static_cast<float>(m_npass_trt_states) / m_ntot_trt_states) << ")");
109 ATH_MSG_INFO("TRT measurements objects thinning, Total / Passed (Efficiency): "
111 << " (" << (m_ntot_trt_measurements == 0 ? 0 : static_cast<float>(m_npass_trt_measurements) / m_ntot_trt_measurements) << ")");
112 }
113 ATH_CHECK( finalizeParser() );
114 return StatusCode::SUCCESS;
115}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x)
#define ATH_MSG_VERBOSE(x)

◆ initialize()

StatusCode DerivationFramework::TrackParticleThinning::initialize ( )
overridevirtual

Definition at line 52 of file TrackParticleThinning.cxx.

53{
54 ATH_MSG_VERBOSE("initialize() ...");
55 if (m_selectionString.empty()) {
56 ATH_MSG_FATAL("No inner detector track selection string provided!");
57 return StatusCode::FAILURE;
58 } else {ATH_MSG_INFO("Track thinning selection string: " << m_selectionString);}
59
60 // Set up the text-parsing machinery for thinning the tracks directly according to user cuts
61 if (!m_selectionString.empty()) {
62 ATH_CHECK(initializeParser(m_selectionString));
63 }
64
65 //check xAOD::InDetTrackParticle collection
66 ATH_CHECK( m_inDetSGKey.initialize (m_streamName) );
67 ATH_MSG_INFO("Using " << m_inDetSGKey << "as the source collection for inner detector track particles");
68 //check availability of xAOD::TrackStateValidation and xAOD::TrackMeasurementValidation containers
70 ATH_MSG_INFO("Pixel states collection as source for thinning: " << m_statesPixSGKey.key());
71 ATH_MSG_INFO("Pixel measurements collection as source for thinning: " << m_measurementsPixSGKey.key());
72 ATH_MSG_INFO("SCT states collection as source for thinning: " << m_statesSctSGKey.key());
73 ATH_MSG_INFO("SCT measurements collection as source for thinning: " << m_measurementsSctSGKey.key());
74 ATH_MSG_INFO("TRT states collection as source for thinning: " << m_statesTrtSGKey.key());
75 ATH_MSG_INFO("TRT measurements collection as source for thinning: " << m_measurementsTrtSGKey.key());
76 }
83
84 ATH_CHECK(m_SCTDetEleCollKey.initialize( !m_SCTDetEleCollKey.key().empty() ));
85
86 return StatusCode::SUCCESS;
87}
#define ATH_MSG_FATAL(x)
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey

◆ selectTrackHits()

void DerivationFramework::TrackParticleThinning::selectTrackHits ( const xAOD::TrackParticleContainer & inputTrackParticles,
const std::vector< bool > & inputMask,
MeasurementType detTypeToSelect,
std::vector< bool > & outputStatesMask,
std::vector< bool > & outputMeasurementsMask ) const
private

Select TrackStateValidation and TrackMeasurementValidation objects that are used in the (thinned) track container.

Definition at line 252 of file TrackParticleThinning.cxx.

256{
257 // loop over track particles, consider only the ones pre-selected by the mask
258 int trkIndex=-1;
259 for (const xAOD::TrackParticle* trkIt : inputTrackParticles) {
260 trkIndex++;
261 if (not inputMask[trkIndex]) continue;
262
263 // loop over the TrackStateValidation objects, and add them to the outputStatesMask
264 using StatesOnTrack = std::vector<ElementLink<xAOD::TrackStateValidationContainer>>;
265 static const SG::ConstAccessor< StatesOnTrack > msosLinkAcc( "msosLink" );
266 if( ! msosLinkAcc.isAvailable(*trkIt) ) {
267 ATH_MSG_DEBUG("Cannot find TrackState link from xAOD::TrackParticle. Skipping track.");
268 continue;
269 }
270 const StatesOnTrack& measurementsOnTrack = msosLinkAcc(*trkIt);
271 for( const ElementLink<xAOD::TrackStateValidationContainer>& trkState_el : measurementsOnTrack) {
272 if (not trkState_el.isValid()) {
273 ATH_MSG_DEBUG("Cannot find a valid link to TrackStateValidation object for track index: " << trkIndex);
274 continue; //not a valid link
275 }
276 if ((*trkState_el)->detType() != detTypeToSelect) {
277 ATH_MSG_VERBOSE("Discarding TrackState as not of correct type " << detTypeToSelect);
278 continue;
279 }
280 if (trkState_el.index() >= outputStatesMask.size()) {
281 outputStatesMask.resize (trkState_el.index()+1);
282 }
283 outputStatesMask[trkState_el.index()] = true;
284
285 // get the corresponding TrackMeasurementValidation object, if any, and add it to the outputMeasurementsMask
286 const ElementLink<xAOD::TrackMeasurementValidationContainer> trkMeasurement_el = (*trkState_el)->trackMeasurementValidationLink();
287 if (not trkMeasurement_el.isValid()) {
288 ATH_MSG_VERBOSE("Cannot find a valid link to TrackMeasurementValidation object from track state for track index: " << trkIndex
289 << ", trackState index: " << trkState_el.index());
290 continue; //not a valid link
291 }
292 if (*trkMeasurement_el == nullptr) {
293 ATH_MSG_VERBOSE("Invalid pointer to TrackMeasurementValidation object from track state for track index: " << trkIndex
294 << ", trackState index: " << trkState_el.index());
295 continue; //not linking to a valid object -- is it necessary?
296 }
297 if (trkMeasurement_el.index() >= outputMeasurementsMask.size()) {
298 outputMeasurementsMask.resize (trkMeasurement_el.index()+1);
299 }
300 outputMeasurementsMask[trkMeasurement_el.index()] = true;
301 }
302 } // end loop over xAOD::TrackParticle container
303}
#define ATH_MSG_DEBUG(x)
SG::ConstAccessor< T, ALLOC > ConstAccessor
Definition AuxElement.h:570
TrackParticle_v1 TrackParticle
Reference the current persistent version:

Member Data Documentation

◆ m_inDetSGKey

SG::ThinningHandleKey<xAOD::TrackParticleContainer> DerivationFramework::TrackParticleThinning::m_inDetSGKey { this, "InDetTrackParticlesKey", "InDetTrackParticles", "" }
private

Definition at line 48 of file TrackParticleThinning.h.

49{ this, "InDetTrackParticlesKey", "InDetTrackParticles", "" };

◆ m_measurementsPixSGKey

SG::ThinningHandleKey<xAOD::TrackMeasurementValidationContainer> DerivationFramework::TrackParticleThinning::m_measurementsPixSGKey { this, "InDetTrackMeasurementsPixKey", "PixelClusters", "" }
private

Definition at line 56 of file TrackParticleThinning.h.

57{ this, "InDetTrackMeasurementsPixKey", "PixelClusters", "" };

◆ m_measurementsSctSGKey

SG::ThinningHandleKey<xAOD::TrackMeasurementValidationContainer> DerivationFramework::TrackParticleThinning::m_measurementsSctSGKey { this, "InDetTrackMeasurementsSctKey", "SCT_Clusters", "" }
private

Definition at line 62 of file TrackParticleThinning.h.

63{ this, "InDetTrackMeasurementsSctKey", "SCT_Clusters", "" };

◆ m_measurementsTrtSGKey

SG::ThinningHandleKey<xAOD::TrackMeasurementValidationContainer> DerivationFramework::TrackParticleThinning::m_measurementsTrtSGKey { this, "InDetTrackMeasurementsTrtKey", "TRT_DriftCircles", "" }
private

Definition at line 68 of file TrackParticleThinning.h.

69{ this, "InDetTrackMeasurementsTrtKey", "TRT_DriftCircles", "" };

◆ m_npass

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass
private

Definition at line 45 of file TrackParticleThinning.h.

◆ m_npass_pix_measurements

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass_pix_measurements
private

Definition at line 55 of file TrackParticleThinning.h.

◆ m_npass_pix_states

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass_pix_states
private

Definition at line 52 of file TrackParticleThinning.h.

◆ m_npass_sct_measurements

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass_sct_measurements
private

Definition at line 61 of file TrackParticleThinning.h.

◆ m_npass_sct_states

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass_sct_states
private

Definition at line 58 of file TrackParticleThinning.h.

◆ m_npass_trt_measurements

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass_trt_measurements
private

Definition at line 67 of file TrackParticleThinning.h.

◆ m_npass_trt_states

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_npass_trt_states
private

Definition at line 64 of file TrackParticleThinning.h.

◆ m_ntot

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot
mutableprivate

Definition at line 45 of file TrackParticleThinning.h.

◆ m_ntot_pix_measurements

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot_pix_measurements
mutableprivate

Definition at line 55 of file TrackParticleThinning.h.

◆ m_ntot_pix_states

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot_pix_states
mutableprivate

Definition at line 52 of file TrackParticleThinning.h.

◆ m_ntot_sct_measurements

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot_sct_measurements
mutableprivate

Definition at line 61 of file TrackParticleThinning.h.

◆ m_ntot_sct_states

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot_sct_states
mutableprivate

Definition at line 58 of file TrackParticleThinning.h.

◆ m_ntot_trt_measurements

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot_trt_measurements
mutableprivate

Definition at line 67 of file TrackParticleThinning.h.

◆ m_ntot_trt_states

std::atomic<unsigned int> DerivationFramework::TrackParticleThinning::m_ntot_trt_states
mutableprivate

Definition at line 64 of file TrackParticleThinning.h.

◆ m_SCTDetEleCollKey

SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> DerivationFramework::TrackParticleThinning::m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
private

Definition at line 72 of file TrackParticleThinning.h.

72{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};

◆ m_selectionString

std::string DerivationFramework::TrackParticleThinning::m_selectionString
private

Definition at line 42 of file TrackParticleThinning.h.

◆ m_statesPixSGKey

SG::ThinningHandleKey<xAOD::TrackStateValidationContainer> DerivationFramework::TrackParticleThinning::m_statesPixSGKey { this, "InDetTrackStatesPixKey", "PixelMSOSs", "" }
private

Definition at line 53 of file TrackParticleThinning.h.

54{ this, "InDetTrackStatesPixKey", "PixelMSOSs", "" };

◆ m_statesSctSGKey

SG::ThinningHandleKey<xAOD::TrackStateValidationContainer> DerivationFramework::TrackParticleThinning::m_statesSctSGKey { this, "InDetTrackStatesSctKey", "SCT_MSOSs", "" }
private

Definition at line 59 of file TrackParticleThinning.h.

60{ this, "InDetTrackStatesSctKey", "SCT_MSOSs", "" };

◆ m_statesTrtSGKey

SG::ThinningHandleKey<xAOD::TrackStateValidationContainer> DerivationFramework::TrackParticleThinning::m_statesTrtSGKey { this, "InDetTrackStatesTrtKey", "TRT_MSOSs", "" }
private

Definition at line 65 of file TrackParticleThinning.h.

66{ this, "InDetTrackStatesTrtKey", "TRT_MSOSs", "" };

◆ m_streamName

StringProperty DerivationFramework::TrackParticleThinning::m_streamName { this, "StreamName", "", "Name of the stream being thinned" }
private

Definition at line 46 of file TrackParticleThinning.h.

47{ this, "StreamName", "", "Name of the stream being thinned" };

◆ m_thinHitsOnTrack

bool DerivationFramework::TrackParticleThinning::m_thinHitsOnTrack
private

Definition at line 75 of file TrackParticleThinning.h.


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