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