|
| 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 | + <!-- Ecal reconstruction drivers --> |
| 9 | + <driver name="EcalRawConverter" /> |
| 10 | + <driver name="EcalTimeCorrection"/> |
| 11 | + <driver name="ReconClusterer" /> |
| 12 | + <driver name="CopyCluster" /> |
| 13 | + <driver name="HodoRunningPedestal"/> |
| 14 | + <driver name="HodoRawConverter"/> |
| 15 | + <!-- SVT hit reconstruction drivers --> |
| 16 | + <driver name="RawTrackerHitSensorSetup"/> |
| 17 | + <driver name="RawTrackerHitFitterDriver" /> |
| 18 | + <driver name="TrackerHitDriver"/> |
| 19 | + |
| 20 | + <driver name="KalmanPatRecDriver"/> |
| 21 | + <driver name="TrackTruthMatching_KF" /> |
| 22 | + <driver name="ReconParticleDriver_Kalman" /> |
| 23 | + <!-- KFOutputDriver uses too much memory to run during production --> |
| 24 | + <!--<driver name="KFOutputDriver"/>--> |
| 25 | + |
| 26 | + <driver name="LCIOWriter"/> |
| 27 | + <driver name="CleanupDriver"/> |
| 28 | + </execute> |
| 29 | + <drivers> |
| 30 | + <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver"> |
| 31 | + <eventInterval>1000</eventInterval> |
| 32 | + </driver> |
| 33 | + <!-- Ecal reconstruction drivers --> |
| 34 | + <driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverter2Driver"/> |
| 35 | + <driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver"> |
| 36 | + <additionalShift>13.3</additionalShift> |
| 37 | + </driver> |
| 38 | + <driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver"> |
| 39 | + <logLevel>WARNING</logLevel> |
| 40 | + <outputClusterCollectionName>EcalClusters</outputClusterCollectionName> |
| 41 | + </driver> |
| 42 | + <driver name="CopyCluster" type="org.hps.recon.ecal.cluster.CopyClusterCollectionDriver"> |
| 43 | + <inputCollectionName>EcalClusters</inputCollectionName> |
| 44 | + <outputCollectionName>EcalClustersCorr</outputCollectionName> |
| 45 | + </driver> |
| 46 | + <!-- Hodo reconstruction drivers --> |
| 47 | + <driver name="HodoRunningPedestal" type="org.hps.recon.ecal.HodoRunningPedestalDriver"> |
| 48 | + <inputCollectionName>HodoscopeReadoutHits</inputCollectionName> |
| 49 | + <logLevel>CONFIG</logLevel> |
| 50 | + <isMC>true</isMC> |
| 51 | + </driver> |
| 52 | + <driver name="HodoRawConverter" type="org.hps.recon.ecal.HodoRawConverterDriver"> |
| 53 | + <useRunningPedestal>true</useRunningPedestal> |
| 54 | + <inputCollectionName>HodoscopeReadoutHits</inputCollectionName> |
| 55 | + <tETAllChannels>8</tETAllChannels> |
| 56 | + <logLevel>CONFIG</logLevel> |
| 57 | + <isMC>true</isMC> |
| 58 | + </driver> |
| 59 | + <!-- SVT reconstruction drivers --> |
| 60 | + <!-- Driver used to associate raw tracker hits to corresponding sensor. --> |
| 61 | + <driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup"> |
| 62 | + <readoutCollections>SVTRawTrackerHits</readoutCollections> |
| 63 | + </driver> |
| 64 | + <!-- Fit the six raw samples and extract the amplitude and t0. --> |
| 65 | + <driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver"> |
| 66 | + <chiSqrThresh>.5</chiSqrThresh> |
| 67 | + <doOldDT>1</doOldDT> |
| 68 | + <fitAlgorithm>Pileup</fitAlgorithm> |
| 69 | + <fitTimeMinimizer>Migrad</fitTimeMinimizer> |
| 70 | + <!--use this to correct for trigger time in MC instead of subtractTriggerTime--> |
| 71 | + <useTimestamps>true</useTimestamps> |
| 72 | + <!--offset to get times centered at 0 after timestamp correction--> |
| 73 | + <!-- set to 0 for unspaced; ~112 for spaced --> |
| 74 | + <tsCorrectionScale>165</tsCorrectionScale> |
| 75 | + <!--correct for the SVT fit time offset...this should be on if <useTimingConditions> is turned on in readout--> |
| 76 | + <correctTimeOffset>true</correctTimeOffset> |
| 77 | + <!--per sensor shift...set false becasue it's not in readout sim--> |
| 78 | + <correctT0Shift>true</correctT0Shift> |
| 79 | + <!--use truth time for MC??? typically not used--> |
| 80 | + <useTruthTime>false</useTruthTime> |
| 81 | + <!--time of flight corrections--> |
| 82 | + <subtractTOF>true</subtractTOF> |
| 83 | + <!--set this false for MC, true for data--> |
| 84 | + <subtractTriggerTime>false</subtractTriggerTime> |
| 85 | + <!--per-strip timing correction from database...this should be on i f <useTimingConditions> is turned on in readout --> |
| 86 | + <correctChanT0>false</correctChanT0> |
| 87 | + <isMC>true</isMC> |
| 88 | + <debug>false</debug> |
| 89 | + </driver> |
| 90 | + <!-- |
| 91 | + Use the fitted raw tracker hits and create 1D clusters using a |
| 92 | + nearest neighbor algorithm. |
| 93 | + --> |
| 94 | + <driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver"> |
| 95 | + <neighborDeltaT>24.0</neighborDeltaT> |
| 96 | + <neighborDeltaTSigma>3.0</neighborDeltaTSigma> |
| 97 | + <saveMonsterEvents>false</saveMonsterEvents> |
| 98 | + <thresholdMonsterEvents>400</thresholdMonsterEvents> |
| 99 | + <clusterSeedThreshold>4.0</clusterSeedThreshold> |
| 100 | + <doTimeError>1.0</doTimeError> |
| 101 | + <clusterNeighborThreshold>3.0</clusterNeighborThreshold> |
| 102 | + <clusterThreshold>3.0</clusterThreshold> |
| 103 | + <doDeadFix>true</doDeadFix> |
| 104 | + <doVSplit>true</doVSplit> |
| 105 | + <debug>false</debug> |
| 106 | + </driver> |
| 107 | + |
| 108 | + <driver name="ReconParticleDriver_Kalman" type="org.hps.recon.particle.HpsReconParticleDriver" > |
| 109 | + <ecalClusterCollectionName>EcalClustersCorr</ecalClusterCollectionName> |
| 110 | + <trackCollectionNames>KalmanFullTracks</trackCollectionNames> |
| 111 | + <matcherTrackCollectionName>KalmanFullTracks</matcherTrackCollectionName> |
| 112 | + <trackClusterMatcherAlgo>TrackClusterMatcherMinDistance</trackClusterMatcherAlgo> |
| 113 | + <unconstrainedV0CandidatesColName>UnconstrainedV0Candidates_KF</unconstrainedV0CandidatesColName> |
| 114 | + <unconstrainedV0VerticesColName>UnconstrainedV0Vertices_KF</unconstrainedV0VerticesColName> |
| 115 | + <beamConV0CandidatesColName>BeamspotConstrainedV0Candidates_KF</beamConV0CandidatesColName> |
| 116 | + <beamConV0VerticesColName>BeamspotConstrainedV0Vertices_KF</beamConV0VerticesColName> |
| 117 | + <targetConV0CandidatesColName>TargetConstrainedV0Candidates_KF</targetConV0CandidatesColName> |
| 118 | + <targetConV0VerticesColName>TargetConstrainedV0Vertices_KF</targetConV0VerticesColName> |
| 119 | + <finalStateParticlesColName>FinalStateParticles_KF</finalStateParticlesColName> |
| 120 | + <otherElectronsColName>OtherElectrons_KF</otherElectronsColName> |
| 121 | + <includeUnmatchedTracksInFSP>true</includeUnmatchedTracksInFSP> |
| 122 | + <beamPositionX> 0.100 </beamPositionX> |
| 123 | + <beamSigmaX> 0.055 </beamSigmaX> |
| 124 | + <beamPositionY> 0.06 </beamPositionY> |
| 125 | + <beamSigmaY> 0.045 </beamSigmaY> |
| 126 | + <beamPositionZ> -0.5 </beamPositionZ> |
| 127 | + <trackClusterTimeOffset>40</trackClusterTimeOffset> |
| 128 | + <maxMatchDt>40</maxMatchDt> |
| 129 | + <useInternalVertexXYPositions>false</useInternalVertexXYPositions> |
| 130 | + <minVertexChisqProb> 0.0 </minVertexChisqProb> |
| 131 | + <maxVertexClusterDt>40.0</maxVertexClusterDt> |
| 132 | + <maxElectronP>7.0</maxElectronP> |
| 133 | + <maxVertexP>7.0</maxVertexP> |
| 134 | + <requireClustersForV0>false</requireClustersForV0> |
| 135 | + <useCorrectedClusterPositionsForMatching>false</useCorrectedClusterPositionsForMatching> |
| 136 | + <applyClusterCorrections>true</applyClusterCorrections> |
| 137 | + <useTrackPositionForClusterCorrection>true</useTrackPositionForClusterCorrection> |
| 138 | + <isMC>true</isMC> |
| 139 | + <debug>false</debug> |
| 140 | + <makeMollerCols>true</makeMollerCols> |
| 141 | + <unconstrainedMollerCandidatesColName>UnconstrainedMollerCandidates_KF</unconstrainedMollerCandidatesColName> |
| 142 | + <unconstrainedMollerVerticesColName>UnconstrainedMollerVertices_KF</unconstrainedMollerVerticesColName> |
| 143 | + <beamConMollerCandidatesColName>BeamspotConstrainedMollerCandidates_KF</beamConMollerCandidatesColName> |
| 144 | + <beamConMollerVerticesColName>BeamspotConstrainedMollerVertices_KF</beamConMollerVerticesColName> |
| 145 | + <targetConMollerCandidatesColName>TargetConstrainedMollerCandidates_KF</targetConMollerCandidatesColName> |
| 146 | + <targetConMollerVerticesColName>TargetConstrainedMollerVertices_KF</targetConMollerVerticesColName> |
| 147 | + </driver> |
| 148 | + <driver name="KalmanPatRecDriver" type="org.hps.recon.tracking.kalman.KalmanPatRecDriver"> |
| 149 | + <numPatRecIteration> 2 </numPatRecIteration> |
| 150 | + <numKalmanIteration> 1 </numKalmanIteration> |
| 151 | + <maxPtInverse> 8.881915381218574 </maxPtInverse> |
| 152 | + <maxD0> 39.249197341740356 </maxD0> |
| 153 | + <maxZ0> 8.37847994612359 </maxZ0> |
| 154 | + <maxChi2> 11.546843987796496 </maxChi2> |
| 155 | + <minHitsTopIter1> 9 </minHitsTopIter1> |
| 156 | + <minHitsBotIter1> 9 </minHitsBotIter1> |
| 157 | + <minHitsTopIter2> 8 </minHitsTopIter2> |
| 158 | + <minHitsBotIter2> 8 </minHitsBotIter2> |
| 159 | + <minStereo> 3 </minStereo> |
| 160 | + <maxSharedHits> 2 </maxSharedHits> |
| 161 | + <maxTimeRange> 40.0 </maxTimeRange> |
| 162 | + <maxTanLambda> 5.0 </maxTanLambda> |
| 163 | + <maxResidual> 57.03015190053787 </maxResidual> |
| 164 | + <maxChi2Inc> 12.320066328390354 </maxChi2Inc> |
| 165 | + <minChi2IncBad> 9.206482863412027 </minChi2IncBad> |
| 166 | + <maxResidShare> 50.79545123329545 </maxResidShare> |
| 167 | + <maxChi2IncShare> 5.862027198856136 </maxChi2IncShare> |
| 168 | + <mxChi2Vtx> 5.508828061070076 </mxChi2Vtx> |
| 169 | + <numEvtPlots> 5 </numEvtPlots> |
| 170 | + <doDebugPlots> false </doDebugPlots> |
| 171 | + <siHitsLimit> 400 </siHitsLimit> |
| 172 | + <seedCompThr> 0.3473319986601534 </seedCompThr> |
| 173 | + <beamPositionX> 0.06 </beamPositionX> |
| 174 | + <beamSigmaX> 0.055 </beamSigmaX> |
| 175 | + <beamPositionY> 0.06 </beamPositionY> |
| 176 | + <beamSigmaY> 0.045 </beamSigmaY> |
| 177 | + <beamPositionZ> -0.5 </beamPositionZ> |
| 178 | + <lowPhThresh> 7.197594353612735 </lowPhThresh> |
| 179 | + <verbose> false </verbose> |
| 180 | + </driver> |
| 181 | + <driver name="TrackTruthMatching_KF" type="org.hps.analysis.MC.TrackToMCParticleRelationsDriver"> |
| 182 | + <trackCollectionName>KalmanFullTracks</trackCollectionName> |
| 183 | + <kalmanTracks>true</kalmanTracks> |
| 184 | + <debug>false</debug> |
| 185 | + </driver> |
| 186 | + |
| 187 | + <driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver"> |
| 188 | + <outputFilePath>${outputFile}.slcio</outputFilePath> |
| 189 | + </driver> |
| 190 | + <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/> |
| 191 | + |
| 192 | + <driver name="KFOutputDriver" type="org.hps.recon.tracking.kalman.KFOutputDriver"> |
| 193 | + <outputPlotsFilename>${outputFile}.root</outputPlotsFilename> |
| 194 | + <debug>false</debug> |
| 195 | + <bsZ>0.9</bsZ> |
| 196 | + <!--<trackCollectionName>GBLTracks</trackCollectionName> --> |
| 197 | + <trackCollectionName>KalmanFullTracks</trackCollectionName> |
| 198 | + <minMom>0.1</minMom> |
| 199 | + <maxMom>4.8</maxMom> |
| 200 | + <chi2Cut>9999</chi2Cut> |
| 201 | + <doKFresiduals>true</doKFresiduals> |
| 202 | + <useParticles>true</useParticles> |
| 203 | + </driver> |
| 204 | + |
| 205 | + |
| 206 | + </drivers> |
| 207 | +</lcsim> |
0 commit comments