From 189801ac177348e183f8e4352bd357104e486405 Mon Sep 17 00:00:00 2001 From: Steven Doran <78985334+S81D@users.noreply.github.com> Date: Mon, 6 Jul 2026 11:54:50 -0500 Subject: [PATCH] Data Toolchain for NCQE XS analysis --- .../NCQE_XS_Data/ANNIEEventTreeMakerConfig | 35 +++++++++++++++++++ .../NCQE_XS_Data/ClusterClassifiersConfig | 1 + configfiles/NCQE_XS_Data/ClusterFinderConfig | 13 +++++++ configfiles/NCQE_XS_Data/EventSelectorConfig | 29 +++++++++++++++ configfiles/NCQE_XS_Data/FindMrdTracksConfig | 12 +++++++ configfiles/NCQE_XS_Data/FitRWMWaveformConfig | 2 ++ configfiles/NCQE_XS_Data/LoadANNIEEventConfig | 4 +++ configfiles/NCQE_XS_Data/TimeClusteringConfig | 13 +++++++ configfiles/NCQE_XS_Data/ToolChainConfig | 23 ++++++++++++ configfiles/NCQE_XS_Data/ToolsConfig | 10 ++++++ .../NCQE_XS_Data/VertexLeastSquaresConfig | 16 +++++++++ 11 files changed, 158 insertions(+) create mode 100644 configfiles/NCQE_XS_Data/ANNIEEventTreeMakerConfig create mode 100644 configfiles/NCQE_XS_Data/ClusterClassifiersConfig create mode 100644 configfiles/NCQE_XS_Data/ClusterFinderConfig create mode 100644 configfiles/NCQE_XS_Data/EventSelectorConfig create mode 100644 configfiles/NCQE_XS_Data/FindMrdTracksConfig create mode 100644 configfiles/NCQE_XS_Data/FitRWMWaveformConfig create mode 100644 configfiles/NCQE_XS_Data/LoadANNIEEventConfig create mode 100644 configfiles/NCQE_XS_Data/TimeClusteringConfig create mode 100644 configfiles/NCQE_XS_Data/ToolChainConfig create mode 100644 configfiles/NCQE_XS_Data/ToolsConfig create mode 100644 configfiles/NCQE_XS_Data/VertexLeastSquaresConfig diff --git a/configfiles/NCQE_XS_Data/ANNIEEventTreeMakerConfig b/configfiles/NCQE_XS_Data/ANNIEEventTreeMakerConfig new file mode 100644 index 000000000..4c17c6aaa --- /dev/null +++ b/configfiles/NCQE_XS_Data/ANNIEEventTreeMakerConfig @@ -0,0 +1,35 @@ +ANNIEEventTreeMakerVerbosity 0 + +fillAllTriggers 1 +fill_singleTrigger 0 +fillLAPPDEventsOnly 0 +TankCluster_fill 1 +cluster_TankHitInfo_fill 1 + +ApplyDeadMask 1 +VertexLeastSquares 1 + +TankReco_fill 0 + +OutputFile ANNIETree.root +TankClusterProcessing 1 +MRDClusterProcessing 1 +TriggerProcessing 1 +TankHitInfo_fill 1 +MRDHitInfo_fill 1 +MRDReco_fill 1 +SiPMPulseInfo_fill 0 +fillCleanEventsOnly 0 +MCTruth_fill 0 +Reco_fill 1 +RecoDebug_fill 0 +muonTruthRecoDiff_fill 0 +isData 1 +HasGenie 0 +RingCounting_fill 0 + +LAPPDData_fill 0 +LAPPDReco_fill 0 +RWMBRF_fill 1 +LAPPD_PPS_fill 0 +LAPPD_Waveform_fill 0 diff --git a/configfiles/NCQE_XS_Data/ClusterClassifiersConfig b/configfiles/NCQE_XS_Data/ClusterClassifiersConfig new file mode 100644 index 000000000..752200268 --- /dev/null +++ b/configfiles/NCQE_XS_Data/ClusterClassifiersConfig @@ -0,0 +1 @@ +verbosity 0 diff --git a/configfiles/NCQE_XS_Data/ClusterFinderConfig b/configfiles/NCQE_XS_Data/ClusterFinderConfig new file mode 100644 index 000000000..b69734671 --- /dev/null +++ b/configfiles/NCQE_XS_Data/ClusterFinderConfig @@ -0,0 +1,13 @@ +# ClusterFinder Config File + +verbosity 0 +HitStore Hits #Either MCHits or Hits (accessed in ANNIEEvent store) +ApplyDeadMask 1 +OutputFile BeamRun_ClusterFinder_DefaultOutput #Output root prefix name for the current run +ClusterFindingWindow 40 # in ns, size of the window used to "clusterize" +AcqTimeWindow 70000 # in ns, size of the acquisition window +ClusterIntegrationWindow 40 # in ns, all hits with +/- 1/2 of this window are considered in the cluster +MinHitsPerCluster 10 # group of hits are considered clusters above this amount of hits +end_of_window_time_cut 0.95 # from o to 1, length of the window you want to loop over with respect to acq. window (1 for full window, 0.95 for 95% from the start) +Plots2D 0 #Draw 2D charge-vs-time plots? +ChankeyToPMTIDMap ./configfiles/EventDisplay/Data-RecoEvent/Chankey_WCSimID.dat diff --git a/configfiles/NCQE_XS_Data/EventSelectorConfig b/configfiles/NCQE_XS_Data/EventSelectorConfig new file mode 100644 index 000000000..a711f08bf --- /dev/null +++ b/configfiles/NCQE_XS_Data/EventSelectorConfig @@ -0,0 +1,29 @@ +# EventSelector config file + +verbosity 0 +MCPMTVolCut 0 +MCFVCut 0 +MCMRDCut 0 +MCPiKCut 0 +MCIsMuonCut 0 +MCIsElectronCut 0 +MCIsSingleRingCut 0 +MCIsMultiRingCut 0 +MCProjectedMRDHit 0 +MCEnergyCut 0 +Emin 0 #Minimum energy in MeV +Emax 1000 #Maximum energy in MeV +MRDRecoCut 0 +RecoPMTVolCut 0 +RecoFVCut 0 +NHitCut 0 +NHitmin 4 #Minimum number of hit digits +PMTMRDCoincCut 0 +PMTMRDOffset 755 +PromptTrigOnly 0 +TriggerWord -1 +SaveStatusToStore 1 +NoVeto 0 +Veto 0 +ThroughGoing 0 +IsMC 0 #MC or Data? diff --git a/configfiles/NCQE_XS_Data/FindMrdTracksConfig b/configfiles/NCQE_XS_Data/FindMrdTracksConfig new file mode 100644 index 000000000..5ba5e8f77 --- /dev/null +++ b/configfiles/NCQE_XS_Data/FindMrdTracksConfig @@ -0,0 +1,12 @@ +# FindMrdTracks Config File +# all variables retrieved with m_variables.Get() must be defined here! + +verbosity 0 +IsData 1 +OutputDirectory . +OutputFile STEC_MRDTracks_cluster40ns +DrawTruthTracks 0 # whether to add MC Truth track info for drawing in MrdPaddlePlot Tool + ## note you need to run that tool to actually view the tracks! +WriteTracksToFile 0 # should the track information be written to a ROOT-file? +SelectTriggerType 0 #should the loaded data be filtered by trigger type? +TriggerType Beam #options: Cosmic, Beam, No Loopback diff --git a/configfiles/NCQE_XS_Data/FitRWMWaveformConfig b/configfiles/NCQE_XS_Data/FitRWMWaveformConfig new file mode 100644 index 000000000..57dccbc27 --- /dev/null +++ b/configfiles/NCQE_XS_Data/FitRWMWaveformConfig @@ -0,0 +1,2 @@ +verbosityFitRWMWaveform 0 +printToRootFile 0 diff --git a/configfiles/NCQE_XS_Data/LoadANNIEEventConfig b/configfiles/NCQE_XS_Data/LoadANNIEEventConfig new file mode 100644 index 000000000..f8674791b --- /dev/null +++ b/configfiles/NCQE_XS_Data/LoadANNIEEventConfig @@ -0,0 +1,4 @@ +verbose 1 +FileForListOfInputs ./configfiles/NCQE_XS_Data/my_inputs.txt +EventOffset 0 +GlobalEvNr 1 diff --git a/configfiles/NCQE_XS_Data/TimeClusteringConfig b/configfiles/NCQE_XS_Data/TimeClusteringConfig new file mode 100644 index 000000000..e778247fc --- /dev/null +++ b/configfiles/NCQE_XS_Data/TimeClusteringConfig @@ -0,0 +1,13 @@ +#TimeClustering config file + +verbosity 0 +MinDigitsForTrack 3 +MaxMrdSubEventDuration 30 +MinSubeventTimeSep 30 +MakeMrdDigitTimePlot 0 +LaunchTApplication 0 +IsData 1 +#OutputROOTFile TimeClustering_MRDTest28_cluster40ns +OutputROOTFile STEC_TimeClusteringOut +MapChankey_WCSimID ./configfiles/SimpleTankEnergyCalibrator/MRD_Chankey_WCSimID.dat + diff --git a/configfiles/NCQE_XS_Data/ToolChainConfig b/configfiles/NCQE_XS_Data/ToolChainConfig new file mode 100644 index 000000000..e534a7a8a --- /dev/null +++ b/configfiles/NCQE_XS_Data/ToolChainConfig @@ -0,0 +1,23 @@ +#ToolChain dynamic setup file + +##### Runtime Paramiters ##### +verbose 1 +error_level 0 # 0= do not exit, 1= exit on unhandeled errors only, 2= exit on unhandeled errors and handeled errors +attempt_recover 1 + +###### Logging ##### +log_mode Interactive # Interactive=cout , Remote= remote logging system "serservice_name Remote_Logging" , Local = local file log; +log_local_path ./log +log_service LogStore + +###### Service discovery ##### +service_publish_sec -1 +service_kick_sec -1 + +##### Tools To Add ##### +Tools_File ./configfiles/NCQE_XS_Data/ToolsConfig + +##### Run Type ##### +Inline -1 +Interactive 0 + diff --git a/configfiles/NCQE_XS_Data/ToolsConfig b/configfiles/NCQE_XS_Data/ToolsConfig new file mode 100644 index 000000000..8ef7efda8 --- /dev/null +++ b/configfiles/NCQE_XS_Data/ToolsConfig @@ -0,0 +1,10 @@ +myLoadANNIEEvent LoadANNIEEvent ./configfiles/NCQE_XS_Data/LoadANNIEEventConfig +myLoadGeometry LoadGeometry ./configfiles/LoadGeometry/LoadGeometryConfig +myTimeClustering TimeClustering configfiles/NCQE_XS_Data/TimeClusteringConfig +myFindMrdTracks FindMrdTracks configfiles/NCQE_XS_Data/FindMrdTracksConfig +myClusterFinder ClusterFinder ./configfiles/NCQE_XS_Data/ClusterFinderConfig +myClusterClassifiers ClusterClassifiers ./configfiles/NCQE_XS_Data/ClusterClassifiersConfig +myEventSelector EventSelector ./configfiles/NCQE_XS_Data/EventSelectorConfig +FitRWMWaveform FitRWMWaveform ./configfiles/NCQE_XS_Data/FitRWMWaveformConfig +VertexLeastSquares VertexLeastSquares configfiles/NCQE_XS_Data/VertexLeastSquaresConfig +ANNIEEventTreeMaker ANNIEEventTreeMaker ./configfiles/NCQE_XS_Data/ANNIEEventTreeMakerConfig diff --git a/configfiles/NCQE_XS_Data/VertexLeastSquaresConfig b/configfiles/NCQE_XS_Data/VertexLeastSquaresConfig new file mode 100644 index 000000000..2687f5d7a --- /dev/null +++ b/configfiles/NCQE_XS_Data/VertexLeastSquaresConfig @@ -0,0 +1,16 @@ +verbosity 0 +UseMCHits 0 +BreakDist 0.005 +YSpacing 0.1 +NPlanarPoints 100 +Regularizer 0 +FittingSteps 200 +FilterHitsCompatibleWindow 0 +OnlyUseReliablePMTs 1 +MinimumReliableTimingStd 1.5 + +ExternalSeeding 1 +YBuffer 1.0 +RadialBuffer 1.0 +ExternalVertexMaxRadius 4.0 +ExternalVertexMaxHeight 4.0