Belle II Software prerelease-10-00-00a
PRSideTrackingValidationModule Class Reference
Inheritance diagram for PRSideTrackingValidationModule:
Collaboration diagram for PRSideTrackingValidationModule:

Public Member Functions

 __init__ (self, name, contact, output_file_name=None, reco_tracks_name='RecoTracks', mc_reco_tracks_name='MCRecoTracks', expert_level=None)
 
 initialize (self)
 
 prepare (self)
 
 pick (self, reco_track)
 
 peel (self, reco_track)
 
 peel_pr_to_mc_match_info (self, reco_track)
 
 id (self)
 
 event (self)
 
 terminate (self)
 
 barn (self)
 
 gather (self)
 
 refine (self, crops)
 

Static Public Member Functions

 create_crop_part_collection ()
 
 iter_store_obj (store_obj)
 

Public Attributes

 reco_tracks_name = reco_tracks_name
 Name of the StoreArray of the tracks from pattern recognition.
 
 mc_reco_tracks_name = mc_reco_tracks_name
 Name of the StoreArray of the ideal mc tracks.
 
 track_match_look_up = None
 Reference to the track match lookup object reading the relation information constructed by the MCMatcherTracksModule.
 
list mc_reco_tracks_det_hit_ids = []
 Cache for the hit content of the Monte Carlo tracks - updated each event.
 
 mc_hit_lookup = Belle2.TrackFindingCDC.CDCMCHitLookUp.getInstance()
 Cache for the MC hit lookup.
 
 foreach = foreach
 Name of the StoreArray or iterable StoreObjPtr that contains the objects to be harvested.
 
 output_file_name = output_file_name
 Name of the ROOT output file to be generated.
 
 title = title or self.name()
 Name of this harvest.
 
 contact = contact
 Contact email address to be displayed on the validation page.
 
int expert_level = self.default_expert_level if expert_level is None else expert_level
 Integer expert level that controls to detail of plots to be generated.
 
list refiners = []
 A list of additional refiner instances to be executed on top of the refiner methods that are members of this class.
 
 show_results = show_results
 Switch to show the result ROOT file in a TBrowser on terminate.
 
 stash = self.barn()
 stash of the harvested crops (start with those in the barn)
 
 crops
 the dictionaries from peel
 
 raw_crops = raw_crops
 the dictionaries from peel as a numpy.array of doubles
 

Static Public Attributes

 save_tree
 Save a tree of all collected variables in a sub folder.
 
 save_clone_rate
 Save RecoTrack clone-rate information.
 
 save_clone_rate_by_seed_tan_lambda_profile
 Make profile of the clone rate versus seed tan(lambda) Rename the quantities to names that display nicely by root latex translation.
 
 save_clone_rate_by_seed_phi0_profile
 Make profile of the clone rate versus seed phi0 Rename the quantities to names that display nicely by root latex translation.
 
 save_clone_rate_by_seed_pt_profile
 Make profile of the clone rate versus seed transverse momentum Rename the quantities to names that display nicely by root latex translation.
 
 save_clone_rate_by_seed_pt_profile_groupbyCharge
 Charge dependent histograms Make profile of the clone rate versus seed transverse momentum.
 
 save_clone_rate_by_seed_tan_lambda_profile_groupbyCharge
 Charge dependent histograms Make profile of the clone rate versus seed tan(lambda)
 
 save_fake_rate
 Save RecoTrack fake-rate information.
 
 save_fake_rate_by_seed_phi0_profile
 Make profile of the fake rate versus seed phi0 Rename the quantities to names that display nicely by root latex translation.
 
 save_fake_rate_by_seed_tan_lambda_profile
 Make profile of the fake rate versus seed tan(lambda) Rename the quantities to names that display nicely by root latex translation.
 
 save_fake_rate_by_seed_pt_profile
 Make profile of the fake rate versus seed transverse momentum Rename the quantities to names that display nicely by root latex translation.
 
 save_fake_rate_by_seed_tan_lambda_profile_groupbyCharge
 Charge dependent histograms Make profile of the fake rate versus seed tan(lambda)
 
 save_fake_rate_by_seed_pt_profile_groupbyCharge
 Charge dependent histograms Make profile of the fake rate versus seed transverse momentum.
 
 save_hit_counts_by_pt_profile
 Hit counts in each sub detector by the true pt value.
 
 save_hit_efficiency_by_pt_profile
 Hit efficiency in each sub detector by the true pt value.
 
 save_hit_purity_by_pt_profile
 Hit purity in each sub detector by the true pt value.
 
 save_hit_counts_by_tanlambda_profile
 Hit counts in each sub detector by the true tanlambda value.
 
 save_hit_efficiency_by_tanlambda_profile
 Hit efficiency in each sub detector by the true tanlambda value.
 
 save_hit_purity_by_tanlambda_profile
 Hit purity in each sub detector by the true tanlambda value.
 
 save_hit_counts_by_pt_profile_groupbyCharge
 Charge dependent histograms Hit counts in each sub detector by the true pt value.
 
 save_hit_counts_by_tanlambda_profile_groupbyCharge
 Charge dependent histograms Hit counts in each sub detector by the true tan lambda value.
 
 save_hit_efficiency_by_pt_profile_groupbyCharge
 Charge dependent histograms Hit efficiency in each sub detector by the true pt value.
 
 save_hit_efficiency_by_tanlambda_profile_groupbyCharge
 Charge dependent histograms Hit efficiency in each sub detector by the true tan lambda value.
 
 save_hit_efficiency
 Save simple FOM.
 
 save_pxd_hit_efficiency
 Save simple FOM.
 
 save_svd_hit_efficiency
 Save simple FOM.
 
 save_cdc_hit_efficiency
 Save simple FOM.
 
 save_hit_purity
 Save simple FOM.
 
 save_pxd_hit_purity
 Save simple FOM.
 
 save_svd_hit_purity
 Save simple FOM.
 
 save_cdc_hit_purity
 Save simple FOM.
 
 save_p_value_histogram
 Creates a distribution of p values from the Genfit track fit for match pr tracks.
 
 save_seed_omega_pull_analysis
 Pull of seed omega.
 
 save_seed_tan_lambda_pull_analysis
 Pull of seed tan(lambda)
 
 save_fitted_omega_pull_analysis
 Pull of fitted omega.
 
 save_fitted_tan_lambda_pull_analysis
 Pull of fitted tan(lambda)
 
 save_fitted_pt_pull_analysis
 Pull of fitted transverse momentum.
 
 save_fitted_x_pull_analysis
 Pull of fitted x coordinate grouped by true transverse momentum.
 
 save_fitted_y_pull_analysis
 Pull of fitted y coordinate grouped by true transverse momentum.
 
 save_fitted_z_pull_analysis
 Pull of fitted z coordinate grouped by true transverse momentum.
 
 save_resolutions_by_pt_profile
 Resolutions as a function of true p_t.
 
int default_expert_level = 1
 The default value of expert_level if not specified explicitly by the caller.
 

Detailed Description

Module to collect matching information about the found particles and to generate
   validation plots and figures of merit on the performance of track finding.
 Expert level behavior:
    expert_level <= default_expert_level: all figures and plots from this module except tree entries
    expert_level > default_expert_level: everything including tree entries

Definition at line 25 of file pr_side_module.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
name,
contact,
output_file_name = None,
reco_tracks_name = 'RecoTracks',
mc_reco_tracks_name = 'MCRecoTracks',
expert_level = None )
Constructor

Definition at line 36 of file pr_side_module.py.

43 expert_level=None):
44 """Constructor"""
45
46 output_file_name = output_file_name or name + 'TrackingValidation.root'
47 super().__init__(foreach=reco_tracks_name,
48 name=name,
49 contact=contact,
50 output_file_name=output_file_name,
51 expert_level=expert_level)
52
53 ## Name of the StoreArray of the tracks from pattern recognition
54 self.reco_tracks_name = reco_tracks_name
55
56 ## Name of the StoreArray of the ideal mc tracks
57 self.mc_reco_tracks_name = mc_reco_tracks_name
58
59 ## Reference to the track match lookup object reading the relation information constructed by the MCMatcherTracksModule
60 self.track_match_look_up = None
61
62 ## Cache for the hit content of the Monte Carlo tracks - updated each event
63 self.mc_reco_tracks_det_hit_ids = []
64
65 ## Cache for the MC hit lookup
66 self.mc_hit_lookup = Belle2.TrackFindingCDC.CDCMCHitLookUp.getInstance()
67

Member Function Documentation

◆ barn()

barn ( self)
inherited
Coroutine that receives the dictionaries of names and values from peel and store them.

Reimplemented in PickleHarvestingModule.

Definition at line 287 of file harvesting.py.

287 def barn(self):
288 """Coroutine that receives the dictionaries of names and values from peel and store them."""
289 crop = (yield)
290 raw_crops = copy.copy(crop)
291 crops = copy.copy(crop)
292
293 if isinstance(crop, numbers.Number):
294 raw_crops = self.create_crop_part_collection()
295 try:
296 while True:
297 raw_crops.append(crop)
298 # next crop
299 crop = (yield)
300 except GeneratorExit:
301 crops = np.array(raw_crops)
302
303 elif isinstance(crop, collections.abc.MutableMapping):
304 for part_name in crop:
305 raw_crops[part_name] = self.create_crop_part_collection()
306
307 try:
308 while True:
309 for part_name, parts in list(raw_crops.items()):
310 if part_name in crop:
311 parts.append(crop[part_name])
312 else:
313 parts.append(np.NaN)
314 # next crop
315 crop = (yield)
316 except GeneratorExit:
317 for part_name, parts in list(raw_crops.items()):
318 crops[part_name] = np.array(parts)
319
320 else:
321 msg = f"Unrecognised crop {crop} of type {type(crop)}"
322 raise ValueError(msg)
323
324
325 self.raw_crops = raw_crops
326
327 self.crops = crops
328

◆ create_crop_part_collection()

create_crop_part_collection ( )
staticinherited
Create the storing objects for the crop values

Currently a numpy.array of doubles is used to store all values in memory.

Definition at line 279 of file harvesting.py.

279 def create_crop_part_collection():
280 """Create the storing objects for the crop values
281
282 Currently a numpy.array of doubles is used to store all values in memory.
283 """
284 return array.array("d")
285

◆ event()

event ( self)
inherited
Event method of the module

* Does invoke the prepare method before the iteration starts.
* In each event fetch the StoreArray / iterable StoreObjPtr,
* Iterate through all instances
* Feed each instance to the pick method to decide it the instance is relevant
* Forward it to the peel method that should generated a dictionary of values
* Store each dictionary of values

Definition at line 239 of file harvesting.py.

239 def event(self):
240 """Event method of the module
241
242 * Does invoke the prepare method before the iteration starts.
243 * In each event fetch the StoreArray / iterable StoreObjPtr,
244 * Iterate through all instances
245 * Feed each instance to the pick method to decide it the instance is relevant
246 * Forward it to the peel method that should generated a dictionary of values
247 * Store each dictionary of values
248 """
249 self.prepare()
250 stash = self.stash.send
251 pick = self.pick
252 peel = self.peel
253 for crop in self.gather():
254 if pick(crop):
255 crop = peel(crop)
256 if isinstance(crop, types.GeneratorType):
257 many_crops = crop
258 for crop in many_crops:
259 stash(crop)
260 else:
261 stash(crop)
262

◆ gather()

gather ( self)
inherited
Iterator that yield the instances form the StoreArray / iterable StoreObj.

Yields
------
Object instances from the StoreArray, iterable StoreObj or the StoreObj itself
in case it is not iterable.

Definition at line 329 of file harvesting.py.

329 def gather(self):
330 """Iterator that yield the instances form the StoreArray / iterable StoreObj.
331
332 Yields
333 ------
334 Object instances from the StoreArray, iterable StoreObj or the StoreObj itself
335 in case it is not iterable.
336 """
337
338 registered_store_arrays = Belle2.PyStoreArray.list()
339 registered_store_objs = Belle2.PyStoreObj.list()
340
341 foreach = self.foreach
342 foreach_is_store_obj = foreach in registered_store_objs
343 foreach_is_store_array = foreach in registered_store_arrays
344
345 if foreach is not None:
346 if foreach_is_store_array:
347 store_array = Belle2.PyStoreArray(self.foreach)
348 yield from store_array
349
350 elif foreach_is_store_obj:
351 store_obj = Belle2.PyStoreObj(self.foreach)
352 try:
353 yield from self.iter_store_obj(store_obj)
354 except TypeError:
355 # Cannot iter the store object. Yield it instead.
356 yield store_obj.obj()
357
358 else:
359 msg = f"Name {self.foreach} does not refer to a valid object on the data store"
360 raise KeyError(msg)
361 else:
362 yield None
363
A (simplified) python wrapper for StoreArray.
static std::vector< std::string > list(DataStore::EDurability durability=DataStore::EDurability::c_Event)
Return list of available arrays for given durability.
a (simplified) python wrapper for StoreObjPtr.
Definition PyStoreObj.h:67
static std::vector< std::string > list(DataStore::EDurability durability=DataStore::EDurability::c_Event)
Return list of available objects for given durability.
Definition PyStoreObj.cc:28

◆ id()

id ( self)
inherited
Working around that name() is a method.

Exposing the name as a property using a different name

Definition at line 224 of file harvesting.py.

224 def id(self):
225 """Working around that name() is a method.
226
227 Exposing the name as a property using a different name
228 """
229 return self.name()
230

◆ initialize()

initialize ( self)
Receive signal at the start of event processing

Reimplemented from HarvestingModule.

Definition at line 68 of file pr_side_module.py.

68 def initialize(self):
69 """Receive signal at the start of event processing"""
70 super().initialize()
71 self.track_match_look_up = Belle2.TrackMatchLookUp(self.mc_reco_tracks_name,
72 self.reco_tracks_name)
73
Class to provide convenient methods to look up matching information between pattern recognition and M...

◆ iter_store_obj()

iter_store_obj ( store_obj)
staticinherited
Obtain a iterator from a StoreObj

Repeatedly calls iter(store_obj) or store_obj.__iter__()
until the final iterator returns itself

Returns
-------
iterator of the StoreObj

Definition at line 443 of file harvesting.py.

443 def iter_store_obj(store_obj):
444 """Obtain a iterator from a StoreObj
445
446 Repeatedly calls iter(store_obj) or store_obj.__iter__()
447 until the final iterator returns itself
448
449 Returns
450 -------
451 iterator of the StoreObj
452 """
453 iterable = store_obj.obj()
454 last_iterable = None
455 while iterable is not last_iterable:
456 if hasattr(iterable, "__iter__"):
457 iterable, last_iterable = iterable.__iter__(), iterable
458 else:
459 iterable, last_iterable = iter(iterable), iterable
460 return iterable
461
462

◆ peel()

peel ( self,
reco_track )
Looks at the individual pattern recognition tracks and store information about them

Reimplemented from HarvestingModule.

Definition at line 92 of file pr_side_module.py.

92 def peel(self, reco_track):
93 """Looks at the individual pattern recognition tracks and store information about them"""
94 track_match_look_up = self.track_match_look_up
95
96 # Matching information
97 mc_reco_track = track_match_look_up.getRelatedMCRecoTrack(reco_track)
98 mc_particle = track_match_look_up.getRelatedMCParticle(reco_track)
99 mc_particle_crops = peelers.peel_mc_particle(mc_particle)
100
101 hit_content_crops = peelers.peel_reco_track_hit_content(reco_track)
102
103 pr_to_mc_match_info_crops = self.peel_pr_to_mc_match_info(reco_track)
104
105 # Peel function to get hit purity of subdetectors
106 subdetector_hit_purity_crops = peelers.peel_subdetector_hit_purity(reco_track, mc_reco_track)
107
108 # Information on TrackFinders
109 trackfinder_crops = peelers.peel_trackfinder(reco_track)
110
111 # Basic peel function to get Quality Indicators
112 qualityindicator_crops = peelers.peel_quality_indicators(reco_track)
113
114 # Get the fit results
115 seed_fit_crops = peelers.peel_reco_track_seed(reco_track)
116
117 fit_result = track_match_look_up.getRelatedTrackFitResult(reco_track)
118 fit_crops = peelers.peel_track_fit_result(fit_result)
119 fit_status_crops = peelers.peel_fit_status(reco_track)
120
121 correct_rl_information = sum(peelers.is_correct_rl_information(cdc_hit, reco_track, self.mc_hit_lookup)
122 for cdc_hit in getObjectList(reco_track.getCDCHitList()))
123
124 crops = dict(
125 correct_rl_information=correct_rl_information,
126 **mc_particle_crops,
127 **hit_content_crops,
128 **pr_to_mc_match_info_crops,
129 **subdetector_hit_purity_crops, # Custom
130 **trackfinder_crops,
131 **qualityindicator_crops,
132 **seed_fit_crops,
133 **fit_crops,
134 **fit_status_crops,
135 )
136
137 if self.expert_level >= self.default_expert_level:
138
139 # Event Info
140 event_meta_data = Belle2.PyStoreObj("EventMetaData")
141 event_crops = peelers.peel_event_info(event_meta_data)
142
143 # Store Array for easier joining
144 store_array_crops = peelers.peel_store_array_info(reco_track, key="pr_{part_name}")
145 mc_store_array_crops = peelers.peel_store_array_info(mc_reco_track, key="mc_{part_name}")
146
147 # Information on PR reco track
148 mc_efficiency_information = {
149 "mc_hit_efficiency": track_match_look_up.getRelatedEfficiency(mc_reco_track) if mc_reco_track else float("nan"),
150 **peelers.peel_subdetector_hit_efficiency(reco_track=reco_track, mc_reco_track=mc_reco_track,
151 key="mc_{part_name}")
152 }
153
154 crops.update(
155 **event_crops,
156 **store_array_crops,
157 **mc_store_array_crops,
158 **mc_efficiency_information
159 )
160
161 return crops
162

◆ peel_pr_to_mc_match_info()

peel_pr_to_mc_match_info ( self,
reco_track )
Extracts track-match information from the MCMatcherTracksModule results

Definition at line 163 of file pr_side_module.py.

163 def peel_pr_to_mc_match_info(self, reco_track):
164 """Extracts track-match information from the MCMatcherTracksModule results"""
165 track_match_look_up = self.track_match_look_up
166 is_matched = track_match_look_up.isAnyChargeMatchedPRRecoTrack(reco_track)
167 is_matched_correct_charge = track_match_look_up.isCorrectChargeMatchedPRRecoTrack(reco_track)
168 is_matched_wrong_charge = track_match_look_up.isWrongChargeMatchedPRRecoTrack(reco_track)
169 is_clone = track_match_look_up.isAnyChargeClonePRRecoTrack(reco_track)
170 is_clone_correct_charge = track_match_look_up.isCorrectChargeClonePRRecoTrack(reco_track)
171 is_clone_wrong_charge = track_match_look_up.isWrongChargeClonePRRecoTrack(reco_track)
172 is_background = track_match_look_up.isBackgroundPRRecoTrack(reco_track)
173 is_ghost = track_match_look_up.isGhostPRRecoTrack(reco_track)
174
175 reco_track_det_hit_ids = utilities.get_det_hit_ids(reco_track)
176 n_intersecting_mc_tracks = 0
177 for mc_reco_track_det_hit_ids in self.mc_reco_tracks_det_hit_ids:
178 intersects = len(mc_reco_track_det_hit_ids & reco_track_det_hit_ids) > 0
179 if intersects:
180 n_intersecting_mc_tracks += 1
181
182 mc_particle = track_match_look_up.getRelatedMCParticle(reco_track)
183 mc_is_primary = False
184 if mc_particle:
185 mc_is_primary = bool(mc_particle.hasStatus(Belle2.MCParticle.c_PrimaryParticle))
186
187 return dict(
188 is_matched=is_matched,
189 is_matchedPrimary=is_matched and mc_is_primary,
190 is_matched_correct_charge=is_matched_correct_charge,
191 is_matchedPrimary_correct_charge=is_matched_correct_charge and mc_is_primary,
192 is_matched_wrong_charge=is_matched_wrong_charge,
193 is_matchedPrimary_wrong_charge=is_matched_wrong_charge and mc_is_primary,
194
195 is_clone=is_clone,
196 is_clone_correct_charge=is_clone_correct_charge,
197 is_clone_wrong_charge=is_clone_wrong_charge,
198
199 is_background=is_background,
200 is_ghost=is_ghost,
201 is_clone_or_match=(is_matched or is_clone),
202 is_fake=not (is_matched or is_clone),
203 hit_purity=track_match_look_up.getRelatedPurity(reco_track),
204 n_intersecting_mc_tracks=n_intersecting_mc_tracks,
205 )
206

◆ pick()

pick ( self,
reco_track )
Method to filter the track candidates to reject part of them

Reimplemented from HarvestingModule.

Definition at line 88 of file pr_side_module.py.

88 def pick(self, reco_track):
89 """Method to filter the track candidates to reject part of them"""
90 return True
91

◆ prepare()

prepare ( self)
Called once at the start of each event

Reimplemented from HarvestingModule.

Definition at line 74 of file pr_side_module.py.

74 def prepare(self):
75 """Called once at the start of each event"""
76 super().prepare()
77 mc_reco_tracks = Belle2.PyStoreArray(self.mc_reco_tracks_name)
78 mc_reco_tracks_det_hit_ids = []
79
80 for mc_reco_track in mc_reco_tracks:
81 mc_reco_track_det_hit_ids = utilities.get_det_hit_ids(mc_reco_track)
82 mc_reco_tracks_det_hit_ids.append(mc_reco_track_det_hit_ids)
83
84 self.mc_reco_tracks_det_hit_ids = mc_reco_tracks_det_hit_ids
85
86 self.mc_hit_lookup.fill()
87

◆ refine()

refine ( self,
crops )
inherited
Receive the gathered crops and forward them to the refiners.

Reimplemented in PickleHarvestingModule.

Definition at line 398 of file harvesting.py.

398 def refine(self, crops):
399 """Receive the gathered crops and forward them to the refiners."""
400
401 kwds = {}
402 if self.output_file_name:
403 # Save everything to a ROOT file
404 if isinstance(self.output_file_name, ROOT.TFile):
405 output_tdirectory = self.output_file_name
406 else:
407 output_tfile = ROOT.TFile(self.output_file_name, 'recreate')
408 output_tdirectory = output_tfile
409
410 else:
411 output_tdirectory = None
412
413 try:
414 with root_cd(output_tdirectory):
415 for refiner in self.refiners:
416 refiner(self, crops, tdirectory=output_tdirectory, **kwds)
417
418 # Get the methods marked as refiners from the class
419 cls = type(self)
420 for name in dir(cls):
421 if isinstance(getattr(cls, name), Refiner):
422 refiner = getattr(self, name)
423 # Getattr already binds self
424 refiner(crops, tdirectory=output_tdirectory, **kwds)
425
426 finally:
427 # If we opened the TFile ourself, close it again
428 if self.output_file_name:
429 if isinstance(self.output_file_name, str):
430 output_tfile.Close()
431
432 if self.show_results and self.output_file_name:
433 if isinstance(self.output_file_name, str):
434 output_tfile = ROOT.TFile(self.output_file_name)
435 root_browse(output_tfile)
436 input("Press enter to close")
437 output_tfile.Close()
438 else:
439 root_browse(self.output_file_name)
440 input("Press enter to close")
441

◆ terminate()

terminate ( self)
inherited
Termination method of the module.

Finalize the collected crops.
Start the refinement.

Reimplemented in ClusterFilterValidationModule.

Definition at line 263 of file harvesting.py.

263 def terminate(self):
264 """Termination method of the module.
265
266 Finalize the collected crops.
267 Start the refinement.
268 """
269
270 self.stash.close()
271 del self.stash
272
273 try:
274 self.refine(self.crops)
275 except AttributeError:
276 pass
277

Member Data Documentation

◆ contact

contact = contact
inherited

Contact email address to be displayed on the validation page.

Definition at line 211 of file harvesting.py.

◆ crops

crops
inherited

the dictionaries from peel

Definition at line 274 of file harvesting.py.

◆ default_expert_level

int default_expert_level = 1
staticinherited

The default value of expert_level if not specified explicitly by the caller.

Definition at line 156 of file harvesting.py.

◆ expert_level

int expert_level = self.default_expert_level if expert_level is None else expert_level
inherited

Integer expert level that controls to detail of plots to be generated.

Definition at line 214 of file harvesting.py.

◆ foreach

foreach = foreach
inherited

Name of the StoreArray or iterable StoreObjPtr that contains the objects to be harvested.

Definition at line 196 of file harvesting.py.

◆ mc_hit_lookup

Cache for the MC hit lookup.

Definition at line 66 of file pr_side_module.py.

◆ mc_reco_tracks_det_hit_ids

list mc_reco_tracks_det_hit_ids = []

Cache for the hit content of the Monte Carlo tracks - updated each event.

Definition at line 63 of file pr_side_module.py.

◆ mc_reco_tracks_name

mc_reco_tracks_name = mc_reco_tracks_name

Name of the StoreArray of the ideal mc tracks.

Definition at line 57 of file pr_side_module.py.

◆ output_file_name

output_file_name = output_file_name
inherited

Name of the ROOT output file to be generated.

Definition at line 199 of file harvesting.py.

◆ raw_crops

raw_crops = raw_crops
inherited

the dictionaries from peel as a numpy.array of doubles

Definition at line 325 of file harvesting.py.

◆ reco_tracks_name

reco_tracks_name = reco_tracks_name

Name of the StoreArray of the tracks from pattern recognition.

Definition at line 54 of file pr_side_module.py.

◆ refiners

list refiners = []
inherited

A list of additional refiner instances to be executed on top of the refiner methods that are members of this class.

Definition at line 218 of file harvesting.py.

◆ save_cdc_hit_efficiency

save_cdc_hit_efficiency
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 674 of file pr_side_module.py.

◆ save_cdc_hit_purity

save_cdc_hit_purity
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 726 of file pr_side_module.py.

◆ save_clone_rate

save_clone_rate
static
Initial value:
= refiners.save_fom(
)

Save RecoTrack clone-rate information.

Definition at line 218 of file pr_side_module.py.

◆ save_clone_rate_by_seed_phi0_profile

save_clone_rate_by_seed_phi0_profile
static
Initial value:
= refiners.save_profiles(
)

Make profile of the clone rate versus seed phi0 Rename the quantities to names that display nicely by root latex translation.

Definition at line 251 of file pr_side_module.py.

◆ save_clone_rate_by_seed_pt_profile

save_clone_rate_by_seed_pt_profile
static
Initial value:
= refiners.save_profiles(
)

Make profile of the clone rate versus seed transverse momentum Rename the quantities to names that display nicely by root latex translation.

Definition at line 266 of file pr_side_module.py.

◆ save_clone_rate_by_seed_pt_profile_groupbyCharge

save_clone_rate_by_seed_pt_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Make profile of the clone rate versus seed transverse momentum.

Definition at line 284 of file pr_side_module.py.

◆ save_clone_rate_by_seed_tan_lambda_profile

save_clone_rate_by_seed_tan_lambda_profile
static
Initial value:
= refiners.save_profiles(
)

Make profile of the clone rate versus seed tan(lambda) Rename the quantities to names that display nicely by root latex translation.

Definition at line 233 of file pr_side_module.py.

◆ save_clone_rate_by_seed_tan_lambda_profile_groupbyCharge

save_clone_rate_by_seed_tan_lambda_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Make profile of the clone rate versus seed tan(lambda)

Definition at line 303 of file pr_side_module.py.

◆ save_fake_rate

save_fake_rate
static
Initial value:
= refiners.save_fom(
)

Save RecoTrack fake-rate information.

Definition at line 321 of file pr_side_module.py.

◆ save_fake_rate_by_seed_phi0_profile

save_fake_rate_by_seed_phi0_profile
static
Initial value:
= refiners.save_profiles(
)

Make profile of the fake rate versus seed phi0 Rename the quantities to names that display nicely by root latex translation.

Definition at line 336 of file pr_side_module.py.

◆ save_fake_rate_by_seed_pt_profile

save_fake_rate_by_seed_pt_profile
static
Initial value:
= refiners.save_profiles(
)

Make profile of the fake rate versus seed transverse momentum Rename the quantities to names that display nicely by root latex translation.

Definition at line 366 of file pr_side_module.py.

◆ save_fake_rate_by_seed_pt_profile_groupbyCharge

save_fake_rate_by_seed_pt_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Make profile of the fake rate versus seed transverse momentum.

Definition at line 400 of file pr_side_module.py.

◆ save_fake_rate_by_seed_tan_lambda_profile

save_fake_rate_by_seed_tan_lambda_profile
static
Initial value:
= refiners.save_profiles(
)

Make profile of the fake rate versus seed tan(lambda) Rename the quantities to names that display nicely by root latex translation.

Definition at line 350 of file pr_side_module.py.

◆ save_fake_rate_by_seed_tan_lambda_profile_groupbyCharge

save_fake_rate_by_seed_tan_lambda_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Make profile of the fake rate versus seed tan(lambda)

Definition at line 382 of file pr_side_module.py.

◆ save_fitted_omega_pull_analysis

save_fitted_omega_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of fitted omega.

Definition at line 776 of file pr_side_module.py.

◆ save_fitted_pt_pull_analysis

save_fitted_pt_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of fitted transverse momentum.

Definition at line 797 of file pr_side_module.py.

◆ save_fitted_tan_lambda_pull_analysis

save_fitted_tan_lambda_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of fitted tan(lambda)

Definition at line 787 of file pr_side_module.py.

◆ save_fitted_x_pull_analysis

save_fitted_x_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of fitted x coordinate grouped by true transverse momentum.

Definition at line 807 of file pr_side_module.py.

◆ save_fitted_y_pull_analysis

save_fitted_y_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of fitted y coordinate grouped by true transverse momentum.

Definition at line 818 of file pr_side_module.py.

◆ save_fitted_z_pull_analysis

save_fitted_z_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of fitted z coordinate grouped by true transverse momentum.

Definition at line 829 of file pr_side_module.py.

◆ save_hit_counts_by_pt_profile

save_hit_counts_by_pt_profile
static
Initial value:
= refiners.save_profiles(
)

Hit counts in each sub detector by the true pt value.

Definition at line 417 of file pr_side_module.py.

◆ save_hit_counts_by_pt_profile_groupbyCharge

save_hit_counts_by_pt_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Hit counts in each sub detector by the true pt value.

Definition at line 544 of file pr_side_module.py.

◆ save_hit_counts_by_tanlambda_profile

save_hit_counts_by_tanlambda_profile
static
Initial value:
= refiners.save_profiles(
)

Hit counts in each sub detector by the true tanlambda value.

Definition at line 480 of file pr_side_module.py.

◆ save_hit_counts_by_tanlambda_profile_groupbyCharge

save_hit_counts_by_tanlambda_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Hit counts in each sub detector by the true tan lambda value.

Definition at line 567 of file pr_side_module.py.

◆ save_hit_efficiency

save_hit_efficiency
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 635 of file pr_side_module.py.

◆ save_hit_efficiency_by_pt_profile

save_hit_efficiency_by_pt_profile
static
Initial value:
= refiners.save_profiles(
)

Hit efficiency in each sub detector by the true pt value.

Definition at line 438 of file pr_side_module.py.

◆ save_hit_efficiency_by_pt_profile_groupbyCharge

save_hit_efficiency_by_pt_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Hit efficiency in each sub detector by the true pt value.

Definition at line 590 of file pr_side_module.py.

◆ save_hit_efficiency_by_tanlambda_profile

save_hit_efficiency_by_tanlambda_profile
static
Initial value:
= refiners.save_profiles(
)

Hit efficiency in each sub detector by the true tanlambda value.

Definition at line 501 of file pr_side_module.py.

◆ save_hit_efficiency_by_tanlambda_profile_groupbyCharge

save_hit_efficiency_by_tanlambda_profile_groupbyCharge
static
Initial value:
= refiners.save_profiles(
)

Charge dependent histograms Hit efficiency in each sub detector by the true tan lambda value.

Definition at line 613 of file pr_side_module.py.

◆ save_hit_purity

save_hit_purity
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 687 of file pr_side_module.py.

◆ save_hit_purity_by_pt_profile

save_hit_purity_by_pt_profile
static
Initial value:
= refiners.save_profiles(
)

Hit purity in each sub detector by the true pt value.

Definition at line 459 of file pr_side_module.py.

◆ save_hit_purity_by_tanlambda_profile

save_hit_purity_by_tanlambda_profile
static
Initial value:
= refiners.save_profiles(
)

Hit purity in each sub detector by the true tanlambda value.

Definition at line 522 of file pr_side_module.py.

◆ save_p_value_histogram

save_p_value_histogram
static
Initial value:
= refiners.save_histograms(
)

Creates a distribution of p values from the Genfit track fit for match pr tracks.

Definition at line 739 of file pr_side_module.py.

◆ save_pxd_hit_efficiency

save_pxd_hit_efficiency
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 648 of file pr_side_module.py.

◆ save_pxd_hit_purity

save_pxd_hit_purity
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 700 of file pr_side_module.py.

◆ save_resolutions_by_pt_profile

save_resolutions_by_pt_profile
static
Initial value:
= refiners.save_profiles(
)

Resolutions as a function of true p_t.

Definition at line 840 of file pr_side_module.py.

◆ save_seed_omega_pull_analysis

save_seed_omega_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of seed omega.

Definition at line 753 of file pr_side_module.py.

◆ save_seed_tan_lambda_pull_analysis

save_seed_tan_lambda_pull_analysis
static
Initial value:
= refiners.save_pull_analysis(
)

Pull of seed tan(lambda)

Definition at line 765 of file pr_side_module.py.

◆ save_svd_hit_efficiency

save_svd_hit_efficiency
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 661 of file pr_side_module.py.

◆ save_svd_hit_purity

save_svd_hit_purity
static
Initial value:
= refiners.save_fom(
)

Save simple FOM.

Definition at line 713 of file pr_side_module.py.

◆ save_tree

save_tree
static
Initial value:
= refiners.save_tree(
)

Save a tree of all collected variables in a sub folder.

Definition at line 211 of file pr_side_module.py.

◆ show_results

show_results = show_results
inherited

Switch to show the result ROOT file in a TBrowser on terminate.

Definition at line 221 of file harvesting.py.

◆ stash

stash = self.barn()
inherited

stash of the harvested crops (start with those in the barn)

Definition at line 237 of file harvesting.py.

◆ title

title = title or self.name()
inherited

Name of this harvest.

Title particle of this harvest

Definition at line 208 of file harvesting.py.

◆ track_match_look_up

track_match_look_up = None

Reference to the track match lookup object reading the relation information constructed by the MCMatcherTracksModule.

Definition at line 60 of file pr_side_module.py.


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