Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
6fc2e03
Read Simple Reco info to PhaseIITreeMaker and updated Reweight Tool (…
jminock Aug 5, 2024
144875a
PMT timing offsets, new hit timing method, and changes to ClusterFind…
S81D Aug 5, 2024
fa6a435
A minor fix and an addition for the Energy Reconstruction toolchains …
alxkon13 Aug 5, 2024
c7d7225
Improved clarity of the load and save operation of the RingCounting t…
s4294967296 Aug 5, 2024
a2b8ece
Updated to read in new ANNIE flux histograms (#270)
jminock Aug 12, 2024
c12b01e
Added RingCounting Variables to PhaseIITreeMaker (#269)
jminock Aug 12, 2024
5e2beb1
Update Makefile (#271)
marvlad Aug 12, 2024
53828d0
BeamFetcherV2 tool changes (#273)
S81D Aug 16, 2024
597c9e8
Reduce cluster window from 50 to 40ns (#275)
S81D Sep 9, 2024
8559aa0
PMT 416 hit "leakage" (#276)
S81D Sep 9, 2024
2a9d03d
Add MC "pulse" width as a configuration variable (#279)
S81D Sep 23, 2024
ff86893
Beam Database query tool change to save all entries (#274)
S81D Sep 23, 2024
b8673ed
AnnieGeom Distance to Tank: fixed y and z convention (#283)
jminock Oct 7, 2024
791a160
Updated Fiducial Volume from ANNIEGeometry to be usable and use corre…
jminock Oct 7, 2024
56c375a
BackTracker tool for linking reco MC clusters to the MCParticle that …
atcsutton Oct 7, 2024
ca22bc5
deleted second application of GReWeightResonanceDecay calculator (#299)
leehagaman Oct 7, 2024
2049927
Adding torch Python package to container (#300)
jminock Oct 7, 2024
5730477
Added additional GENIE info including FS PDGs and momentum, energy an…
jminock Nov 11, 2024
339ad78
Added additional GENIE info to LoadReweightGenieEvent including FS PD…
jminock Nov 11, 2024
9957100
Added additional GENIE info to PhaseIITreeMaker (#282)
jminock Nov 11, 2024
e29a1be
Update Setup.sh (#313)
S81D Nov 11, 2024
774f3b1
ADC hit time fix (#314)
S81D Nov 11, 2024
c2be2f8
Andrew's new BeamQuality tool (#287)
S81D Nov 11, 2024
2e1e018
EventBuilder toolchain to include Beam information (#303)
S81D Nov 11, 2024
eff6d84
Add check for TriggerWord being set (#311)
rory42edwards Nov 15, 2024
ae71732
RWM + BRF fittting tool (#289)
S81D Nov 15, 2024
d1024ca
TriggerDataDecoder and MRDTracks minor bug fix (#292)
S81D Nov 15, 2024
527ebcb
Added MuonFitter Tool (#293)
jminock Nov 15, 2024
533962a
Create pull_request_template.md
marc1uk Nov 15, 2024
3fc9a21
Update pull_request_template.md
marc1uk Nov 15, 2024
decb4cc
Add BeamFetcherV2 toolchain (#297)
S81D Nov 18, 2024
1188842
Add files via upload (#298)
S81D Nov 18, 2024
5f7634d
Update LoadRawData.cpp (#301)
S81D Nov 18, 2024
3120be3
LoadRawData tool changes to handle LAPPDs (#302)
S81D Nov 18, 2024
5cb8e45
AssignBunchTimingMC tool to add the BNB spill structure to MC cluster…
S81D Nov 18, 2024
62910f6
Add bunchTimes to PhaseIITreeMaker (#305)
S81D Nov 18, 2024
b1d0be9
New PrintDQ tool for DataQuality monitoring of processed beam runs (#…
S81D Nov 18, 2024
88afcec
MuonFitter RNNFit model scripts (#290)
jminock Nov 19, 2024
de2db55
PrintDQ toolchain (#315)
S81D Nov 25, 2024
f1cfada
Minimal Toolchain for MuonFitter (#316)
jminock Nov 25, 2024
13289a7
Updated NeutronMultiplicity Tool according to Julie (#291)
jminock Nov 26, 2024
29969e3
Added config files for MuonFitter to CC_MC_RECO_ntuple Toolchain (#294)
jminock Nov 26, 2024
0b1f89f
Added README's for MuonFitter (#295)
jminock Nov 26, 2024
30a9cb9
Added documentation regarding model generation. Updated paths in Data…
jminock Nov 26, 2024
db4358b
Added MuonFitter updates to PhaseIITreeMaker (#296)
jminock Nov 26, 2024
0d9aca0
Added ensemble support for RingCounting tool. (#278)
s4294967296 Nov 26, 2024
17eeb30
LAPPD_EB tool chain (#310)
fengyvoid Nov 27, 2024
536de96
LAPPDProcessedAna (#309)
fengyvoid Nov 27, 2024
f4a5486
Update ClusterFinderConfig - expand MC pulse width (#322)
S81D Dec 16, 2024
acd73f3
AssignBunchTimingMC tool + config file changes (#323)
S81D Dec 16, 2024
968f02d
Add FitRWMWaveform to Unity + Factory (#326)
S81D Dec 16, 2024
0bc220f
Revert PR #278 "Added ensemble support for RingCounting tool." (#327)
marc1uk Dec 17, 2024
4a88c36
Add csv file output to PrintDQ (#328)
S81D Dec 20, 2024
5b3a549
Do not add event time for unsmeared hits (#331)
S81D Jan 13, 2025
10247d2
AmBeWaveform toolchain (#341)
S81D Sep 4, 2025
6763cc3
Adding weight branches necessary for uB comparison (#342)
jminock Sep 4, 2025
1dea8ab
Update config files for CC analysis toolchain (#343)
jminock Sep 4, 2025
7bac65d
New hit finding integration window, same as 2023 Gains Calibration (#…
S81D Sep 4, 2025
ddddc3e
Fixing bug in PhaseIITreeMaker.cpp (#348)
ckaragian Sep 4, 2025
a5cc6ae
Makefile update (#355)
marc1uk Sep 4, 2025
cbae17c
Update main.cpp
marc1uk Sep 19, 2025
647896b
Update DeadPMTID mask for WCSim (#357)
S81D Sep 19, 2025
b1e47c0
Added LAPPDWaveformDisplay tool (#349)
mkandemirr Sep 19, 2025
7803e72
PMTWaveformSim tool (re-make of PR #321) (#358)
S81D Sep 19, 2025
e5e61f7
updated makefile to stop repeat building and added optimisations flags
brichards64 Sep 19, 2025
d31f23c
Update beam fetcher v2 (#351)
fengyvoid Sep 19, 2025
c78d70d
bash script to populate list file for BFV2 toolchain (#352)
S81D Sep 19, 2025
5a416a1
Added true Nu PDG branch to PhaseIITreeMaker (#345)
jminock Sep 19, 2025
2eb99b2
Update CI build script
marc1uk Sep 29, 2025
06b9f9e
Changes to TreeMaker logic to handle new MC waveforms (#329)
S81D Oct 9, 2025
9187a75
update makefile to support ToolChain folders embedded in a subdirecto…
marc1uk Oct 9, 2025
69abf10
Add LAPPDLoadStore tool for EventBuildingV2 tool chain (#333)
fengyvoid Oct 21, 2025
b5fb3b5
Updated Dead PMT list (data and MC) (#364)
S81D Oct 21, 2025
4130676
Add EBPMT for PMT pairing in EventBuilding (#332)
fengyvoid Oct 22, 2025
aea75aa
Add ADC pulses to Store (#359)
S81D Oct 22, 2025
49a9530
PrintADCTraces tool (#363)
S81D Oct 30, 2025
22e6afc
EventSelector modifications for new MC waveform hits (#330)
S81D Nov 12, 2025
7dafc12
Fix PMTWaveformSim event skipping (#366)
S81D Nov 12, 2025
2b38e8b
Lab6's tools: timistamp, waveform's max, min and rms branches FIXED …
marvlad Nov 20, 2025
557f8b8
Add BRF / beam jitter to the MC (#369)
S81D Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Describe your changes

## Checklist before submitting your PR
- [ ] This PR implements a single change (one new/modified Tool, or a set of changes to implement one new/modified feature)
- [ ] This PR alters the minimum number of files to affect this change
- [ ] If this PR includes a new Tool, a README and minimal demonstration ToolChain is provided
- [ ] If a new Tool/ToolChain requires model or configuration files, their paths are not hard-coded, and means of generating those files is described in the readme, with examples provided on /pnfs/annie/persistent
- [ ] For every `new` usage, there is a reason the data must be on the heap
- [ ] For every `new` there is a `delete`, unless I explicitly know why (e.g. ROOT or a BoostStore takes ownership)

## Additional Material
Attach any validation or demonstration files here. You may also link to relavant docdb articles.
1 change: 1 addition & 0 deletions .github/workflows/tempbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ jobs:
echo `pwd`
ls -l
cd /TA
git config --global --add safe.directory /TA
ls -l
ln -s /ToolAnalysis/ToolDAQ $PWD/ToolDAQ
ls -l ./ToolDAQ
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ DataModel/DataModel_Linkdef.hh
# These are imported as part of ToolPack
UserTools/ImportedTools
UserTools/InactiveTools
UserTools/MyFactory

6 changes: 4 additions & 2 deletions DataModel/ADCPulse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
ADCPulse::ADCPulse(int TubeId, double start_time, double peak_time,
double baseline, double sigma_baseline, unsigned long area,
unsigned short raw_amplitude, double calibrated_amplitude,
double charge) : Hit(TubeId, start_time, charge),
double charge, const std::vector<double>& trace_x, const std::vector<double>& trace_y) :
Hit(TubeId, start_time, charge),
start_time_(start_time), peak_time_(peak_time),
baseline_(baseline), sigma_baseline_(sigma_baseline), raw_area_(area),
raw_amplitude_(raw_amplitude), calibrated_amplitude_(calibrated_amplitude)
raw_amplitude_(raw_amplitude), calibrated_amplitude_(calibrated_amplitude),
trace_x_(trace_x), trace_y_(trace_y)
{
}
21 changes: 19 additions & 2 deletions DataModel/ADCPulse.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// ToolAnalysis includes
#include "ChannelKey.h"
#include "Hit.h"
#include <vector>

class ADCPulse : public Hit {

Expand All @@ -22,8 +23,9 @@ class ADCPulse : public Hit {
// int TubeId member
ADCPulse(int TubeId, double start_time, double peak_time,
double baseline, double sigma_baseline, unsigned long raw_area,
unsigned short raw_amplitude, double calibrated_amplitude,
double charge);
unsigned short raw_amplitude, double calibrated_amplitude, double charge,
const std::vector<double>& trace_x = std::vector<double>(),
const std::vector<double>& trace_y = std::vector<double>());

// @brief Returns the start time (ns) of the pulse relative to the
// start of its minibuffer
Expand Down Expand Up @@ -59,6 +61,10 @@ class ADCPulse : public Hit {
// (baseline-subtracted) pulse
inline double amplitude() const { return calibrated_amplitude_; }

// @brief Returns the x [ns] and y [ADC] points of the "found" pulse (baseline-subtracted and relative to pulse start point)
inline const std::vector<double>& GetTraceXPoints() const { return trace_x_; }
inline const std::vector<double>& GetTraceYPoints() const { return trace_y_; }

template <class Archive> void serialize(Archive& ar,
const unsigned int version)
{
Expand All @@ -71,6 +77,10 @@ class ADCPulse : public Hit {
ar & raw_area_;
ar & raw_amplitude_;
ar & calibrated_amplitude_;
if (version > 0) {
ar & trace_x_;
ar & trace_y_;
}
}

protected:
Expand All @@ -83,4 +93,11 @@ class ADCPulse : public Hit {

unsigned short raw_amplitude_; // ADC
double calibrated_amplitude_; // V

std::vector<double> trace_x_ = {}; // x points of the pulse (start at 0, relative to pulse start) [ns]
std::vector<double> trace_y_ = {}; // y points of the pulse (baseline-subtracted) [ADC]
};

// (From Andrew Sutton) Need to increment the class version since we added time as a new variable
// the version number ensures backward compatibility when serializing
BOOST_CLASS_VERSION(ADCPulse, 1)
55 changes: 28 additions & 27 deletions DataModel/ANNIEGeometry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,8 @@ void ANNIEGeometry::SetGeometry(){
//WCSim
fCylRadius = 152.0; //cm
fCylLength = 396.0; //cm
fCylFiducialRadius = 0.0;
fCylFiducialLength = 0.0;
fCylFiducialRadius = 100.0; //cm
fCylFiducialLength = 200.0; //cm
fXoffset = 0.0;
fYoffset = 0.0;
fZoffset = 0.0;
Expand Down Expand Up @@ -337,11 +337,11 @@ bool ANNIEGeometry::InsideDetector(double x, double y, double z)
bool ANNIEGeometry::InsideFiducialVolume(double x, double y, double z)
{
if( fGeoType==ANNIEGeometry::kCylinder ){
if( z>=-0.5*fCylFiducialLength && z<=+0.5*fCylFiducialLength
&& x*x+y*y<=fCylFiducialRadius*fCylFiducialRadius ){
if( y>=-0.5*fCylFiducialLength && y<=+0.5*fCylFiducialLength
&& x*x+z*z<=fCylFiducialRadius*fCylFiducialRadius ){
return 1;
}
} else std::cout<<"WTF ANNIE Should Be A Cylinder!!!!"<<std::endl;
} else std::cout<<"WTH ANNIE Should Be A Cylinder!!!!"<<std::endl;

return 0;
}
Expand Down Expand Up @@ -377,42 +377,43 @@ double ANNIEGeometry::DistanceToEdge(double x, double y, double z)
double dr = 0.0;
if( fCylRadius>dr ) dr = fCylRadius;
if( 0.5*fCylLength>dr ) dr = 0.5*fCylLength;
if( -sqrt(x*x+y*y)+fCylRadius<dr ) dr = -sqrt(x*x+y*y)+fCylRadius;
if( -z+0.5*fCylLength<dr ) dr = -z+0.5*fCylLength;
if( +z+0.5*fCylLength<dr ) dr = +z+0.5*fCylLength;
if( -sqrt(x*x+z*z)+fCylRadius<dr ) dr = -sqrt(x*x+z*z)+fCylRadius;
if( -y+0.5*fCylLength<dr ) dr = -y+0.5*fCylLength;
if( y+0.5*fCylLength<dr ) dr = y+0.5*fCylLength;
return dr;
}

// outside detector (convention: -ve dr)
else{

// side region
if( z>=-0.5*fCylLength && z<=+0.5*fCylLength ){
return -sqrt(x*x+y*y)+fCylRadius;
if( y>=-0.5*fCylLength && y<=+0.5*fCylLength ){
return -sqrt(x*x+z*z)+fCylRadius;
}

// top region
if( z<=-0.5*fCylLength
&& x*x+y*y<fCylRadius*fCylRadius ){
return +z+0.5*fCylLength;
// below tank
if( y<=-0.5*fCylLength
&& x*x+z*z<fCylRadius*fCylRadius ){
return y+0.5*fCylLength;
}
if( z>=+0.5*fCylLength
&& x*x+y*y<fCylRadius*fCylRadius ){
return -z+0.5*fCylLength;
// above tank
if( y>=+0.5*fCylLength
&& x*x+z*z<fCylRadius*fCylRadius ){
return -y+0.5*fCylLength;
}

// corner regions
if( z>=+0.5*fCylLength
&& x*x+y*y>=fCylRadius ){
double dr = sqrt(x*x+y*y)-fCylRadius;
double dz = -z+0.5*fCylLength;
return -sqrt(dr*dr+dz*dz);
if( y>=+0.5*fCylLength
&& x*x+z*z>=fCylRadius ){
double dr = sqrt(x*x+z*z)-fCylRadius;
double dy = -y+0.5*fCylLength;
return -sqrt(dr*dr+dy*dy);
}
if( z<=-0.5*fCylLength
&& x*x+y*y>=fCylRadius ){
double dr = sqrt(x*x+y*y)-fCylRadius;
double dz = +z+0.5*fCylLength;
return -sqrt(dr*dr+dz*dz);
if( y<=-0.5*fCylLength
&& x*x+z*z>=fCylRadius ){
double dr = sqrt(x*x+z*z)-fCylRadius;
double dy = y+0.5*fCylLength;
return -sqrt(dr*dr+dy*dy);
}
}
}
Expand Down
File renamed without changes.
Loading