Belle II Software  release-08-00-04
toCDCfromEclCKFTrackingValidation.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.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.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  WhichParticles=[],
52  UsePXDHits=False,
53  UseSVDHits=False,
54  UseCDCHits=True)
55 
56  path.add_module("TFCDC_WireHitPreparer",
57  wirePosition="aligned",
58  useSecondHits=False,
59  flightTimeEstimation="outwards")
60 
61  path.add_module("ToCDCFromEclCKF",
62  inputWireHits="CDCWireHitVector",
63  minimalEnRequirementCluster=0.3,
64  eclSeedRecoTrackStoreArrayName='EclSeedRecoTracks',
65  hitFindingDirection="backward",
66  outputRecoTrackStoreArrayName="CKFCDCRecoTracksFromEcl",
67  outputRelationRecoTrackStoreArrayName="EclSeedRecoTracks",
68  writeOutDirection="forward",
69  stateBasicFilterParameters={"maximalHitDistance": 7.5, "maximalHitDistanceEclSeed": 75.0},
70  stateExtrapolationFilterParameters={"direction": "backward"},
71  pathFilter="arc_length_fromEcl",
72  inputECLshowersStoreArrayName="ECLShowers",
73  trackFindingDirection="backward",
74  seedComponent="ECL"
75  )
76 
77  path.add_module("ToCDCCKF",
78  inputWireHits="CDCWireHitVector",
79  inputRecoTrackStoreArrayName="CKFCDCRecoTracksFromEcl",
80  relatedRecoTrackStoreArrayName="RecoTracks",
81  relationCheckForDirection="backward",
82  outputRecoTrackStoreArrayName="RecoTracks",
83  outputRelationRecoTrackStoreArrayName="CKFCDCRecoTracksFromEcl",
84  writeOutDirection="backward",
85  stateBasicFilterParameters={"maximalHitDistance": 0.75},
86  stateExtrapolationFilterParameters={"direction": "forward"},
87  pathFilter="arc_length",
88  seedComponent="ECL"
89  )
90 
91  path.add_module("DAFRecoFitter", recoTracksStoreArrayName="RecoTracks")
92 
93  path.add_module('TrackCreator', recoTrackColName='RecoTracks')
94 
95  path.add_module("MCRecoTracksMatcher",
96  mcRecoTracksStoreArrayName="MCRecoTracks",
97  prRecoTracksStoreArrayName="RecoTracks",
98  UseCDCHits=True,
99  UseSVDHits=False,
100  UsePXDHits=False)
101 
102 
103  tracking_coverage = {
104  'UsePXDHits': False,
105  'UseSVDHits': False,
106  'UseCDCHits': True,
107  'WhichParticles': [],
108  }
109 
110 
111  fit_tracks = False
112 
113  use_fit_information = True
114 
115  pulls = True
116 
117  resolution = True
118 
119  output_file_name = VALIDATION_OUTPUT_FILE
120 
121  non_expert_parameters = []
122 
123 
124 def main():
125  validation_run = toCDCfromEclCKF()
126  validation_run.configure_and_execute_from_commandline()
127 
128 
129 if __name__ == '__main__':
130  logging.basicConfig(level=logging.INFO)
131 
132  if ACTIVE:
133  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