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