Skip to content

Commit

Permalink
Merge pull request #1015 from JeffersonLab/iss476
Browse files Browse the repository at this point in the history
Iss476
  • Loading branch information
cbravo135 authored Jan 30, 2024
2 parents 92219cf + 2955e8d commit 6626c91
Show file tree
Hide file tree
Showing 89 changed files with 33,767 additions and 378 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@ target/

# ignore user VS Code settings
.vscode

# ignore local user documentation
html/
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<!--
@brief Steering file to get SVT hit-on-track efficiency related plots
using Kalman tracks for 2016 data
@author <a href="mailto:[email protected]">Matt Graham</a>
-->
<execute>

<driver name="PreCleanupDriver"/>
<!-- Skip events with known bad conditions -->
<driver name="EventFlagFilter"/>
<!--RF driver-->
<driver name="RfFitter"/>

<!-- Ecal reconstruction drivers -->
<driver name="EcalRunningPedestal"/>
<driver name="EcalRawConverter" />
<driver name="EcalTimeCorrection"/>
<driver name="ReconClusterer" />
<driver name="ClusterRFTimeCorrDriver"/>
<driver name="CopyCluster" />
<!-- SVT reconstruction drivers -->
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver"/>
<driver name="HelicalTrackHitDriver"/>

<driver name="KalmanPatRecDriver"/>
<driver name="ReconParticleDriver_Kalman" />
<driver name="SVTHitEfficiency"/>
<!-- <driver name="LCIOWriter"/> -->
<driver name="AidaSaveDriver"/>
<driver name="CleanupDriver"/>
</execute>

<drivers>
<driver name="SVTHitEfficiency" type="org.hps.recon.tracking.kalman.SvtHitEfficiencyKalman">
<maxLayer>12</maxLayer>
<useTrkTimeCut>true</useTrkTimeCut>
<trkTimeCut>10.0</trkTimeCut>
</driver>
<driver name="PreCleanupDriver" type="org.hps.analysis.dataquality.ReadoutCleanupDriver">
<!-- Clean all -->
<collectionNames>EcalCalHits EcalClusters EcalClustersCorr FinalStateParticles UnconstrainedMollerCandidates UnconstrainedMollerVertices UnconstrainedV0Candidates UnconstrainedV0Vertices TargetConstrainedMollerCandidates TargetConstrainedMollerVertices TargetConstrainedV0Candidates TargetConstrainedV0Vertices BeamspotConstrainedMollerCandidates BeamspotConstrainedMollerVertices BeamspotConstrainedV0Candidates BeamspotConstrainedV0Vertices GBLKinkData GBLKinkDataRelations MatchedToGBLTrackRelations HelicalTrackHits HelicalTrackHitRelations MatchedTracks GBLTracks MatchedToGBLTrackRelations RotatedHelicalTrackHits RotatedHelicalTrackHitRelations SVTFittedRawTrackerHits SVTShapeFitParameters StripClusterer_SiTrackerHitStrip1D TrackData TrackDataRelations KalmanFullTracks UnconstrainedV0Candidates_KF TargetConstrainedV0Candidates_KF BeamspotConstrainedV0Candidates_KF UnconstrainedV0Vertices_KF TargetConstrainedV0Vertices_KF BeamspotConstrainedV0Vertices_KF</collectionNames>
<!-- Clean tracking and Final state particles -->
<!-- <collectionNames>FinalStateParticles GBLKinkData GBLKinkDataRelations MatchedToGBLTrackRelations HelicalTrackHits HelicalTrackHitRelations MatchedTracks GBLTracks MatchedToGBLTrackRelations RotatedHelicalTrackHits RotatedHelicalTrackHitRelations TrackData </collectionNames> -->
</driver>

<!-- Driver to reject "bad" events -->
<driver name="EventFlagFilter" type="org.hps.recon.filtering.EventFlagFilter">
<flagNames>svt_bias_good svt_position_good svt_burstmode_noise_good svt_event_header_good</flagNames>
</driver>

<driver name="RfFitter" type="org.hps.evio.RfFitterDriver"/>

<!-- Ecal reconstruction drivers -->
<driver name="EcalRunningPedestal" type="org.hps.recon.ecal.EcalRunningPedestalDriver">
<logLevel>CONFIG</logLevel>
</driver>
<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverter2Driver">
</driver>
<driver name="EcalTimeCorrection" type="org.hps.recon.ecal.EcalTimeCorrectionDriver"/>
<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
</driver>
<driver name="ClusterRFTimeCorrDriver" type="org.hps.recon.ecal.cluster.ClusterRFTimeCorrDriver"/>
<driver name="CopyCluster" type="org.hps.recon.ecal.cluster.CopyClusterCollectionDriver">
<inputCollectionName>EcalClusters</inputCollectionName>
<outputCollectionName>EcalClustersCorr</outputCollectionName>
</driver>

<!-- SVT reconstruction drivers -->
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
<fitAlgorithm>Pileup</fitAlgorithm>
<useTimestamps>false</useTimestamps>
<correctTimeOffset>true</correctTimeOffset>
<correctT0Shift>true</correctT0Shift>
<trigTimeScale>55.0</trigTimeScale>
<useTruthTime>false</useTruthTime>
<subtractTOF>true</subtractTOF>
<subtractTriggerTime>true</subtractTriggerTime>
<subtractRFTime>true</subtractRFTime>
<correctChanT0>true</correctChanT0>
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
<neighborDeltaT>8.0</neighborDeltaT>
</driver>
<driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
<debug>false</debug>
<clusterTimeCut>12.0</clusterTimeCut>
<maxDt>16.0</maxDt>
<clusterAmplitudeCut>400.0</clusterAmplitudeCut>
</driver>

<driver name="ReconParticleDriver_Kalman" type="org.hps.recon.particle.HpsReconParticleDriver" >
<ecalClusterCollectionName>EcalClustersCorr</ecalClusterCollectionName>
<trackCollectionNames>KalmanFullTracks</trackCollectionNames>
<unconstrainedV0CandidatesColName>UnconstrainedV0Candidates_KF</unconstrainedV0CandidatesColName>
<unconstrainedV0VerticesColName>UnconstrainedV0Vertices_KF</unconstrainedV0VerticesColName>
<beamConV0CandidatesColName>BeamspotConstrainedV0Candidates_KF</beamConV0CandidatesColName>
<beamConV0VerticesColName>BeamspotConstrainedV0Vertices_KF</beamConV0VerticesColName>
<targetConV0CandidatesColName>TargetConstrainedV0Candidates_KF</targetConV0CandidatesColName>
<targetConV0VerticesColName>TargetConstrainedV0Vertices_KF</targetConV0VerticesColName>
<includeUnmatchedTracksInFSP>false</includeUnmatchedTracksInFSP>
<useInternalVertexXYPositions>true</useInternalVertexXYPositions>
<requireClustersForV0>true</requireClustersForV0>
<beamPositionX>-0.224</beamPositionX>
<beamSigmaX>0.125</beamSigmaX>
<beamPositionY>-0.08</beamPositionY>
<beamSigmaY>0.030</beamSigmaY>
<beamPositionZ>-4.3</beamPositionZ>
<maxElectronP>2.15</maxElectronP>
<maxVertexP>2.8</maxVertexP>
<minVertexChisqProb>0.0</minVertexChisqProb>
<maxVertexClusterDt>2.5</maxVertexClusterDt>
<maxMatchDt>10</maxMatchDt>
<trackClusterTimeOffset>56</trackClusterTimeOffset>
<useCorrectedClusterPositionsForMatching>false</useCorrectedClusterPositionsForMatching>
<applyClusterCorrections>true</applyClusterCorrections>
<useTrackPositionForClusterCorrection>false</useTrackPositionForClusterCorrection>
<debug>false</debug>
<makeMollerCols>false</makeMollerCols>
<disablePID>true</disablePID>
<trackClusterMatcherAlgo>TrackClusterMatcherMinDistance</trackClusterMatcherAlgo>
<trackClusterMatchPlots>false</trackClusterMatchPlots>
</driver>

<driver name="KalmanPatRecDriver" type="org.hps.recon.tracking.kalman.KalmanPatRecDriver">
<doDebugPlots>false</doDebugPlots>
<!-- <siHitsLimit>50</siHitsLimit> -->
<!-- <seedCompThr>0.05</seedCompThr> -->
<!-- <addResiduals>true</addResiduals> -->
<numEvtPlots>40</numEvtPlots>
<verbose>false</verbose>
</driver>

<driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
<outputFilePath>${outputFile}.slcio</outputFilePath>
</driver>
<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
<outputFileName>${outputFile}.root</outputFileName>
</driver>
</drivers>
</lcsim>
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
<!--
@brief Steering file to get SVT hit-on-track efficiency related plots
using Kalman tracks for 2016 MC
@author <a href="mailto:[email protected]">Matt Graham</a>
-->
<execute>

<!--RF driver-->
<driver name="PreCleanupDriver"/>
<driver name="RfFitter"/>

<!-- Ecal reconstruction drivers -->
<!--<driver name="EcalRunningPedestal"/>-->
<driver name="EcalRawConverter" />
<driver name="HitTimeSmear"/>
<driver name="ReconClusterer" />
<driver name="CopyCluster" />
<!-- SVT reconstruction drivers -->
<driver name="RawTrackerHitSensorSetup"/>
<driver name="RawTrackerHitFitterDriver" />
<driver name="TrackerHitDriver"/>
<driver name="HelicalTrackHitDriver"/>

<!-- <driver name="MergeTrackCollections"/>
<driver name="GBLRefitterDriver" />
<driver name="TrackDataDriver" /> -->
<driver name="KalmanPatRecDriver"/>
<driver name="ReconParticleDriver_Kalman" />
<driver name="SVTHitEfficiency"/>
<!-- <driver name="LCIOWriter"/> -->
<driver name="AidaSaveDriver"/>
<driver name="CleanupDriver"/>
</execute>
<drivers>
<driver name="SVTHitEfficiency" type="org.hps.recon.tracking.kalman.SvtHitEfficiencyKalman">
<maxLayer>12</maxLayer>
<useTrkTimeCut>false</useTrkTimeCut>
<trkTimeCut>10.0</trkTimeCut>
<trkTimeMean>15.0</trkTimeMean>
</driver>
<driver name="PreCleanupDriver" type="org.hps.analysis.dataquality.ReadoutCleanupDriver">
<!-- Clean all -->
<collectionNames>EcalCalHits EcalClusters EcalClustersCorr FinalStateParticles UnconstrainedMollerCandidates UnconstrainedMollerVertices UnconstrainedV0Candidates UnconstrainedV0Vertices TargetConstrainedMollerCandidates TargetConstrainedMollerVertices TargetConstrainedV0Candidates TargetConstrainedV0Vertices BeamspotConstrainedMollerCandidates BeamspotConstrainedMollerVertices BeamspotConstrainedV0Candidates BeamspotConstrainedV0Vertices GBLKinkData GBLKinkDataRelations MatchedToGBLTrackRelations HelicalTrackHits HelicalTrackHitRelations MatchedTracks GBLTracks MatchedToGBLTrackRelations RotatedHelicalTrackHits RotatedHelicalTrackHitRelations SVTFittedRawTrackerHits SVTShapeFitParameters StripClusterer_SiTrackerHitStrip1D TrackData TrackDataRelations TrackResiduals TrackResidualsRelations OtherElectrons UnconstrainedVcCandidates UnconstrainedVcVertices KalmanFullTracks UnconstrainedV0Candidates_KF TargetConstrainedV0Candidates_KF BeamspotConstrainedV0Candidates_KF UnconstrainedV0Vertices_KF TargetConstrainedV0Vertices_KF BeamspotConstrainedV0Vertices_KF </collectionNames>
</driver>
<!-- Clean tracking and Final state particles -->
<!-- <collectionNames>FinalStateParticles GBLKinkData GBLKinkDataRelations MatchedToGBLTrackRelations HelicalTrackHits HelicalTrackHitRelations MatchedTracks GBLTracks MatchedToGBLTrackRelations RotatedHelicalTrackHits RotatedHelicalTrackHitRelations TrackData </collectionNames> -->

<driver name="RfFitter" type="org.hps.evio.RfFitterDriver"/>

<!-- Ecal reconstruction drivers -->
<!--<driver name="EcalRunningPedestal" type="org.hps.recon.ecal.EcalRunningPedestalDriver">
<logLevel>CONFIG</logLevel>
</driver>-->

<!--<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverter2Driver">
</driver>-->

<driver name="EcalRawConverter" type="org.hps.recon.ecal.EcalRawConverterDriver">
<ecalCollectionName>EcalCalHits</ecalCollectionName>
<fixShapeParameter>true</fixShapeParameter>
<globalFixedPulseWidth>2.4</globalFixedPulseWidth>
</driver>

<driver name="HitTimeSmear" type="org.hps.recon.ecal.cluster.HitTMCSmearDriver">
</driver>

<driver name="ReconClusterer" type="org.hps.recon.ecal.cluster.ReconClusterDriver">
<logLevel>WARNING</logLevel>
<outputClusterCollectionName>EcalClusters</outputClusterCollectionName>
</driver>
<driver name="CopyCluster" type="org.hps.recon.ecal.cluster.CopyClusterCollectionDriver">
<inputCollectionName>EcalClusters</inputCollectionName>
<outputCollectionName>EcalClustersCorr</outputCollectionName>
</driver>

<!-- SVT reconstruction drivers -->
<driver name="RawTrackerHitSensorSetup" type="org.lcsim.recon.tracking.digitization.sisim.config.RawTrackerHitSensorSetup">
<readoutCollections>SVTRawTrackerHits</readoutCollections>
</driver>
<driver name="RawTrackerHitFitterDriver" type="org.hps.recon.tracking.RawTrackerHitFitterDriver">
<fitAlgorithm>Pileup</fitAlgorithm>
<!--use this to correct for trigger time in MC instead of subtractTriggerTime-->
<useTimestamps>true</useTimestamps>
<!--offset to get times centered at 0 after timestamp correction-->
<tsCorrectionScale>171.</tsCorrectionScale>
<!--correct for the SVT fit time offset...this should be on if <useTimingConditions> is turned on in readout-->
<correctTimeOffset>true</correctTimeOffset>
<!--per sensor shift...set false becasue it's not in readout sim-->
<correctT0Shift>false</correctT0Shift>
<!--use truth time for MC??? typically not used-->
<useTruthTime>false</useTruthTime>
<!--time of flight corrections-->
<subtractTOF>true</subtractTOF>
<!--set this false for MC, true for data-->
<subtractTriggerTime>false</subtractTriggerTime>
<!--per-strip timing correction from database...this should be on i f <useTimingConditions> is turned on in readout -->
<correctChanT0>true</correctChanT0>
<debug>false</debug>
</driver>
<driver name="TrackerHitDriver" type="org.hps.recon.tracking.DataTrackerHitDriver">
<neighborDeltaT>8.0</neighborDeltaT>
</driver>
<driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
<debug>false</debug>
<clusterTimeCut>12.0</clusterTimeCut>
<maxDt>16.0</maxDt>
<clusterAmplitudeCut>400.0</clusterAmplitudeCut>
</driver>
<!-- SVT Track finding -->
<driver name="MergeTrackCollections" type="org.hps.recon.tracking.MergeTrackCollections" />
<driver name="TrackDataDriver" type="org.hps.recon.tracking.TrackDataDriver" />

<driver name="KalmanPatRecDriver" type="org.hps.recon.tracking.kalman.KalmanPatRecDriver">
<!--<doDebugPlots>true</doDebugPlots>-->
<!-- <siHitsLimit>50</siHitsLimit> -->
<!-- <seedCompThr>0.05</seedCompThr> -->
<!-- <addResiduals>true</addResiduals> -->
<verbose>false</verbose>
</driver>

<driver name="ReconParticleDriver_Kalman" type="org.hps.recon.particle.HpsReconParticleDriver" >
<ecalClusterCollectionName>EcalClustersCorr</ecalClusterCollectionName>
<trackCollectionNames>KalmanFullTracks</trackCollectionNames>
<unconstrainedV0CandidatesColName>UnconstrainedV0Candidates_KF</unconstrainedV0CandidatesColName>
<unconstrainedV0VerticesColName>UnconstrainedV0Vertices_KF</unconstrainedV0VerticesColName>
<beamConV0CandidatesColName>BeamspotConstrainedV0Candidates_KF</beamConV0CandidatesColName>
<beamConV0VerticesColName>BeamspotConstrainedV0Vertices_KF</beamConV0VerticesColName>
<targetConV0CandidatesColName>TargetConstrainedV0Candidates_KF</targetConV0CandidatesColName>
<targetConV0VerticesColName>TargetConstrainedV0Vertices_KF</targetConV0VerticesColName>
<includeUnmatchedTracksInFSP>true</includeUnmatchedTracksInFSP>
<useInternalVertexXYPositions>false</useInternalVertexXYPositions>
<requireClustersForV0>true</requireClustersForV0>
<beamPositionX>-0.224</beamPositionX>
<beamSigmaX>0.125</beamSigmaX>
<beamPositionY>-0.08</beamPositionY>
<beamSigmaY>0.030</beamSigmaY>
<beamPositionZ>-4.3</beamPositionZ>
<maxElectronP>2.15</maxElectronP>
<maxVertexP>2.8</maxVertexP>
<minVertexChisqProb>0.0</minVertexChisqProb>
<maxVertexClusterDt>5.0</maxVertexClusterDt>
<maxMatchDt>10</maxMatchDt>
<trackClusterTimeOffset>44.8</trackClusterTimeOffset>
<debug>false</debug>
<makeMollerCols>false</makeMollerCols>
<isMC>true</isMC>
<applyClusterCorrections>true</applyClusterCorrections>
<useTrackPositionForClusterCorrection>false</useTrackPositionForClusterCorrection>
<trackClusterMatchPlots>true</trackClusterMatchPlots>
<trackClusterMatcherAlgo>TrackClusterMatcherMinDistance</trackClusterMatcherAlgo>
</driver>

<driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
<driver name="AidaSaveDriver" type="org.lcsim.job.AidaSaveDriver">
<outputFileName>${outputFile}.root</outputFileName>
</driver>
</drivers>
</lcsim>
Loading

0 comments on commit 6626c91

Please sign in to comment.