Belle II Software  release-05-01-25
toCDCfromEclCKFTrackingValidation_onlyEclSeed.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 """
5 <header>
6  <contact>simon.kurz@desy.de</contact>
7  <input>EvtGenSimNoBkg.root</input>
8  <output>toCDCfromEclCKFTrackingValidation.root</output>
9  <description>This module validates toCDCfromEclCKF module using Y(4S) runs.</description>
10 </header>
11 """
12 
13 VALIDATION_OUTPUT_FILE = 'toCDCfromEclCKFTrackingValidation_onlyEclSeed_expert.root'
14 N_EVENTS = 10000
15 ACTIVE = True
16 
17 import basf2
18 basf2.set_random_seed(1337)
19 
20 import logging
21 import tracking
22 from tracking.validation.run import TrackingValidationRun
23 import reconstruction
24 
25 
27  """Validate the ecl seeded ckf"""
28 
29  n_events = N_EVENTS
30 
31  generator_module = 'generic'
32 
33  root_input_file = '../EvtGenSimNoBkg.root'
34 
35  @staticmethod
36  def finder_module(path):
37  """Only run the following (necessary) modules"""
38  path.add_module('SetupGenfitExtrapolation',
39  energyLossBrems=False, noiseBrems=False)
40 
42 
43  # needed for truth matching
44  path.add_module('TrackFinderMCTruthRecoTracks',
45  RecoTracksStoreArrayName="MCRecoTracks",
46  # We are using primary as well as secondaries here!
47  WhichParticles=[],
48  UsePXDHits=False,
49  UseSVDHits=False,
50  UseCDCHits=True)
51 
52  path.add_module("TFCDC_WireHitPreparer",
53  wirePosition="aligned",
54  useSecondHits=False,
55  flightTimeEstimation="outwards")
56 
57  path.add_module("ToCDCFromEclCKF",
58  inputWireHits="CDCWireHitVector",
59  minimalEnRequirementCluster=0.3,
60  eclSeedRecoTrackStoreArrayName='EclSeedRecoTracks',
61  hitFindingDirection="backward",
62  outputRecoTrackStoreArrayName="RecoTracks",
63  outputRelationRecoTrackStoreArrayName="EclSeedRecoTracks",
64  writeOutDirection="forward",
65  stateBasicFilterParameters={"maximalHitDistance": 7.5, "maximalHitDistanceEclSeed": 75.0},
66  stateExtrapolationFilterParameters={"direction": "backward"},
67  pathFilter="arc_length_fromEcl",
68  inputECLshowersStoreArrayName="ECLShowers",
69  trackFindingDirection="backward",
70  seedComponent="ECL"
71  )
72 
73  path.add_module("DAFRecoFitter", recoTracksStoreArrayName="RecoTracks")
74 
75  path.add_module('TrackCreator', recoTrackColName='RecoTracks')
76 
77  path.add_module("MCRecoTracksMatcher",
78  mcRecoTracksStoreArrayName="MCRecoTracks",
79  prRecoTracksStoreArrayName="RecoTracks",
80  UseCDCHits=True,
81  UseSVDHits=False,
82  UsePXDHits=False)
83 
84 
85  tracking_coverage = {
86  'UsePXDHits': False,
87  'UseSVDHits': False,
88  'UseCDCHits': True,
89  'WhichParticles': [],
90  }
91 
92 
93  fit_tracks = False
94 
95  use_fit_information = True
96 
97  pulls = True
98 
99  resolution = True
100 
101  output_file_name = VALIDATION_OUTPUT_FILE
102 
103  extended = True
104 
105 
106 def main():
107  validation_run = toCDCfromEclCKF()
108  validation_run.configure_and_execute_from_commandline()
109 
110 
111 if __name__ == '__main__':
112  logging.basicConfig(level=logging.INFO)
113 
114  if ACTIVE:
115  main()
toCDCfromEclCKFTrackingValidation_onlyEclSeed.toCDCfromEclCKF
Definition: toCDCfromEclCKFTrackingValidation_onlyEclSeed.py:26
tracking.validation.run
Definition: run.py:1
main
int main(int argc, char **argv)
Run all tests.
Definition: test_main.cc:77
tracking.run.tracked_event_generation.ReadOrGenerateTrackedEventsRun.finder_module
finder_module
Name of the finder module to be used - can be everything that is accepted by tracking....
Definition: tracked_event_generation.py:25
reconstruction.add_ecl_modules
def add_ecl_modules(path, components=None)
Definition: reconstruction.py:618
tracking.validation.run.TrackingValidationRun
Definition: run.py:18