Skip to content

Commit 73e817f

Browse files
authored
Merge pull request #1142 from JeffersonLab/eb-hit-kill-smear
Adding preliminary hit smearing and hit killing
2 parents d01c966 + 35eb3e6 commit 73e817f

30 files changed

+3846
-6
lines changed
Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
3+
<!--
4+
@brief Steering file that will be used for the reconstruction of 2021 MC production with v8 alignment.
5+
-->
6+
<execute>
7+
<driver name="EventMarkerDriver"/>
8+
<!--<driver name="PreCleanupDriver"/>-->
9+
10+
<!-- Ecal reconstruction drivers -->
11+
<driver name="EcalRawConverter" />
12+
<driver name="EcalTimeCorrection"/>
13+
<driver name="ReconClusterer" />
14+
<driver name="CopyCluster" />
15+
<driver name="HodoRunningPedestal"/>
16+
<driver name="HodoRawConverter"/>
17+
<!-- SVT hit reconstruction drivers -->
18+
<driver name="RawTrackerHitSensorSetup"/>
19+
<driver name="RawTrackerHitFitterDriver" />
20+
<driver name="TrackerHitDriver"/>
21+
<driver name="StripHitKiller"/>
22+
23+
24+
<driver name="KalmanPatRecDriver"/>
25+
<driver name="TrackTruthMatching_KF" />
26+
<driver name="ReconParticleDriver_Kalman" />
27+
<!-- <driver name="SVTHitEfficiency"/> -->
28+
29+
30+
<!-- KFOutputDriver uses too much memory to run during production -->
31+
<!--<driver name="KFOutputDriver"/>-->
32+
33+
<driver name="LCIOWriter"/>
34+
<!-- <driver name="AidaSaveDriver"/> -->
35+
<driver name="CleanupDriver"/>
36+
</execute>
37+
<drivers>
38+
<driver name="SVTHitEfficiency" type="org.hps.recon.tracking.kalman.SvtHitEfficiencyKalman">
39+
<maxLayer>14</maxLayer>
40+
<useTrkTimeCut>false</useTrkTimeCut>
41+
<!--<trkTimeCut>10.0</trkTimeCut> -->
42+
<!-- <trkTimeMean>15.0</trkTimeMean> -->
43+
<debug>false</debug>
44+
</driver>
45+
<driver name="StripHitKiller" type="org.hps.recon.tracking.StripHitKiller">
46+
<ratioFiles>run14232_L1b_axial_hole.txt run14232_L1b_stereo_hole.txt run14232_L1t_axial_hole.txt run14232_L1t_stereo_hole.txt run14232_L2b_axial_hole.txt run14232_L2b_stereo_hole.txt run14232_L2t_axial_hole.txt run14232_L2t_stereo_hole.txt</ratioFiles>
47+
<debug>false</debug>
48+
</driver>
49+
<driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
50+
<eventInterval>1000</eventInterval>
51+
</driver>
52+
<driver name="PreCleanupDriver" type="org.hps.analysis.dataquality.ReadoutCleanupDriver">
53+
<collectionNames> EcalCalHits EcalClusters EcalClustersCorr KalmanFullTracks FinalStateParticles_KF UnconstrainedMollerCandidates_KF UnconstrainedMollerVertices_KF UnconstrainedV0Candidates_KF UnconstrainedV0Vertices_KF TargetConstrainedMollerCandidates_KF TargetConstrainedMollerVertices_KF TargetConstrainedV0Candidates_KF TargetConstrainedV0Vertices_KF BeamspotConstrainedMollerCandidates_KF BeamspotConstrainedMollerVertices_KF BeamspotConstrainedV0Candidates_KF BeamspotConstrainedV0Vertices_KF GBLKinkData GBLKinkDataRelations MatchedToGBLTrackRelations HelicalTrackHits HelicalTrackHitRelations MatchedTracks GBLTracks MatchedToGBLTrackRelations PartialTracks RotatedHelicalTrackHits RotatedHelicalTrackHitRelations SVTFittedRawTrackerHits SVTShapeFitParameters StripClusterer_SiTrackerHitStrip1D KFTrackData KFTrackDataRelations KFUnbiasRes KFUnbiasResRelations</collectionNames>
54+
</driver>
55+
<!-- Ecal reconstruction drivers -->
56+
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverter2Driver"/>
57+
<driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver">
58+
<additionalShift>13.3</additionalShift>
59+
</driver>
60+
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
61+
<logLevel>WARNING</logLevel>
62+
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
63+
</driver>
64+
<driver name="CopyCluster" type="org.hps.recon.ecal.cluster.CopyClusterCollectionDriver">
65+
<inputCollectionName>EcalClusters</inputCollectionName>
66+
<outputCollectionName>EcalClustersCorr</outputCollectionName>
67+
</driver>
68+
<!-- Hodo reconstruction drivers -->
69+
<driver name="HodoRunningPedestal"
70+
type="org.hps.recon.ecal.HodoRunningPedestalDriver">
71+
<inputCollectionName>HodoscopeReadoutHits</inputCollectionName>
72+
<logLevel>CONFIG</logLevel>
73+
<isMC>true</isMC>
74+
</driver>
75+
<driver name="HodoRawConverter" type="org.hps.recon.ecal.HodoRawConverterDriver">
76+
<useRunningPedestal>true</useRunningPedestal>
77+
<inputCollectionName>HodoscopeReadoutHits</inputCollectionName>
78+
<tETAllChannels>8</tETAllChannels>
79+
<logLevel>CONFIG</logLevel>
80+
<isMC>true</isMC>
81+
</driver>
82+
<!-- SVT reconstruction drivers -->
83+
<!-- Driver used to associate raw tracker hits to corresponding sensor. -->
84+
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
85+
<readoutCollections>SVTRawTrackerHits</readoutCollections>
86+
</driver>
87+
<!-- Fit the six raw samples and extract the amplitude and t0. -->
88+
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
89+
<chiSqrThresh>.5</chiSqrThresh>
90+
<doOldDT>1</doOldDT>
91+
<fitAlgorithm>Pileup</fitAlgorithm>
92+
<fitTimeMinimizer>Migrad</fitTimeMinimizer>
93+
<!--use this to correct for trigger time in MC instead of subtractTriggerTime-->
94+
<useTimestamps>true</useTimestamps>
95+
<!--offset to get times centered at 0 after timestamp correction-->
96+
<!-- set to 0 for unspaced; ~112 for spaced -->
97+
<tsCorrectionScale>165</tsCorrectionScale>
98+
<!--correct for the SVT fit time offset...this should be on if <useTimingConditions> is turned on in readout-->
99+
<correctTimeOffset>true</correctTimeOffset>
100+
<!--per sensor shift...set false becasue it's not in readout sim-->
101+
<correctT0Shift>true</correctT0Shift>
102+
<!--use truth time for MC??? typically not used-->
103+
<useTruthTime>false</useTruthTime>
104+
<!--time of flight corrections-->
105+
<subtractTOF>true</subtractTOF>
106+
<!--set this false for MC, true for data-->
107+
<subtractTriggerTime>false</subtractTriggerTime>
108+
<!--per-strip timing correction from database...this should be on i f <useTimingConditions> is turned on in readout -->
109+
<correctChanT0>false</correctChanT0>
110+
<isMC>true</isMC>
111+
<debug>false</debug>
112+
</driver>
113+
<!--
114+
Use the fitted raw tracker hits and create 1D clusters using a
115+
nearest neighbor algorithm.
116+
-->
117+
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
118+
<neighborDeltaT>24.0</neighborDeltaT>
119+
<neighborDeltaTSigma>3.0</neighborDeltaTSigma>
120+
<saveMonsterEvents>false</saveMonsterEvents>
121+
<thresholdMonsterEvents>400</thresholdMonsterEvents>
122+
<clusterSeedThreshold>4.0</clusterSeedThreshold>
123+
<doTimeError>1.0</doTimeError>
124+
<clusterNeighborThreshold>3.0</clusterNeighborThreshold>
125+
<clusterThreshold>3.0</clusterThreshold>
126+
<doDeadFix>true</doDeadFix>
127+
<doVSplit>true</doVSplit>
128+
<debug>false</debug>
129+
</driver>
130+
131+
<driver name="ReconParticleDriver_Kalman" type="org.hps.recon.particle.HpsReconParticleDriver" >
132+
<ecalClusterCollectionName>EcalClustersCorr</ecalClusterCollectionName>
133+
<trackCollectionNames>KalmanFullTracks</trackCollectionNames>
134+
<matcherTrackCollectionName>KalmanFullTracks</matcherTrackCollectionName>
135+
<trackClusterMatcherAlgo>TrackClusterMatcherMinDistance</trackClusterMatcherAlgo>
136+
<unconstrainedV0CandidatesColName>UnconstrainedV0Candidates_KF</unconstrainedV0CandidatesColName>
137+
<unconstrainedV0VerticesColName>UnconstrainedV0Vertices_KF</unconstrainedV0VerticesColName>
138+
<beamConV0CandidatesColName>BeamspotConstrainedV0Candidates_KF</beamConV0CandidatesColName>
139+
<beamConV0VerticesColName>BeamspotConstrainedV0Vertices_KF</beamConV0VerticesColName>
140+
<targetConV0CandidatesColName>TargetConstrainedV0Candidates_KF</targetConV0CandidatesColName>
141+
<targetConV0VerticesColName>TargetConstrainedV0Vertices_KF</targetConV0VerticesColName>
142+
<finalStateParticlesColName>FinalStateParticles_KF</finalStateParticlesColName>
143+
<otherElectronsColName>OtherElectrons_KF</otherElectronsColName>
144+
<includeUnmatchedTracksInFSP>true</includeUnmatchedTracksInFSP>
145+
<beamPositionX> 0.0 </beamPositionX>
146+
<beamSigmaX> 0.3 </beamSigmaX>
147+
<beamPositionY> 0.0 </beamPositionY>
148+
<beamSigmaY> 0.02 </beamSigmaY>
149+
<beamPositionZ> -0.5 </beamPositionZ>
150+
<trackClusterTimeOffset>25</trackClusterTimeOffset>
151+
<maxMatchDt>40</maxMatchDt>
152+
<useInternalVertexXYPositions>false</useInternalVertexXYPositions>
153+
<minVertexChisqProb> 0.0 </minVertexChisqProb>
154+
<maxVertexClusterDt>40.0</maxVertexClusterDt>
155+
<maxElectronP>7.0</maxElectronP>
156+
<maxVertexP>7.0</maxVertexP>
157+
<requireClustersForV0>false</requireClustersForV0>
158+
<useCorrectedClusterPositionsForMatching>false</useCorrectedClusterPositionsForMatching>
159+
<applyClusterCorrections>true</applyClusterCorrections>
160+
<useTrackPositionForClusterCorrection>true</useTrackPositionForClusterCorrection>
161+
<isMC>true</isMC>
162+
<debug>false</debug>
163+
<makeMollerCols>true</makeMollerCols>
164+
<unconstrainedMollerCandidatesColName>UnconstrainedMollerCandidates_KF</unconstrainedMollerCandidatesColName>
165+
<unconstrainedMollerVerticesColName>UnconstrainedMollerVertices_KF</unconstrainedMollerVerticesColName>
166+
<beamConMollerCandidatesColName>BeamspotConstrainedMollerCandidates_KF</beamConMollerCandidatesColName>
167+
<beamConMollerVerticesColName>BeamspotConstrainedMollerVertices_KF</beamConMollerVerticesColName>
168+
<targetConMollerCandidatesColName>TargetConstrainedMollerCandidates_KF</targetConMollerCandidatesColName>
169+
<targetConMollerVerticesColName>TargetConstrainedMollerVertices_KF</targetConMollerVerticesColName>
170+
</driver>
171+
<driver name="GBLRefitterDriver" type="org.hps.recon.tracking.gbl.GBLRefitterDriver"/>
172+
<driver name="KalmanPatRecDriver" type="org.hps.recon.tracking.kalman.KalmanPatRecDriver">
173+
<addResiduals>true</addResiduals>
174+
<addKinks>true</addKinks>
175+
<numPatRecIteration> 3 </numPatRecIteration>
176+
<numKalmanIteration> 1 </numKalmanIteration>
177+
<maxPtInverse> 8.757651 </maxPtInverse>
178+
<maxD0> 38.0487 </maxD0>
179+
<maxZ0> 3.98915 </maxZ0>
180+
<maxChi2> 11.777395 </maxChi2>
181+
<minHits> 0 </minHits>
182+
<minStereo> 3 </minStereo>
183+
<maxSharedHits> 3 </maxSharedHits>
184+
<maxTimeRange> 39.95028 </maxTimeRange>
185+
<maxTanLambda> 8.186345 </maxTanLambda>
186+
<!-- <maxResidual> 13.71568 </maxResidual> -->
187+
<maxChi2Inc> 13.52662 </maxChi2Inc>
188+
<minChi2IncBad> 7.00678 </minChi2IncBad>
189+
<!-- <maxResidShare> 13.967129 </maxResidShare> -->
190+
<maxChi2IncShare> 9.771546584 </maxChi2IncShare>
191+
<mxChi2Vtx> 1.7652935 </mxChi2Vtx>
192+
<numEvtPlots> 5 </numEvtPlots>
193+
<doDebugPlots> false </doDebugPlots>
194+
<siHitsLimit> 466 </siHitsLimit>
195+
<seedCompThr> .725912 </seedCompThr>
196+
<!--numStrategyIter1></numStrategyIter1 tthe mxChi2Vtx was 1.0-->
197+
<beamPositionZ> -0.5 </beamPositionZ>
198+
<beamSigmaZ> 0.5 </beamSigmaZ>
199+
<beamPositionX> 0.0 </beamPositionX>
200+
<beamSigmaX> 0.3 </beamSigmaX>
201+
<beamPositionY> 0.0 </beamPositionY>
202+
<beamSigmaY> 0.02 </beamSigmaY>
203+
<lowPhThresh> 7.204329 </lowPhThresh>
204+
<verbose> false </verbose>
205+
</driver>
206+
<driver name="TrackTruthMatching_KF" type="org.hps.analysis.MC.TrackToMCParticleRelationsDriver">
207+
<trackCollectionName>KalmanFullTracks</trackCollectionName>
208+
<kalmanTracks>true</kalmanTracks>
209+
<debug>false</debug>
210+
</driver>
211+
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
212+
<outputFileName>${outputFile}_hit_eff.root</outputFileName>
213+
</driver>
214+
215+
<driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
216+
<outputFilePath>${outputFile}.slcio</outputFilePath>
217+
</driver>
218+
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
219+
220+
<driver name="KFOutputDriver" type="org.hps.recon.tracking.kalman.KFOutputDriver">
221+
<outputPlotsFilename>${outputFile}.root</outputPlotsFilename>
222+
<debug>false</debug>
223+
<bsZ>0.9</bsZ>
224+
<!--<trackCollectionName>GBLTracks</trackCollectionName> -->
225+
<trackCollectionName>KalmanFullTracks</trackCollectionName>
226+
<minMom>0.1</minMom>
227+
<maxMom>4.8</maxMom>
228+
<chi2Cut>9999</chi2Cut>
229+
<doKFresiduals>true</doKFresiduals>
230+
<useParticles>true</useParticles>
231+
</driver>
232+
233+
234+
</drivers>
235+
</lcsim>

0 commit comments

Comments
 (0)