Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
skim::ParametersNumu Class Reference

#include "/cvmfs/nova-development.opensciencegrid.org/novasoft/releases/N20-09-17/AnalysisSkimmer/parameters/ParametersNumu.h"

Inheritance diagram for skim::ParametersNumu:
skim::Parameters

Public Member Functions

 ParametersNumu ()
 
 ParametersNumu (size_t const &bestTrack, rb::Energy const &energy, remid::ReMId const &remid, cosrej::CosRejObj const &cosrej, cosrej::NueCosRej const &nuecosrej, rb::Vertex const &vertex, std::vector< rb::Track const * > &tracks, std::vector< rb::Shower const * > &showers, std::vector< rb::Prong const * > &prongs, std::vector< slid::ShowerLID const * > &slids, numue::NumuE const &numue, rb::Cluster const &slice, rb::Track const &track, cvn::Result const &cvn, cvn::Result const &cvn2017, bool const &isData)
 
 ParametersNumu (size_t const &bestTrack, rb::Energy const &energy, remid::ReMId const &remid, cosrej::CosRejObj const &cosrej, cosrej::NueCosRej const &nuecosrej, rb::Vertex const &vertex, std::vector< rb::Track const * > &tracks, std::vector< rb::Shower const * > &showers, std::vector< rb::Prong const * > &prongs, std::vector< slid::ShowerLID const * > &slids, qeef::QePId const &qepid, numue::NumuE const &numue, rb::Cluster const &slice, rb::Track const &track, cvn::Result const &cvn, cvn::Result const &cvn2017, bool const &isData)
 
 ParametersNumu (size_t const &bestTrack, rb::Energy const &energy, remid::ReMId const &remid, cosrej::CosRejObj const &cosrej, cosrej::NueCosRej const &nuecosrej, rb::Vertex const &vertex, std::vector< rb::Track const * > &tracks, std::vector< rb::Shower const * > &showers, std::vector< rb::Prong const * > &prongs, std::vector< slid::ShowerLID const * > &slids, rb::Track const &cosmictrack, numue::NumuE const &numue, rb::Cluster const &slice, rb::Track const &track, cvn::Result const &cvn, cvn::Result const &cvn2017, bool const &isData)
 
virtual ~ParametersNumu ()
 
float const & BestPIDTrack () const
 
float const & NeutrinoE () const
 
float const & NDHadronicCal () const
 
double const & ReMIdValue () const
 
float const & QePIDValue () const
 
float const & QePIDNTracks () const
 
float const & SliceHits () const
 
float const & SliceCellsFromEdge () const
 
float const & SliceClosestEdge () const
 
int const & SliceNHitsNearEdge (int i) const
 
float const & SliceContigPlanes () const
 
float const & SliceMaxPlane () const
 
float const & SliceMinPlane () const
 
float const & PlanesToFront () const
 
float const & PlanesToBack () const
 
float const & CosRejKalFwdCell () const
 
float const & CosRejKalBakCell () const
 
float const & CosRejAngleKal () const
 
float const & CosRejCosBakCell () const
 
float const & CosRejCosFwdCell () const
 
float const & CosRejConCosPID () const
 
float const & CosRejKalBakCellND () const
 
float const & CosRejKalFwdCellND () const
 
float const & CosRejKalYPosAtTrans () const
 
float const & CosRejKalSpeed () const
 
float const & CosRejCosSpeed () const
 
float const & CosRejCosDirScore () const
 
TVector3 const & TrackStart () const
 
TVector3 const & TrackStop () const
 
float const & TrackStartZ () const
 
float const & TrackStopZ () const
 
TVector3 const & TrackEarliestHitPos () const
 
TVector3 const & TrackLatestHitPos () const
 
float const & TrackStartTime () const
 
float const & TrackStopTime () const
 
int const & TrackNCellsFromEdge () const
 
int const & TrackClosestEdge () const
 
int const & TrackNHitsNearEdge (int i) const
 
TVector3 const & TrackDir () const
 
float const & TrackCCE () const
 
TVector3 const & CosmicTrackStart () const
 
TVector3 const & CosmicTrackStop () const
 
TVector3 const & CosmicTrackEarliestHitPos () const
 
TVector3 const & CosmicTrackLatestHitPos () const
 
TVector3 const & CosmicTrackDir () const
 
float const & CosTrackStartTime () const
 
float const & CosTrackStopTime () const
 
float const & CosTrackHits () const
 
float const & CosTrackXViewHits () const
 
float const & CosTrackYViewHits () const
 
int const & CosTrackNCellsFromEdge () const
 
int const & CosTrackClosestEdge () const
 
int const & CosTrackNHitsNearEdge (int i) const
 
float const & CosTrackTotalADC () const
 
float const & CosTrackTotalGeV () const
 
float const & CosTrackTotalCalorimetricEnergy () const
 
float const & CosTrackMinTNS () const
 
TVector3 const & CosTrackMinXYZ () const
 
float const & CosTrackMinPlane () const
 
float const & CosTrackMaxTNS () const
 
TVector3 const & CosTrackMaxXYZ () const
 
float const & CosTrackMaxPlane () const
 
std::vector< rb::RecoHitAllHits () const
 
float const & DiffLastFirstLiveDiblock () const
 
float const & DistAllTop () const
 
float const & DistAllBottom () const
 
float const & DistAllWest () const
 
float const & DistAllEast () const
 
float const & DistAllFront () const
 
float const & DistAllBack () const
 
float const & NumShowers () const
 
float const & ShowerNumXCell () const
 
float const & ShowerNumYCell () const
 
float const & CosShowers () const
 
float const & ProngLength () const
 
float const & ShowerCalE () const
 
float const & ShowerTotalE () const
 
float const & FracShowerHits () const
 
TVector3 const & ShowerDir () const
 
TVector3 const & ShowerEnd () const
 
TVector3 const & ShowerVertex () const
 
float const & ShowerVtxDist () const
 
float const & ShowerPt () const
 
float const & ShowerMinX () const
 
float const & ShowerMinY () const
 
float const & ShowerMaxX () const
 
float const & ShowerMaxY () const
 
float const & ShowerMinVtxZ () const
 
float const & ShowerMinEndZ () const
 
float const & ShowerMaxVtxZ () const
 
float const & ShowerMaxEndZ () const
 
TVector3 const & Vertex () const
 
float const & VertexMaxW () const
 
float const & NumShowersLID () const
 
float const & CVNValue () const
 
float const & CVN2017Value () const
 
float const & NueCosRejPngPtp () const
 
float const & MaxOtherTrackStartZ () const
 
float const & MaxOtherTrackStopZ () const
 
NumuCutParameters const & ParametersStruct () const
 
void Compare (NumuCutParameters const &compCuts)
 

Private Member Functions

void GetDetectorEdges ()
 
float ProjectDistToEdge (TVector3 Pos, TVector3 Dir)
 
std::pair< TVector3, TVector3 > EarliestLatestHitPos (rb::Track const &track, bool cosmictrack)
 

Private Attributes

NumuCutParameters fParameters
 the relevant parameters to cut on for a numu selection More...
 
TVector3 fShowerDir
 
TVector3 fShowerEnd
 
TVector3 fShowerVertex
 
TVector3 fVertex
 
double fEdgeXPlusXZ
 
double fEdgeXMinusXZ
 
double fEdgeFrontXZ
 
double fEdgeBackXZ
 
double fEdgeTopYZ
 
double fEdgeBottomYZ
 
double fEdgeFrontYZ
 
double fEdgeBackYZ
 
double fNumCells
 
double fNumDiblocks
 

Friends

std::ostream & operator<< (std::ostream &o, ParametersNumu const &p)
 

Detailed Description

Definition at line 33 of file ParametersNumu.h.

Constructor & Destructor Documentation

skim::ParametersNumu::ParametersNumu ( )

Definition at line 43 of file ParametersNumu.cxx.

References stan::math::ceil(), fNumCells, fNumDiblocks, geom(), geo::PlaneGeo::Ncells(), geo::GeometryBase::NPlanes(), and geo::GeometryBase::Plane().

44 : fEdgeXPlusXZ (0.)
45 , fEdgeXMinusXZ(0.)
46 , fEdgeFrontXZ (0.)
47 , fEdgeBackXZ (0.)
48 , fEdgeTopYZ (0.)
49 , fEdgeBottomYZ(0.)
50 , fEdgeFrontYZ (0.)
51 , fEdgeBackYZ (0.)
52 {
54 
55  fNumCells = geom->Plane(0)->Ncells() - 1;
56  fNumDiblocks = std::ceil(geom->NPlanes() / 64);
57 }
unsigned int Ncells() const
Number of cells in this plane.
Definition: PlaneGeo.h:43
const PlaneGeo * Plane(unsigned int i) const
void geom(int which=0)
Definition: geom.C:163
unsigned int NPlanes() const
fvar< T > ceil(const fvar< T > &x)
Definition: ceil.hpp:11
skim::ParametersNumu::ParametersNumu ( size_t const &  bestTrack,
rb::Energy const &  energy,
remid::ReMId const &  remid,
cosrej::CosRejObj const &  cosrej,
cosrej::NueCosRej const &  nuecosrej,
rb::Vertex const &  vertex,
std::vector< rb::Track const * > &  tracks,
std::vector< rb::Shower const * > &  showers,
std::vector< rb::Prong const * > &  prongs,
std::vector< slid::ShowerLID const * > &  slids,
numue::NumuE const &  numue,
rb::Cluster const &  slice,
rb::Track const &  track,
cvn::Result const &  cvn,
cvn::Result const &  cvn2017,
bool const &  isData 
)

2017 and before

2018 ... See StandardRecord/CVNLabels.h for constants

srcvn.nueid += cvn.fOutput[caf::kCVN_nE_Other];


Definition at line 60 of file ParametersNumu.cxx.

References std::abs(), rb::Cluster::AllCells(), cosrej::CosRejObj::AngleKal(), calcFirstLastLivePlane(), cosrej::CosRejObj::CDirScore(), geo::PlaneGeo::Cell(), rb::Cluster::Cell(), cosrej::CosRejObj::CFitSpeed(), cosrej::CosRejObj::ConCosPID(), cosrej::CosRejObj::CosBakCell(), cosrej::CosRejObj::CosFwdCell(), caf::cvnStates, rb::Prong::Dir(), EarliestLatestHitPos(), febshutoff_auto::end, NumuCutParameters::fBestPIDTrack, NumuCutParameters::fCosmicTrackDir, NumuCutParameters::fCosmicTrackEarliestHitPos, NumuCutParameters::fCosmicTrackLatestHitPos, NumuCutParameters::fCosmicTrackStart, NumuCutParameters::fCosmicTrackStop, NumuCutParameters::fCosRejAngleKal, NumuCutParameters::fCosRejConCosPID, NumuCutParameters::fCosRejCosBakCell, NumuCutParameters::fCosRejCosDirScore, NumuCutParameters::fCosRejCosFwdCell, NumuCutParameters::fCosRejCosSpeed, NumuCutParameters::fCosRejKalBakCell, NumuCutParameters::fCosRejKalBakCellND, NumuCutParameters::fCosRejKalFwdCell, NumuCutParameters::fCosRejKalFwdCellND, NumuCutParameters::fCosRejKalSpeed, NumuCutParameters::fCosRejKalYPosAtTrans, NumuCutParameters::fCosShowers, NumuCutParameters::fCosTrackMaxPlane, NumuCutParameters::fCosTrackMaxTNS, NumuCutParameters::fCosTrackMaxXYZ, NumuCutParameters::fCosTrackMinPlane, NumuCutParameters::fCosTrackMinTNS, NumuCutParameters::fCosTrackMinXYZ, NumuCutParameters::fCosTrackNHitsNearEdge, NumuCutParameters::fCosTrackStartTime, NumuCutParameters::fCosTrackStopTime, NumuCutParameters::fCosTrackTotalADC, NumuCutParameters::fCosTrackTotalCalorimetricEnergy, NumuCutParameters::fCosTrackTotalGeV, NumuCutParameters::fCosTrackXViewHits, NumuCutParameters::fCosTrackYViewHits, NumuCutParameters::fCVN2017Val, NumuCutParameters::fCVNVal, NumuCutParameters::fDiffLastFirstLiveDiblock, NumuCutParameters::fDistAllBack, NumuCutParameters::fDistAllBottom, NumuCutParameters::fDistAllEast, NumuCutParameters::fDistAllFront, NumuCutParameters::fDistAllTop, NumuCutParameters::fDistAllWest, NumuCutParameters::fNDHadronicCal, NumuCutParameters::fNeutrinoE, NumuCutParameters::fNueCosRejPngPtp, NumuCutParameters::fNumShowers, NumuCutParameters::fNumShowersLID, NumuCutParameters::fOtherTrackMaxEndZ, NumuCutParameters::fOtherTrackMaxVtxZ, cvn::Result::fOutput, fParameters, NumuCutParameters::fPlanesToBack, NumuCutParameters::fPlanesToFront, NumuCutParameters::fProngLength, NumuCutParameters::fReMIdVal, NumuCutParameters::fShowerCalE, fShowerDir, NumuCutParameters::fShowerDirX, NumuCutParameters::fShowerDirY, NumuCutParameters::fShowerDirZ, fShowerEnd, NumuCutParameters::fShowerEndX, NumuCutParameters::fShowerEndY, NumuCutParameters::fShowerEndZ, NumuCutParameters::fShowerMaxEndZ, NumuCutParameters::fShowerMaxVtxZ, NumuCutParameters::fShowerMaxX, NumuCutParameters::fShowerMaxY, NumuCutParameters::fShowerMinEndZ, NumuCutParameters::fShowerMinVtxZ, NumuCutParameters::fShowerMinX, NumuCutParameters::fShowerMinY, NumuCutParameters::fShowerNumXCell, NumuCutParameters::fShowerNumYCell, NumuCutParameters::fShowerTotalE, fShowerVertex, NumuCutParameters::fShowerVertexX, NumuCutParameters::fShowerVertexY, NumuCutParameters::fShowerVertexZ, NumuCutParameters::fShowerVtxDist, NumuCutParameters::fSliceCellsFromEdge, NumuCutParameters::fSliceClosestEdge, NumuCutParameters::fSliceContigPlanes, NumuCutParameters::fSliceHits, NumuCutParameters::fSliceMaxPlane, NumuCutParameters::fSliceMinPlane, NumuCutParameters::fSliceNHitsNearEdge, NumuCutParameters::fTrackCCE, NumuCutParameters::fTrackDir, NumuCutParameters::fTrackEarliestHitPos, NumuCutParameters::fTrackLatestHitPos, NumuCutParameters::fTrackNHitsNearEdge, NumuCutParameters::fTrackStart, NumuCutParameters::fTrackStartTime, NumuCutParameters::fTrackStartZ, NumuCutParameters::fTrackStop, NumuCutParameters::fTrackStopTime, NumuCutParameters::fTrackStopZ, fVertex, NumuCutParameters::fVertexMaxW, NumuCutParameters::fVertexX, NumuCutParameters::fVertexY, NumuCutParameters::fVertexZ, geom(), nova::dbi::RunHistory::GetConfiguration(), rb::Vertex::GetXYZ(), nova::dbi::RunHistory::GoodDiBlockMask(), MECModelEnuComparisons::i, compare_h5_caf::idx, cosrej::CosRejObj::KalBakCell(), cosrej::CosRejObj::KalBakCellND(), cosrej::CosRejObj::KalFwdCell(), cosrej::CosRejObj::KalFwdCellND(), cosrej::CosRejObj::KalYPosAtTrans(), caf::kCVN_nM_Other, cosrej::CosRejObj::KFitSpeed(), caf::kNumCVNFinalStates, geo::kX, geo::kXorY, geo::kY, LOG_DEBUG, cet::sqlite::max(), std::max(), rb::Cluster::MaxPlane(), maxY, min(), std::min(), rb::Cluster::MinPlane(), minY, rb::Cluster::MostContiguousPlanes(), rb::Cluster::NCell(), numue::NumuE::NDHadCalCat(), numue::NumuE::NDHadCalTran(), SliceLID::numuid(), caf::CVNFinalState::nuPdg, geo::GeometryBase::Plane(), cosrej::NueCosRej::ProngTransMom(), rh, rb::Prong::Start(), cosrej::NueCosRej::StartMinDistToBack(), cosrej::NueCosRej::StartMinDistToBottom(), cosrej::NueCosRej::StartMinDistToEast(), cosrej::NueCosRej::StartMinDistToFront(), cosrej::NueCosRej::StartMinDistToTop(), cosrej::NueCosRej::StartMinDistToWest(), makeDatasetsPage::state, rb::Track::Stop(), cosrej::NueCosRej::StopMinDistToBack(), cosrej::NueCosRej::StopMinDistToBottom(), cosrej::NueCosRej::StopMinDistToEast(), cosrej::NueCosRej::StopMinDistToFront(), cosrej::NueCosRej::StopMinDistToTop(), cosrej::NueCosRej::StopMinDistToWest(), rb::CellHit::TNS(), numue::NumuE::TrkCCE(), and rb::PID::Value().

77 {
78 
81 
82  fParameters.fBestPIDTrack = 1.*bestPIDTrack;
83 
84  // Energy Variables
85  fParameters.fTrackCCE = numue.TrkCCE();
87 
88  fParameters.fNDHadronicCal = numue.NDHadCalTran() + numue.NDHadCalCat();
89 
90  // ReMId variable
91  fParameters.fReMIdVal = remid.Value();
92 
93  // Slice variables
94  fParameters.fSliceHits = slice.NCell();
95  fParameters.fSliceContigPlanes = slice.MostContiguousPlanes(geo::kXorY);
96  fParameters.fSliceMaxPlane = slice.MaxPlane();
97  fParameters.fSliceMinPlane = slice.MinPlane();
98  for(int i = 0;i < 10; ++i)fParameters.fSliceNHitsNearEdge[i] = 0;
99 
100  // check to see the minimum number of cells from edge of the detector
102  for(auto ch : slice.AllCells() ){
103  size_t cellsFromEdge = std::min((unsigned int)ch->Cell(), geom->Plane(ch->Plane())->Ncells() - 1 - ch->Cell());
104  LOG_DEBUG("EvaluatorNumu")
105  << ch->Cell()
106  << " "
107  << geom->Plane(ch->Plane())->Ncells()-1-ch->Cell()
108  << " "
110 
111  if( cellsFromEdge < fParameters.fSliceCellsFromEdge ){
112  fParameters.fSliceCellsFromEdge = cellsFromEdge;
113  if (ch->View() == geo::kX && cellsFromEdge == ch->Cell()) fParameters.fSliceClosestEdge = 0;
114  else if(ch->View() == geo::kX && cellsFromEdge == geom->Plane(ch->Plane())->Ncells() - 1 - ch->Cell()) fParameters.fSliceClosestEdge = 1;
115  else if(ch->View() == geo::kY && cellsFromEdge == ch->Cell()) fParameters.fSliceClosestEdge = 2;
116  else if(ch->View() == geo::kY && cellsFromEdge == geom->Plane(ch->Plane())->Ncells() - 1 - ch->Cell()) fParameters.fSliceClosestEdge = 3;
117  else fParameters.fSliceClosestEdge = -5;
118  }
119 
120  if(cellsFromEdge < 10) {
121  for(unsigned int i = 9; ( i >= cellsFromEdge && i < 10); i -= 1) ++fParameters.fSliceNHitsNearEdge[i];
122  }
123  }
124 
125  // CosRej variables
126  fParameters.fCosRejKalFwdCell = cosrej.KalFwdCell();
127  fParameters.fCosRejKalBakCell = cosrej.KalBakCell();
128  fParameters.fCosRejAngleKal = cosrej.AngleKal();
129  fParameters.fCosRejCosFwdCell = cosrej.CosFwdCell();
130  fParameters.fCosRejCosBakCell = cosrej.CosBakCell();
131  fParameters.fCosRejConCosPID = cosrej.ConCosPID();
132  fParameters.fCosRejKalBakCellND = cosrej.KalBakCellND();
133  fParameters.fCosRejKalFwdCellND = cosrej.KalFwdCellND();
134  fParameters.fCosRejKalYPosAtTrans = cosrej.KalYPosAtTrans();
135  fParameters.fCosRejKalSpeed = cosrej.KFitSpeed();
136  fParameters.fCosRejCosSpeed = cosrej.CFitSpeed();
137  fParameters.fCosRejCosDirScore = cosrej.CDirScore();
138 
139  // Track variables
140  fParameters.fTrackStartZ = track.Start().Z();
141  fParameters.fTrackStopZ = track.Stop().Z();
142  fParameters.fTrackStart = track.Start();
143  fParameters.fTrackStop = track.Stop();
144  fParameters.fTrackStartTime = track.Cell(0)->TNS();
145  fParameters.fTrackStopTime = track.Cell(track.NCell()-1)->TNS();
146  fParameters.fTrackDir = track.Dir();
147  for(int i = 0; i < 10; ++i) fParameters.fTrackNHitsNearEdge[i] = 0;
150 
151  // Vetex variables (2017)
152  fVertex = vertex.GetXYZ();
157  std::abs(fVertex.Y()));
158 
159  // Shower variables (2017)
160  fParameters.fNumShowers = 1.*showers.size();
161  if(showers.size()>0){
162  fParameters.fShowerCalE = showers[0]->CalorimetricEnergy();
163  fParameters.fShowerTotalE = showers[0]->TotalGeV();
164  fShowerDir = showers[0]->Dir();
168  fShowerVertex = showers[0]->Start();
172  fShowerEnd = showers[0]->Stop();
176 
177  fParameters.fShowerNumXCell = showers[0]->NXCell();
178  fParameters.fShowerNumYCell = showers[0]->NYCell();
179  } // showers.size()
180 
181  // Shower LID variables (2017)
182  fParameters.fNumShowersLID = 1.*slids.size();
183  if(slids.size()>0){
184  fParameters.fShowerVtxDist = slids[0]->Gap();
185  }
186 
196 
199 
200  fParameters.fCosShowers = 2.; // default value will pass any cuts
201 
202 
203  //////////////////////// CVN ///////////////////////////
204  // Differnet versions have different number of outputs
205  //
206  // Explanation for Production4 is in :
207  // https://cdcvs.fnal.gov/redmine/projects/nova_reconstruction/wiki/Prod4_tag
208 
209 
210  fParameters.fCVN2017Val = cvn2017.fOutput[0]+cvn2017.fOutput[1]+cvn2017.fOutput[2]+cvn2017.fOutput[3];
211 
212  // check Output Vector Size
213  int cvnOutputSize = cvn.fOutput.size();
214 
215  if( cvnOutputSize == 16 ) { /// 2017 and before
216 
217  // CVN Value formula from CAFMaker: FillPIDs.cxx -->
218  // srcvn.numuid = result.fOutput[0]+result.fOutput[1]+result.fOutput[2]+result.fOutput[3];)
219  fParameters.fCVNVal = cvn.fOutput[0]+cvn.fOutput[1]+cvn.fOutput[2]+cvn.fOutput[3];
220 
221  } else if( cvnOutputSize == 392 ) { /// 2018 ...
222  /// See StandardRecord/CVNLabels.h for constants
223 
224  float numuid = 0;
225  //std::vector<float>::const_iterator maxIt = std::max_element(cvn.fOutput.cbegin(), cvn.fOutput.cend());
226 
227  for(int idx = 0; idx < caf::kNumCVNFinalStates; ++idx){
229  const double prob = cvn.fOutput[idx];
230  if(state.nuPdg == 14) numuid += prob;
231  }
232 
233  /// srcvn.nueid += cvn.fOutput[caf::kCVN_nE_Other];
234  numuid += cvn.fOutput[caf::kCVN_nM_Other];
235 
237  }
238 
239  /////////////////////////////////////////////////////
240 
241  float nShowerHit = 0.;
242  if(showers.size() > 1)
243  fParameters.fCosShowers = ((fShowerDir * showers[1]->Dir())/
244  (fShowerDir.Mag() * showers[1]->Dir().Mag()));
245 
246  // The ProngLength cut applies for the longest prong, so find that in
247  // the following loop
248 
249  for(auto prg : prongs){
250  if(prg->TotalLength() > fParameters.fProngLength)
251  fParameters.fProngLength = prg->TotalLength();
252  }
253 
254  for(auto shw : showers){
255  nShowerHit += 1.*shw->NCell();
256  auto vtx = shw->Start();
257  auto end = shw->Stop();
258  auto maxX = std::max(vtx.X(), end.X());
259  auto maxY = std::max(vtx.Y(), end.Y());
260  auto minX = std::min(vtx.X(), end.X());
261  auto minY = std::min(vtx.Y(), end.Y());
262  if(fParameters.fShowerMinX > minX ) fParameters.fShowerMinX = minX;
264  if(fParameters.fShowerMaxX < maxX ) fParameters.fShowerMaxX = maxX;
266  if(fParameters.fShowerMinVtxZ > vtx.Z()) fParameters.fShowerMinVtxZ = vtx.Z();
268  if(fParameters.fShowerMaxVtxZ < vtx.Z()) fParameters.fShowerMaxVtxZ = vtx.Z();
270  }
271 
272 
273  // Check start and end Z for tracks other then best RemId one
274  for(size_t itrk=0; itrk<tracks.size(); ++itrk){
275 
276  if( itrk == bestPIDTrack ) continue; // Skip best pid track
277  if(tracks[itrk]->View() != geo::kXorY) continue; // 3D tracks only as in CAFMaker
278  auto vtx = tracks[itrk]->Start();
279  auto end = tracks[itrk]->Stop();
282  }
283 
284  ///----------------------------------------------------------------------------
285 
286  // now check the run history and the diblocks in this run
287  // the lines below are copied from CAFMaker_module.cc
288  unsigned int dibmask = (rh->GoodDiBlockMask()&rh->GetConfiguration());
289 
290  unsigned int dibfirst = 0;
291  //unsigned int diblast = 0;
292  unsigned int firstDBPlane = 0;
293  //unsigned int lastDBPlane = geom->NPlanes();
294 
295  if (dibmask) {
296  int iD;
297  iD=0; while (!((dibmask>>iD)&1)) iD++; dibfirst=iD+1;
298  //iD=0; while (dibmask>>iD) iD++; diblast=iD;
299 
300  firstDBPlane = (dibfirst - 1) * 64;
301  //lastDBPlane = (diblast * 64) - 1;
302  }
303 
304  std::bitset<14> binary(dibmask);
305 
306  std::pair<int,int> planesA = calcFirstLastLivePlane(slice.MinPlane(), binary);
307  std::pair<int,int> planesB = calcFirstLastLivePlane(slice.MaxPlane(), binary);
308 
309  if ((planesA.first != planesB.first) || (planesA.second != planesB.second))fParameters.fDiffLastFirstLiveDiblock = -1;
310  else fParameters.fDiffLastFirstLiveDiblock = (planesA.second - planesA.first + 1) * 0.015625;
311 
312  fParameters.fPlanesToFront = slice.MinPlane() - planesA.first;
313  fParameters.fPlanesToBack = planesA.second - slice.MaxPlane();
314 
315  LOG_DEBUG("ParametersNumu")
316  << "Inside: ParametersNumu.cxx--"
317  << " FirstPlane: "
319  << " firstDBPlane "
320  << firstDBPlane
321  << " planesA.first "
322  << planesA.first;
323 
324  // give cosmic track related parameters obviously stupid values
326 
359 
360 
361  //Added for 2017 Analysis ...
362  fParameters.fDistAllTop = std::min(nuecosrej.StartMinDistToTop(),
363  nuecosrej.StopMinDistToTop());
364  fParameters.fDistAllBottom = std::min(nuecosrej.StartMinDistToBottom(),
365  nuecosrej.StopMinDistToBottom());
366  fParameters.fDistAllWest = std::min(nuecosrej.StartMinDistToWest(),
367  nuecosrej.StopMinDistToWest());
368  fParameters.fDistAllEast = std::min(nuecosrej.StartMinDistToEast(),
369  nuecosrej.StopMinDistToEast());
370  fParameters.fDistAllFront = std::min(nuecosrej.StartMinDistToFront(),
371  nuecosrej.StopMinDistToFront());
372  fParameters.fDistAllBack = std::min(nuecosrej.StartMinDistToBack(),
373  nuecosrej.StopMinDistToBack());
374 
375  fParameters.fNueCosRejPngPtp = nuecosrej.ProngTransMom();
376 
377  return;
378 }
TVector3 fTrackDir
track direction (unit vector) at start point
float fShowerMaxVtxZ
maximum Z position of all showers
T max(const caf::Proxy< T > &a, T b)
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
int fTrackNHitsNearEdge[10]
float fShowerEndY
end of the primary shower
float fNumShowersLID
size of showerLIDs in a slice
TVector3 fTrackStop
track end position (cm)
float fShowerMaxY
max y for all shower end points
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
Definition: event.h:34
double minY
Definition: plot_hist.C:9
Energy estimators for CC events.
Definition: FillEnergies.h:7
float fPlanesToFront
number of planes to the front of detector
TH2 * rh
Definition: drawXsec.C:5
float fDistAllFront
distance of all showers in slice from the front edge of detector
float fDistAllEast
distance of all showers in slice from the east edge of detector
TVector3 fCosTrackMinXYZ
float fNeutrinoE
neutrino energy
float fShowerMinY
min y for all shower end points
X or Y views.
Definition: PlaneGeo.h:30
float fDistAllTop
distance of all showers in slice from the top edge of detector
float fSliceMaxPlane
maximum plane of the slice
float fTrackStopTime
track end time (ns)
float fVertexZ
vertex of the interaction
float fShowerEndX
end of the primary shower
const CellGeo * Cell(int icell) const
Definition: PlaneGeo.h:48
static Var numuid(const std::shared_ptr< CAFAnaModel > &model)
Definition: SliceLIDVar.h:63
float fShowerNumXCell
number of x cells in slice
Vertical planes which measure X.
Definition: PlaneGeo.h:28
float fCosShowers
cosine of angle between showers in slice
Definition: event.h:19
float fCVN2017Val
value of the Old (2017) CVN PID //Analysis 2018
float fVertexX
vertex of the interaction
float fOtherTrackMaxVtxZ
maximum Z position of non Best-RemID tracks
double maxY
Definition: plot_hist.C:10
float fShowerMinEndZ
minimum Z position of all showers
float fSliceHits
hits in the slice
const PlaneGeo * Plane(unsigned int i) const
Defines an enumeration for prong classification.
float abs(float number)
Definition: d0nt_math.hpp:39
TVector3 fCosTrackMaxXYZ
float fCosRejCosSpeed
inverse speed of the timing fit of the cosmic track
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
float fDiffLastFirstLiveDiblock
float fTrackStopZ
track end z position
float fSliceCellsFromEdge
minimum cells to edge of detector
TVector3 fTrackLatestHitPos
position (cm) or track&#39;s latest hit in time
float fDistAllBack
distance of all showers in slice from the back edge of detector
float fCosRejKalBakCell
just what it looks like
std::pair< int, int > calcFirstLastLivePlane(int plane, std::bitset< 14 > binary)
float fShowerMinX
min x for all shower end points
float fVertexY
vertex of the interaction
float fVertexMaxW
maximum w value of the vertex
float fTrackStartZ
track starting z position
TVector3 fTrackEarliestHitPos
position (cm) or track&#39;s earliest hit in time
float fSliceClosestEdge
0:-x, 1:+x, 2:-y or 3:+y
float fShowerDirX
direction of the primary shower in slice
float fTrackStartTime
track starting (ns)
float fCosRejKalSpeed
inverse speed of the timing fit of the kalman track
float fCVNVal
value of the CVN PID
float fShowerVertexY
vertex of the primary shower
float fNumShowers
number of showers in slice
float fCosRejKalYPosAtTrans
just what it looks like
float fShowerVtxDist
distance between the shower vertex and interaction vertex
TVector3 fCosmicTrackLatestHitPos
float fNDHadronicCal
hadronic energy in the ND
Definition: View.py:1
float fShowerEndZ
end of the primary shower
float fShowerMinVtxZ
minimum Z position of all showers
TVector3 fCosmicTrackEarliestHitPos
static float min(const float a, const float b, const float c)
Definition: absgeo.cxx:45
float fShowerCalE
calorimetric energy in primary shower in slice
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
TVector3 fCosmicTrackStart
float fSliceContigPlanes
contiguous planes in slice
const int kNumCVNFinalStates
Definition: CVNLabels.h:11
float fOtherTrackMaxEndZ
maximum Z position of non Best-RemID tracks
float fCosRejCosDirScore
difference between hough scores for timing fits of the cosmic track going forward and backwards ...
float fShowerMaxEndZ
maximum Z position of all showers
float fProngLength
length of largest prong in slice
void geom(int which=0)
Definition: geom.C:163
const int kCVN_nM_Other
Definition: CVNLabels.h:401
float fTrackCCE
track CC energy
float fBestPIDTrack
track with the best PID
TVector3 fCosmicTrackStop
TVector3 fTrackStart
track starting position (cm)
float fCosRejKalFwdCell
just what it looks like
float fDistAllWest
distance of all showers in slice from the west edge of detector
const CVNFinalState cvnStates[kNumCVNFinalStates]
Definition: CVNLabels.h:12
float fShowerVertexX
vertex of the primary shower
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
A PID for muons.
Definition: FillPIDs.h:10
float fShowerNumYCell
number of y cells in slice
TVector3 fCosmicTrackDir
float fSliceMinPlane
minimum plane of the slice
T min(const caf::Proxy< T > &a, T b)
int GoodDiBlockMask(int subrun=-1, bool reload=false)
float fCosTrackTotalCalorimetricEnergy
std::pair< TVector3, TVector3 > EarliestLatestHitPos(rb::Track const &track, bool cosmictrack)
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
int fCosTrackNHitsNearEdge[10]
int fSliceNHitsNearEdge[10]
fSliceNHitsNearEdge[i] = Number of hits within i cells of the x or y edges
float fShowerDirZ
direction of the primary shower in slice
double fReMIdVal
value of ReMId parameter
float fShowerTotalE
TotalE energy in primary shower in slice.
float fShowerMaxX
max x for all shower end points
float fShowerVertexZ
vertex of the primary shower
float fShowerDirY
direction of the primary shower in slice
float fPlanesToBack
number of planes to the back of the detector
skim::ParametersNumu::ParametersNumu ( size_t const &  bestTrack,
rb::Energy const &  energy,
remid::ReMId const &  remid,
cosrej::CosRejObj const &  cosrej,
cosrej::NueCosRej const &  nuecosrej,
rb::Vertex const &  vertex,
std::vector< rb::Track const * > &  tracks,
std::vector< rb::Shower const * > &  showers,
std::vector< rb::Prong const * > &  prongs,
std::vector< slid::ShowerLID const * > &  slids,
qeef::QePId const &  qepid,
numue::NumuE const &  numue,
rb::Cluster const &  slice,
rb::Track const &  track,
cvn::Result const &  cvn,
cvn::Result const &  cvn2017,
bool const &  isData 
)

Definition at line 444 of file ParametersNumu.cxx.

References fParameters, NumuCutParameters::fQePIDNTracks, NumuCutParameters::fQePIDVal, qeef::QePId::Ntrk(), and rb::PID::Value().

461 : ParametersNumu(bestPIDTrack,
462  energy,
463  remid,
464  cosrej,
465  nuecosrej,
466  vertex,
467  tracks,
468  showers,
469  prongs,
470  slids,
471  numue,
472  slice,
473  track,
474  cvn,
475  cvn2017,
476  isData)
477 {
478  // QePID variables
479  fParameters.fQePIDVal = qepid.Value();
480  fParameters.fQePIDNTracks = qepid.Ntrk();
481 
482  return;
483 }
Definition: event.h:34
Energy estimators for CC events.
Definition: FillEnergies.h:7
Definition: event.h:19
Defines an enumeration for prong classification.
double energy
Definition: plottest35.C:25
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
float fQePIDVal
value of QePId parameter
float fQePIDNTracks
number of tracks for QePID
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
A PID for muons.
Definition: FillPIDs.h:10
skim::ParametersNumu::ParametersNumu ( size_t const &  bestTrack,
rb::Energy const &  energy,
remid::ReMId const &  remid,
cosrej::CosRejObj const &  cosrej,
cosrej::NueCosRej const &  nuecosrej,
rb::Vertex const &  vertex,
std::vector< rb::Track const * > &  tracks,
std::vector< rb::Shower const * > &  showers,
std::vector< rb::Prong const * > &  prongs,
std::vector< slid::ShowerLID const * > &  slids,
rb::Track const &  cosmictrack,
numue::NumuE const &  numue,
rb::Cluster const &  slice,
rb::Track const &  track,
cvn::Result const &  cvn,
cvn::Result const &  cvn2017,
bool const &  isData 
)

Definition at line 381 of file ParametersNumu.cxx.

References rb::Cluster::CalorimetricEnergy(), rb::Cluster::Cell(), rb::Prong::Dir(), EarliestLatestHitPos(), NumuCutParameters::fCosmicTrackDir, NumuCutParameters::fCosmicTrackEarliestHitPos, NumuCutParameters::fCosmicTrackLatestHitPos, NumuCutParameters::fCosmicTrackStart, NumuCutParameters::fCosmicTrackStop, NumuCutParameters::fCosTrackMaxPlane, NumuCutParameters::fCosTrackMaxTNS, NumuCutParameters::fCosTrackMaxXYZ, NumuCutParameters::fCosTrackMinPlane, NumuCutParameters::fCosTrackMinTNS, NumuCutParameters::fCosTrackMinXYZ, NumuCutParameters::fCosTrackNHitsNearEdge, NumuCutParameters::fCosTrackStartTime, NumuCutParameters::fCosTrackStopTime, NumuCutParameters::fCosTrackTotalADC, NumuCutParameters::fCosTrackTotalCalorimetricEnergy, NumuCutParameters::fCosTrackTotalGeV, NumuCutParameters::fCosTrackXViewHits, NumuCutParameters::fCosTrackYViewHits, fEdgeXMinusXZ, fEdgeXPlusXZ, fParameters, GetDetectorEdges(), MECModelEnuComparisons::i, rb::Cluster::MaxPlane(), rb::Cluster::MaxTNS(), rb::Cluster::MaxXYZ(), rb::Cluster::MinPlane(), rb::Cluster::MinTNS(), rb::Cluster::MinXYZ(), rb::Cluster::NCell(), rb::Cluster::NXCell(), rb::Cluster::NYCell(), rb::Prong::Start(), rb::Track::Stop(), rb::CellHit::TNS(), rb::Cluster::TotalADC(), and rb::Cluster::TotalGeV().

398 : ParametersNumu(bestPIDTrack,
399  energy,
400  remid,
401  cosrej,
402  nuecosrej,
403  vertex,
404  tracks,
405  showers,
406  prongs,
407  slids,
408  numue,
409  slice,
410  track,
411  cvn,
412  cvn2017,
413  isData)
414 {
415  if(fEdgeXPlusXZ == 0 && fEdgeXMinusXZ == 0){
417  }
418 
419  for(int i = 0; i < 10; ++i) fParameters.fCosTrackNHitsNearEdge[i] = 0;
420 
421  fParameters.fCosmicTrackStart = cosmictrack.Start();
422  fParameters.fCosmicTrackStop = cosmictrack.Stop();
424  fParameters.fCosmicTrackLatestHitPos = EarliestLatestHitPos(cosmictrack, true).second;
425  fParameters.fCosmicTrackDir = cosmictrack.Dir();
426  fParameters.fCosTrackStartTime = cosmictrack.Cell(0)->TNS();
427  fParameters.fCosTrackStopTime = cosmictrack.Cell(cosmictrack.NCell()-1)->TNS();
428  fParameters.fCosTrackXViewHits = cosmictrack.NXCell();
429  fParameters.fCosTrackYViewHits = cosmictrack.NYCell();
430  fParameters.fCosTrackTotalADC = cosmictrack.TotalADC();
431  fParameters.fCosTrackTotalGeV = cosmictrack.TotalGeV();
432  fParameters.fCosTrackTotalCalorimetricEnergy = cosmictrack.CalorimetricEnergy();
433  fParameters.fCosTrackMinTNS = cosmictrack.MinTNS();
434  fParameters.fCosTrackMinXYZ = cosmictrack.MinXYZ();
435  fParameters.fCosTrackMinPlane = cosmictrack.MinPlane();
436  fParameters.fCosTrackMaxTNS = cosmictrack.MaxTNS();
437  fParameters.fCosTrackMaxXYZ = cosmictrack.MaxXYZ();
438  fParameters.fCosTrackMaxPlane = cosmictrack.MaxPlane();
439 
440  return;
441 }
Definition: event.h:34
Energy estimators for CC events.
Definition: FillEnergies.h:7
TVector3 fCosTrackMinXYZ
Definition: event.h:19
Defines an enumeration for prong classification.
TVector3 fCosTrackMaxXYZ
double energy
Definition: plottest35.C:25
TVector3 fCosmicTrackLatestHitPos
TVector3 fCosmicTrackEarliestHitPos
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
TVector3 fCosmicTrackStart
TVector3 fCosmicTrackStop
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
A PID for muons.
Definition: FillPIDs.h:10
TVector3 fCosmicTrackDir
float fCosTrackTotalCalorimetricEnergy
std::pair< TVector3, TVector3 > EarliestLatestHitPos(rb::Track const &track, bool cosmictrack)
int fCosTrackNHitsNearEdge[10]
skim::ParametersNumu::~ParametersNumu ( )
virtual

Definition at line 642 of file ParametersNumu.cxx.

643 {
644 
645 }

Member Function Documentation

std::vector< rb::RecoHit > skim::ParametersNumu::AllHits ( ) const
inline

Definition at line 161 of file ParametersNumu.h.

References NumuCutParameters::fAllHits, and fParameters.

161 { return fParameters.fAllHits; }
std::vector< rb::RecoHit > fAllHits
all hits in track
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::BestPIDTrack ( ) const
inline

Definition at line 99 of file ParametersNumu.h.

References NumuCutParameters::fBestPIDTrack, and fParameters.

99 { return fParameters.fBestPIDTrack; }
float fBestPIDTrack
track with the best PID
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
void skim::ParametersNumu::Compare ( NumuCutParameters const &  compCuts)

Definition at line 540 of file ParametersNumu.cxx.

References std::abs(), comps, e, NumuCutParameters::fCosRejAngleKal, NumuCutParameters::fCosRejConCosPID, NumuCutParameters::fCosRejCosBakCell, NumuCutParameters::fCosRejCosFwdCell, NumuCutParameters::fCosRejKalBakCell, NumuCutParameters::fCosRejKalBakCellND, NumuCutParameters::fCosRejKalFwdCell, NumuCutParameters::fCosRejKalFwdCellND, NumuCutParameters::fCosRejKalYPosAtTrans, NumuCutParameters::fCosShowers, NumuCutParameters::fCVN2017Val, NumuCutParameters::fCVNVal, NumuCutParameters::fDistAllBack, NumuCutParameters::fDistAllBottom, NumuCutParameters::fDistAllEast, NumuCutParameters::fDistAllFront, NumuCutParameters::fDistAllTop, NumuCutParameters::fDistAllWest, NumuCutParameters::fFracShowerHits, NumuCutParameters::fNDHadronicCal, NumuCutParameters::fNeutrinoE, NumuCutParameters::fNumShowers, NumuCutParameters::fOtherTrackMaxEndZ, NumuCutParameters::fOtherTrackMaxVtxZ, fParameters, NumuCutParameters::fPlanesToBack, NumuCutParameters::fPlanesToFront, NumuCutParameters::fProngLength, NumuCutParameters::fQePIDNTracks, NumuCutParameters::fQePIDVal, NumuCutParameters::fReMIdVal, NumuCutParameters::fShowerCalE, NumuCutParameters::fShowerDirX, NumuCutParameters::fShowerDirY, NumuCutParameters::fShowerDirZ, NumuCutParameters::fShowerEndX, NumuCutParameters::fShowerEndY, NumuCutParameters::fShowerEndZ, NumuCutParameters::fShowerMaxEndZ, NumuCutParameters::fShowerMaxVtxZ, NumuCutParameters::fShowerMaxX, NumuCutParameters::fShowerMaxY, NumuCutParameters::fShowerMinEndZ, NumuCutParameters::fShowerMinVtxZ, NumuCutParameters::fShowerMinX, NumuCutParameters::fShowerMinY, NumuCutParameters::fShowerNumXCell, NumuCutParameters::fShowerNumYCell, NumuCutParameters::fShowerPt, NumuCutParameters::fShowerVertexX, NumuCutParameters::fShowerVertexY, NumuCutParameters::fShowerVertexZ, NumuCutParameters::fShowerVtxDist, NumuCutParameters::fSliceCellsFromEdge, NumuCutParameters::fSliceContigPlanes, NumuCutParameters::fSliceHits, NumuCutParameters::fSliceMaxPlane, NumuCutParameters::fSliceMinPlane, NumuCutParameters::fTrackCCE, NumuCutParameters::fTrackStart, NumuCutParameters::fTrackStop, NumuCutParameters::fVertexMaxW, NumuCutParameters::fVertexX, NumuCutParameters::fVertexY, NumuCutParameters::fVertexZ, LOG_DEBUG, and make_pair().

Referenced by ParametersStruct().

541 {
542 
543  std::map<std::string, std::pair<double, double> > comps;
544 
545  comps["NeutrinoE"] = std::make_pair(fParameters.fNeutrinoE, compCuts.fNeutrinoE );
546  comps["NDHadronicCal"] = std::make_pair(fParameters.fNDHadronicCal, compCuts.fNDHadronicCal );
547  comps["ReMIdVal"] = std::make_pair(fParameters.fReMIdVal, compCuts.fReMIdVal );
548  comps["QePIDVal"] = std::make_pair(fParameters.fQePIDVal, compCuts.fQePIDVal );
549  comps["QePIDNTracks"] = std::make_pair(fParameters.fQePIDNTracks, compCuts.fQePIDNTracks );
550  comps["SliceHits"] = std::make_pair(fParameters.fSliceHits, compCuts.fSliceHits );
551  comps["SliceContigPlanes"] = std::make_pair(fParameters.fSliceContigPlanes, compCuts.fSliceContigPlanes );
552  comps["SliceMaxPlane"] = std::make_pair(fParameters.fSliceMaxPlane, compCuts.fSliceMaxPlane );
553  comps["SliceMinPlane"] = std::make_pair(fParameters.fSliceMinPlane, compCuts.fSliceMinPlane );
554  comps["SliceCellsFromEdge"] = std::make_pair(fParameters.fSliceCellsFromEdge, compCuts.fSliceCellsFromEdge );
555  comps["PlanesToFront"] = std::make_pair(fParameters.fPlanesToFront, compCuts.fPlanesToFront );
556  comps["PlanesToBack"] = std::make_pair(fParameters.fPlanesToBack, compCuts.fPlanesToBack );
557  comps["CosRejKalFwdCell"] = std::make_pair(fParameters.fCosRejKalFwdCell, compCuts.fCosRejKalFwdCell );
558  comps["CosRejKalBakCell"] = std::make_pair(fParameters.fCosRejKalBakCell, compCuts.fCosRejKalBakCell );
559  comps["CosRejAngleKal"] = std::make_pair(fParameters.fCosRejAngleKal, compCuts.fCosRejAngleKal );
560  comps["CosRejCosFwdCell"] = std::make_pair(fParameters.fCosRejCosFwdCell, compCuts.fCosRejCosFwdCell );
561  comps["CosRejCosBakCell"] = std::make_pair(fParameters.fCosRejCosBakCell, compCuts.fCosRejCosBakCell );
562  comps["CosRejConCosPID"] = std::make_pair(fParameters.fCosRejConCosPID, compCuts.fCosRejConCosPID );
563  comps["CosRejKalFwdCellND"] = std::make_pair(fParameters.fCosRejKalFwdCellND, compCuts.fCosRejKalFwdCellND );
564  comps["CosRejKalBakCellND"] = std::make_pair(fParameters.fCosRejKalBakCellND, compCuts.fCosRejKalBakCellND );
565  comps["CosRejKalYPosAtTrans"] = std::make_pair(fParameters.fCosRejKalYPosAtTrans, compCuts.fCosRejKalYPosAtTrans);
566  comps["TrackStartZ"] = std::make_pair(fParameters.fTrackStart.Z(), compCuts.fTrackStart.Z() );
567  comps["TrackStopZ"] = std::make_pair(fParameters.fTrackStop.Z(), compCuts.fTrackStop.Z() );
568  comps["TrackCCE"] = std::make_pair(fParameters.fTrackCCE, compCuts.fTrackCCE );
569 
570  //Added 2017 ...
571  comps["fDistAllTop"] = std::make_pair(fParameters.fDistAllTop, compCuts.fDistAllTop);
572  comps["fDistAllBottom"] = std::make_pair(fParameters.fDistAllBottom, compCuts.fDistAllBottom);
573  comps["fDistAllWest"] = std::make_pair(fParameters.fDistAllWest, compCuts.fDistAllWest);
574  comps["fDistAllEast"] = std::make_pair(fParameters.fDistAllEast, compCuts.fDistAllEast);
575  comps["fDistAllFront"] = std::make_pair(fParameters.fDistAllFront, compCuts.fDistAllFront);
576  comps["fDistAllBack"] = std::make_pair(fParameters.fDistAllBack, compCuts.fDistAllBack);
577  comps["fCVNVal"] = std::make_pair(fParameters.fCVNVal, compCuts.fCVNVal);
578  //Added 2018 ...
579  comps["fCVN2017Val"] = std::make_pair(fParameters.fCVN2017Val, compCuts.fCVN2017Val);
580 
581  comps["fNumShowers"] = std::make_pair(fParameters.fNumShowers, compCuts.fNumShowers);
582  comps["fShowerNumXCell"] = std::make_pair(fParameters.fShowerNumXCell, compCuts.fShowerNumXCell);
583  comps["fShowerNumYCell"] = std::make_pair(fParameters.fShowerNumYCell, compCuts.fShowerNumYCell);
584  comps["fCosShowers"] = std::make_pair(fParameters.fCosShowers, compCuts.fCosShowers);
585  comps["fShowerDirX"] = std::make_pair(fParameters.fShowerDirX, compCuts.fShowerDirX);
586  comps["fShowerDirY"] = std::make_pair(fParameters.fShowerDirY, compCuts.fShowerDirY);
587  comps["fShowerDirZ"] = std::make_pair(fParameters.fShowerDirZ, compCuts.fShowerDirZ);
588  comps["fShowerLength"] = std::make_pair(fParameters.fProngLength, compCuts.fProngLength);
589  comps["fShowerCalE"] = std::make_pair(fParameters.fShowerCalE, compCuts.fShowerCalE);
590  comps["fFracShowerHits"] = std::make_pair(fParameters.fFracShowerHits, compCuts.fFracShowerHits);
591  comps["fShowerVertexX"] = std::make_pair(fParameters.fShowerVertexX, compCuts.fShowerVertexX);
592  comps["fShowerVertexY"] = std::make_pair(fParameters.fShowerVertexY, compCuts.fShowerVertexY);
593  comps["fShowerVertexZ"] = std::make_pair(fParameters.fShowerVertexZ, compCuts.fShowerVertexZ);
594  comps["fShowerEndX"] = std::make_pair(fParameters.fShowerEndX, compCuts.fShowerEndX);
595  comps["fShowerEndY"] = std::make_pair(fParameters.fShowerEndY, compCuts.fShowerEndY);
596  comps["fShowerEndZ"] = std::make_pair(fParameters.fShowerEndZ, compCuts.fShowerEndZ);
597  comps["fShowerMinX"] = std::make_pair(fParameters.fShowerMinX, compCuts.fShowerMinX);
598  comps["fShowerMinY"] = std::make_pair(fParameters.fShowerMinY, compCuts.fShowerMinY);
599  comps["fShowerMaxX"] = std::make_pair(fParameters.fShowerMaxX, compCuts.fShowerMaxX);
600  comps["fShowerMaxY"] = std::make_pair(fParameters.fShowerMaxY, compCuts.fShowerMaxY);
601 
602  comps["fShowerMinVtxZ"] = std::make_pair(fParameters.fShowerMinVtxZ, compCuts.fShowerMinVtxZ);
603  comps["fShowerMinEndZ"] = std::make_pair(fParameters.fShowerMinEndZ, compCuts.fShowerMinEndZ);
604  comps["fShowerMaxVtxZ"] = std::make_pair(fParameters.fShowerMaxVtxZ, compCuts.fShowerMaxVtxZ);
605  comps["fShowerMaxEndZ"] = std::make_pair(fParameters.fShowerMaxEndZ, compCuts.fShowerMaxEndZ);
606  comps["fShowerVtxDist"] = std::make_pair(fParameters.fShowerVtxDist, compCuts.fShowerVtxDist);
607  comps["fShowerPt"] = std::make_pair(fParameters.fShowerPt, compCuts.fShowerPt);
608  comps["fVertexX"] = std::make_pair(fParameters.fVertexX, compCuts.fVertexX);
609  comps["fVertexY"] = std::make_pair(fParameters.fVertexY, compCuts.fVertexY);
610  comps["fVertexZ"] = std::make_pair(fParameters.fVertexZ, compCuts.fVertexZ);
611  comps["fVertexMaxW"] = std::make_pair(fParameters.fVertexMaxW, compCuts.fVertexMaxW);
612 
613  ///--
614  comps["fOtherTrackMaxVtxZ"] = std::make_pair(fParameters.fOtherTrackMaxVtxZ, compCuts.fOtherTrackMaxVtxZ);
615  comps["fOtherTrackMaxEndZ"] = std::make_pair(fParameters.fOtherTrackMaxEndZ, compCuts.fOtherTrackMaxEndZ);
616 
617 
618 
619  double fracDiff = 0.;
620 
621  for(auto itr : comps){
622 
623  auto skimSR = itr.second;
624 
625  fracDiff = std::abs((skimSR.first - skimSR.second)/skimSR.first);
626  if( fracDiff > 1.e-3)
627  LOG_DEBUG("ParametersNumu")
628  << itr.first
629  << ": "
630  << skimSR.first
631  << " "
632  << skimSR.second
633  << " "
634  << fracDiff;
635  }
636 
637  return;
638 }
float fShowerMaxVtxZ
maximum Z position of all showers
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
float fShowerEndY
end of the primary shower
float fFracShowerHits
fraction of slice hits in the primary shower
TVector3 fTrackStop
track end position (cm)
float fShowerMaxY
max y for all shower end points
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
float fPlanesToFront
number of planes to the front of detector
float fDistAllFront
distance of all showers in slice from the front edge of detector
float fDistAllEast
distance of all showers in slice from the east edge of detector
float fNeutrinoE
neutrino energy
float fShowerMinY
min y for all shower end points
float fDistAllTop
distance of all showers in slice from the top edge of detector
float fSliceMaxPlane
maximum plane of the slice
float fVertexZ
vertex of the interaction
float fShowerEndX
end of the primary shower
float fShowerNumXCell
number of x cells in slice
float fCosShowers
cosine of angle between showers in slice
float fCVN2017Val
value of the Old (2017) CVN PID //Analysis 2018
float fVertexX
vertex of the interaction
float fOtherTrackMaxVtxZ
maximum Z position of non Best-RemID tracks
float fShowerMinEndZ
minimum Z position of all showers
float fSliceHits
hits in the slice
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:336
float abs(float number)
Definition: d0nt_math.hpp:39
float fSliceCellsFromEdge
minimum cells to edge of detector
float fDistAllBack
distance of all showers in slice from the back edge of detector
float fCosRejKalBakCell
just what it looks like
float fShowerMinX
min x for all shower end points
float fVertexY
vertex of the interaction
float fVertexMaxW
maximum w value of the vertex
float fShowerDirX
direction of the primary shower in slice
float fCVNVal
value of the CVN PID
float fShowerVertexY
vertex of the primary shower
float fNumShowers
number of showers in slice
float fCosRejKalYPosAtTrans
just what it looks like
std::vector< std::string > comps
float fShowerVtxDist
distance between the shower vertex and interaction vertex
float fNDHadronicCal
hadronic energy in the ND
float fShowerEndZ
end of the primary shower
float fShowerMinVtxZ
minimum Z position of all showers
float fShowerCalE
calorimetric energy in primary shower in slice
float fSliceContigPlanes
contiguous planes in slice
float fOtherTrackMaxEndZ
maximum Z position of non Best-RemID tracks
float fQePIDVal
value of QePId parameter
float fShowerMaxEndZ
maximum Z position of all showers
float fProngLength
length of largest prong in slice
float fTrackCCE
track CC energy
TVector3 fTrackStart
track starting position (cm)
float fQePIDNTracks
number of tracks for QePID
float fCosRejKalFwdCell
just what it looks like
float fDistAllWest
distance of all showers in slice from the west edge of detector
float fShowerVertexX
vertex of the primary shower
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fShowerNumYCell
number of y cells in slice
float fSliceMinPlane
minimum plane of the slice
Float_t e
Definition: plot.C:35
float fShowerPt
shower transverse momentum
float fShowerDirZ
direction of the primary shower in slice
double fReMIdVal
value of ReMId parameter
float fShowerMaxX
max x for all shower end points
float fShowerVertexZ
vertex of the primary shower
float fShowerDirY
direction of the primary shower in slice
float fPlanesToBack
number of planes to the back of the detector
TVector3 const& skim::ParametersNumu::CosmicTrackDir ( ) const
inline

Definition at line 143 of file ParametersNumu.h.

References NumuCutParameters::fCosmicTrackDir, and fParameters.

143 { return fParameters.fCosmicTrackDir; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 fCosmicTrackDir
TVector3 const& skim::ParametersNumu::CosmicTrackEarliestHitPos ( ) const
inline

Definition at line 141 of file ParametersNumu.h.

References NumuCutParameters::fCosmicTrackEarliestHitPos, and fParameters.

TVector3 fCosmicTrackEarliestHitPos
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::CosmicTrackLatestHitPos ( ) const
inline

Definition at line 142 of file ParametersNumu.h.

References NumuCutParameters::fCosmicTrackLatestHitPos, and fParameters.

TVector3 fCosmicTrackLatestHitPos
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::CosmicTrackStart ( ) const
inline

Definition at line 139 of file ParametersNumu.h.

References NumuCutParameters::fCosmicTrackStart, and fParameters.

139 { return fParameters.fCosmicTrackStart; }
TVector3 fCosmicTrackStart
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::CosmicTrackStop ( ) const
inline

Definition at line 140 of file ParametersNumu.h.

References NumuCutParameters::fCosmicTrackStop, and fParameters.

140 { return fParameters.fCosmicTrackStop; }
TVector3 fCosmicTrackStop
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosRejAngleKal ( ) const
inline
float const& skim::ParametersNumu::CosRejConCosPID ( ) const
inline
float const& skim::ParametersNumu::CosRejCosBakCell ( ) const
inline
float const& skim::ParametersNumu::CosRejCosDirScore ( ) const
inline

Definition at line 125 of file ParametersNumu.h.

References NumuCutParameters::fCosRejCosDirScore, and fParameters.

float fCosRejCosDirScore
difference between hough scores for timing fits of the cosmic track going forward and backwards ...
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosRejCosFwdCell ( ) const
inline
float const& skim::ParametersNumu::CosRejCosSpeed ( ) const
inline

Definition at line 124 of file ParametersNumu.h.

References NumuCutParameters::fCosRejCosSpeed, and fParameters.

124 { return fParameters.fCosRejCosSpeed; }
float fCosRejCosSpeed
inverse speed of the timing fit of the cosmic track
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosRejKalBakCell ( ) const
inline
float const& skim::ParametersNumu::CosRejKalBakCellND ( ) const
inline
float const& skim::ParametersNumu::CosRejKalFwdCell ( ) const
inline
float const& skim::ParametersNumu::CosRejKalFwdCellND ( ) const
inline
float const& skim::ParametersNumu::CosRejKalSpeed ( ) const
inline

Definition at line 123 of file ParametersNumu.h.

References NumuCutParameters::fCosRejKalSpeed, and fParameters.

123 { return fParameters.fCosRejKalSpeed; }
float fCosRejKalSpeed
inverse speed of the timing fit of the kalman track
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosRejKalYPosAtTrans ( ) const
inline

Definition at line 122 of file ParametersNumu.h.

References NumuCutParameters::fCosRejKalYPosAtTrans, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), skim::SelectionNumuSA::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

float fCosRejKalYPosAtTrans
just what it looks like
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosShowers ( ) const
inline

Definition at line 175 of file ParametersNumu.h.

References NumuCutParameters::fCosShowers, and fParameters.

175 { return fParameters.fCosShowers; }
float fCosShowers
cosine of angle between showers in slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int const& skim::ParametersNumu::CosTrackClosestEdge ( ) const
inline

Definition at line 150 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackClosestEdge, and fParameters.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackHits ( ) const
inline

Definition at line 146 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackHits, and fParameters.

146 { return fParameters.fCosTrackHits; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackMaxPlane ( ) const
inline

Definition at line 160 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackMaxPlane, and fParameters.

160 { return fParameters.fCosTrackMaxPlane; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackMaxTNS ( ) const
inline

Definition at line 158 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackMaxTNS, and fParameters.

158 { return fParameters.fCosTrackMaxTNS; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::CosTrackMaxXYZ ( ) const
inline

Definition at line 159 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackMaxXYZ, and fParameters.

159 { return fParameters.fCosTrackMaxXYZ; }
TVector3 fCosTrackMaxXYZ
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackMinPlane ( ) const
inline

Definition at line 157 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackMinPlane, and fParameters.

157 { return fParameters.fCosTrackMinPlane; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackMinTNS ( ) const
inline

Definition at line 155 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackMinTNS, and fParameters.

155 { return fParameters.fCosTrackMinTNS; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::CosTrackMinXYZ ( ) const
inline

Definition at line 156 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackMinXYZ, and fParameters.

156 { return fParameters.fCosTrackMinXYZ; }
TVector3 fCosTrackMinXYZ
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int const& skim::ParametersNumu::CosTrackNCellsFromEdge ( ) const
inline

Definition at line 149 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackNCellsFromEdge, and fParameters.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int const& skim::ParametersNumu::CosTrackNHitsNearEdge ( int  i) const
inline

Definition at line 151 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackNHitsNearEdge, fParameters, and MECModelEnuComparisons::i.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int fCosTrackNHitsNearEdge[10]
float const& skim::ParametersNumu::CosTrackStartTime ( ) const
inline

Definition at line 144 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackStartTime, and fParameters.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackStopTime ( ) const
inline

Definition at line 145 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackStopTime, and fParameters.

145 { return fParameters.fCosTrackStopTime; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackTotalADC ( ) const
inline

Definition at line 152 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackTotalADC, and fParameters.

152 { return fParameters.fCosTrackTotalADC; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackTotalCalorimetricEnergy ( ) const
inline

Definition at line 154 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackTotalCalorimetricEnergy, and fParameters.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fCosTrackTotalCalorimetricEnergy
float const& skim::ParametersNumu::CosTrackTotalGeV ( ) const
inline

Definition at line 153 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackTotalGeV, and fParameters.

153 { return fParameters.fCosTrackTotalGeV; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackXViewHits ( ) const
inline

Definition at line 147 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackXViewHits, and fParameters.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CosTrackYViewHits ( ) const
inline

Definition at line 148 of file ParametersNumu.h.

References NumuCutParameters::fCosTrackYViewHits, and fParameters.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CVN2017Value ( ) const
inline

Definition at line 198 of file ParametersNumu.h.

References NumuCutParameters::fCVN2017Val, and fParameters.

Referenced by skim::SelectionNumu2018::PassesSelection().

198 { return fParameters.fCVN2017Val; }
float fCVN2017Val
value of the Old (2017) CVN PID //Analysis 2018
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::CVNValue ( ) const
inline

Definition at line 197 of file ParametersNumu.h.

References NumuCutParameters::fCVNVal, and fParameters.

Referenced by skim::SelectionNumu2017::PassesSelection(), and skim::SelectionNumu2018::PassesSelection().

197 { return fParameters.fCVNVal; }
float fCVNVal
value of the CVN PID
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DiffLastFirstLiveDiblock ( ) const
inline

Definition at line 162 of file ParametersNumu.h.

References NumuCutParameters::fDiffLastFirstLiveDiblock, and fParameters.

float fDiffLastFirstLiveDiblock
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DistAllBack ( ) const
inline

Definition at line 170 of file ParametersNumu.h.

References NumuCutParameters::fDistAllBack, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

170 { return fParameters.fDistAllBack; }
float fDistAllBack
distance of all showers in slice from the back edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DistAllBottom ( ) const
inline

Definition at line 166 of file ParametersNumu.h.

References NumuCutParameters::fDistAllBottom, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

166 { return fParameters.fDistAllBottom; }
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DistAllEast ( ) const
inline

Definition at line 168 of file ParametersNumu.h.

References NumuCutParameters::fDistAllEast, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

168 { return fParameters.fDistAllEast; }
float fDistAllEast
distance of all showers in slice from the east edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DistAllFront ( ) const
inline

Definition at line 169 of file ParametersNumu.h.

References NumuCutParameters::fDistAllFront, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

169 { return fParameters.fDistAllFront; }
float fDistAllFront
distance of all showers in slice from the front edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DistAllTop ( ) const
inline

Definition at line 165 of file ParametersNumu.h.

References NumuCutParameters::fDistAllTop, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

165 { return fParameters.fDistAllTop; }
float fDistAllTop
distance of all showers in slice from the top edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::DistAllWest ( ) const
inline

Definition at line 167 of file ParametersNumu.h.

References NumuCutParameters::fDistAllWest, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

167 { return fParameters.fDistAllWest; }
float fDistAllWest
distance of all showers in slice from the west edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
std::pair< TVector3, TVector3 > skim::ParametersNumu::EarliestLatestHitPos ( rb::Track const &  track,
bool  cosmictrack 
)
private

Definition at line 820 of file ParametersNumu.cxx.

References geo::PlaneGeo::Cell(), rb::Cluster::Cell(), NumuCutParameters::fCosTrackClosestEdge, NumuCutParameters::fCosTrackNCellsFromEdge, NumuCutParameters::fCosTrackNHitsNearEdge, fParameters, NumuCutParameters::fTrackClosestEdge, NumuCutParameters::fTrackNCellsFromEdge, NumuCutParameters::fTrackNHitsNearEdge, geom(), MECModelEnuComparisons::i, geo::kX, geo::kY, std::min(), rb::Cluster::NCell(), geo::GeometryBase::Plane(), and rb::CellHit::TNS().

Referenced by ParametersNumu().

821 {
823 
824  float mintime = 1e6;
825  float maxtime = 0.001;
826  TVector3 mintimepos;//position of earliest hit in time
827  TVector3 maxtimepos;//position of latest hit in time
828 
829  size_t trackCellsFromEdge = 1e6;
830  int closestEdge = -5;
831 
832  for(unsigned int i = 0; i < track.NCell(); i++)
833  {
834  auto chit = track.Cell(i);
835  if(chit->TNS() < mintime){
836  mintime = chit->TNS();
837  double xyz[3];
838  geom->Plane(chit->Plane())->Cell(chit->Cell())->GetCenter(xyz);
839  mintimepos.SetXYZ(xyz[0], xyz[1], xyz[2]);
840  }
841  if (chit->TNS() > maxtime){
842  maxtime = chit->TNS();
843  double xyz[3];
844  geom->Plane(chit->Plane())->Cell(chit->Cell())->GetCenter(xyz);
845  maxtimepos.SetXYZ(xyz[0], xyz[1], xyz[2]);
846  }
847 
848  size_t cellsFromEdge = std::min((unsigned int)chit->Cell(), geom->Plane(chit->Plane())->Ncells() - 1 - chit->Cell());
849 
850  if( cellsFromEdge < trackCellsFromEdge ){
851  trackCellsFromEdge = cellsFromEdge;
852  if(chit->View() == geo::kX && cellsFromEdge == chit->Cell())closestEdge = 0;
853  else if(chit->View() == geo::kX && cellsFromEdge == geom->Plane(chit->Plane())->Ncells() - 1 - chit->Cell()) closestEdge = 1;
854  else if(chit->View() == geo::kY && cellsFromEdge == chit->Cell())closestEdge = 2;
855  else if(chit->View() == geo::kY && cellsFromEdge == geom->Plane(chit->Plane())->Ncells() - 1 - chit->Cell()) closestEdge = 3;
856  else closestEdge = -5;
857  }
858 
859  if(cosmictrack){
860  fParameters.fCosTrackNCellsFromEdge = trackCellsFromEdge;
861  fParameters.fCosTrackClosestEdge = closestEdge;
862  if(cellsFromEdge < 10) {
863  for(unsigned int i = 9; ( i >= cellsFromEdge && i < 10 ); i-=1) fParameters.fCosTrackNHitsNearEdge[i]++;
864  }
865  } else {
866  fParameters.fTrackNCellsFromEdge = trackCellsFromEdge;
867  fParameters.fTrackClosestEdge = closestEdge;
868  if(cellsFromEdge < 10) {
869  for(unsigned int i=9; ( i >= cellsFromEdge && i < 10 ); i-=1) fParameters.fTrackNHitsNearEdge[i]++;
870  }
871  }
872  }
873 
874  return std::pair<TVector3, TVector3> (mintimepos, maxtimepos);
875 }
int fTrackNHitsNearEdge[10]
const CellGeo * Cell(int icell) const
Definition: PlaneGeo.h:48
Vertical planes which measure X.
Definition: PlaneGeo.h:28
Definition: event.h:19
const PlaneGeo * Plane(unsigned int i) const
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
int fTrackClosestEdge
0:-x, 1:+x, 2:-y or 3:+y
void geom(int which=0)
Definition: geom.C:163
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
T min(const caf::Proxy< T > &a, T b)
int fCosTrackNHitsNearEdge[10]
float const& skim::ParametersNumu::FracShowerHits ( ) const
inline

Definition at line 179 of file ParametersNumu.h.

References NumuCutParameters::fFracShowerHits, and fParameters.

179 { return fParameters.fFracShowerHits; }
float fFracShowerHits
fraction of slice hits in the primary shower
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
void skim::ParametersNumu::GetDetectorEdges ( )
private

Definition at line 759 of file ParametersNumu.cxx.

References geo::PlaneGeo::Cell(), geo::GeometryBase::DetId(), fEdgeBackXZ, fEdgeBackYZ, fEdgeBottomYZ, fEdgeFrontXZ, fEdgeFrontYZ, fEdgeTopYZ, fEdgeXMinusXZ, fEdgeXPlusXZ, fNumCells, fNumDiblocks, geom(), geo::CellGeo::GetCenter(), novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, LOG_VERBATIM, and geo::GeometryBase::Plane().

Referenced by ParametersNumu().

760 {
762  double xyz1[3], xyz2[3];
763 
764  if(!(geom->DetId() == novadaq::cnv::kFARDET || geom->DetId() == novadaq::cnv::kNEARDET)) {
765  LOG_VERBATIM("ParametersNumu") << "UNKNOWN DETECTOR!!!";
766  fEdgeXPlusXZ = 0;
767  fEdgeXMinusXZ = 0;
768  fEdgeFrontXZ = 0;
769  fEdgeBackXZ = 0;
770  fEdgeTopYZ = 0;
771  fEdgeBottomYZ = 0;
772  fEdgeFrontYZ = 0;
773  fEdgeBackYZ = 0;
774  }
775 
776  // start with XZ view, which is easiest since z position does NOT change with cell number; this is odd plane numbers
777  geom->Plane(1)->Cell(0)->GetCenter(xyz1);
778  fEdgeFrontXZ = xyz1[2]-3.5; // the half width of the cell in Z is ~3.5 cm
779  geom->Plane(63)->Cell(0)->GetCenter(xyz2);
780  fEdgeXMinusXZ = (xyz1[0]+xyz2[0])/2.0 - 2.3; // Plane 0 is 'higher' than plane 63; this repeats for each diblock exactly. We don't want to worry about this though, so average it. We pretend things are actual boxes with right angles.
781  geom->Plane(1)->Cell(fNumCells)->GetCenter(xyz1); // cell 383 is most +x, cell 0 is most -X
782  geom->Plane(63)->Cell(fNumCells)->GetCenter(xyz2);
783  fEdgeXPlusXZ = (xyz1[0]+xyz2[0])/2.0 + 2.3; // 2.28 is approximate half width of cell here; again, round up slightly
784  geom->Plane((fNumDiblocks*64)-1)->Cell(0)->GetCenter(xyz1); // any cell in last plane will do for finding the back
785  fEdgeBackXZ = xyz1[2]+3.5;
786 
787  // now YZ view, which has Y AND Z changing with cell number for the same plane. The Z from cell 0 to cell 383 differs by about 2.5 cm.
788  // I'll average the Z values over a DCM to find the DCM edges. I never want a gap between a DCM edge and the detector edge, since that could unwittingly be considered 'good' even if the closest DCM is 'bad'. So, I'll use the DCMs that stick out the least to define the edge. This makes us 'lose' about 2 cm from parts of the edge at each end, but it's safest.
789 
790  geom->Plane(0)->Cell(0)->GetCenter(xyz1); // front bottom most cell
791  geom->Plane(0)->Cell(63)->GetCenter(xyz2); // front top cell of frontmost DCM
792  fEdgeFrontYZ = (xyz1[2]+xyz2[2])/2.0 - 3.5; // average the 2 to get the 'front'
793  geom->Plane(62)->Cell(0)->GetCenter(xyz2); // back most bottom cell of frontmost bottom DCM
794  fEdgeBottomYZ = (xyz1[1]+xyz2[1])/2.0 - 2.3; // reuse same point 1 for bottom calculation
795  geom->Plane(0)->Cell(fNumCells)->GetCenter(xyz1); // topmost frontmost cell, in topmost frontmost DCM
796  geom->Plane(62)->Cell(fNumCells)->GetCenter(xyz2); // topmost farther back cell in topmost frontmost DCM
797  fEdgeTopYZ = (xyz1[1]+xyz2[1])/2.0 + 2.3; // top edge
798  geom->Plane((fNumDiblocks*64)-2)->Cell(fNumCells-63)->GetCenter(xyz1); // frontmost topmost cell in backmost topmost DCM
799  geom->Plane((fNumDiblocks*64)-2)->Cell(fNumCells)->GetCenter(xyz2); // backmost topmost cell, in backmost topmost DCM
800  fEdgeBackYZ = (xyz1[2]+xyz2[2])/2.0 + 3.5; // back edge
801 
802  // Muon catcher. TODO: Make these more precise
803 
804  // Based on the gdml
805  //fMCEdge = 199.65;
806  //fMCTop = 75.3;
807  //fMCFront = 1277.65;
808  //fMCBack = 1577.54;
809 
810  // based on the event display
811  //fMCEdge = 190;
812  //fMCTop = 67.5;
813  //fMCFront = 1278.4;
814  //fMCBack = 1585;
815  }
void GetCenter(double *xyz, double localz=0.0) const
Definition: CellGeo.cxx:159
const CellGeo * Cell(int icell) const
Definition: PlaneGeo.h:48
const PlaneGeo * Plane(unsigned int i) const
Far Detector at Ash River, MN.
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Near Detector in the NuMI cavern.
void geom(int which=0)
Definition: geom.C:163
#define LOG_VERBATIM(category)
float const& skim::ParametersNumu::MaxOtherTrackStartZ ( ) const
inline

Definition at line 204 of file ParametersNumu.h.

References NumuCutParameters::fOtherTrackMaxVtxZ, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

float fOtherTrackMaxVtxZ
maximum Z position of non Best-RemID tracks
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::MaxOtherTrackStopZ ( ) const
inline

Definition at line 205 of file ParametersNumu.h.

References NumuCutParameters::fOtherTrackMaxEndZ, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

float fOtherTrackMaxEndZ
maximum Z position of non Best-RemID tracks
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::NDHadronicCal ( ) const
inline

Definition at line 101 of file ParametersNumu.h.

References NumuCutParameters::fNDHadronicCal, and fParameters.

Referenced by skim::EvaluatorNumu::FillHistograms(), and skim::SelectionNumuSA::KeepNumuNearDetectorSlice().

101 { return fParameters.fNDHadronicCal; }
float fNDHadronicCal
hadronic energy in the ND
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::NeutrinoE ( ) const
inline

Definition at line 100 of file ParametersNumu.h.

References NumuCutParameters::fNeutrinoE, and fParameters.

Referenced by skim::EvaluatorNumu::FillHistograms(), skim::SelectionNumuSA::PassesSelection(), skim::SelectionNumu2018::PassesSelection(), and skim::SelectionNumu2017::PassesSelection().

100 { return fParameters.fNeutrinoE; }
float fNeutrinoE
neutrino energy
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::NueCosRejPngPtp ( ) const
inline

Definition at line 201 of file ParametersNumu.h.

References NumuCutParameters::fNueCosRejPngPtp, and fParameters.

Referenced by skim::SelectionNumu2018::KeepNumuFarDetectorSlice().

201 { return fParameters.fNueCosRejPngPtp; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::NumShowers ( ) const
inline

Definition at line 172 of file ParametersNumu.h.

References NumuCutParameters::fNumShowers, and fParameters.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

172 { return fParameters.fNumShowers; }
float fNumShowers
number of showers in slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::NumShowersLID ( ) const
inline

Definition at line 195 of file ParametersNumu.h.

References NumuCutParameters::fNumShowersLID, and fParameters.

195 { return fParameters.fNumShowersLID; }
float fNumShowersLID
size of showerLIDs in a slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
NumuCutParameters const& skim::ParametersNumu::ParametersStruct ( ) const
inline

Definition at line 208 of file ParametersNumu.h.

References Compare(), fParameters, msf_helper::o, and operator<<.

Referenced by skim::operator<<().

208 { return fParameters; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::PlanesToBack ( ) const
inline

Definition at line 113 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fPlanesToBack.

Referenced by skim::EvaluatorNumu::FillHistograms(), skim::SelectionNumuSA::KeepNumuFarDetectorSlice(), skim::SelectionNumu2018::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2017::KeepNumuFarDetectorSlice().

113 { return fParameters.fPlanesToBack; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fPlanesToBack
number of planes to the back of the detector
float const& skim::ParametersNumu::PlanesToFront ( ) const
inline

Definition at line 112 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fPlanesToFront.

Referenced by skim::EvaluatorNumu::FillHistograms(), skim::SelectionNumuSA::KeepNumuFarDetectorSlice(), skim::SelectionNumu2018::KeepNumuFarDetectorSlice(), and skim::SelectionNumu2017::KeepNumuFarDetectorSlice().

112 { return fParameters.fPlanesToFront; }
float fPlanesToFront
number of planes to the front of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float skim::ParametersNumu::ProjectDistToEdge ( TVector3  Pos,
TVector3  Dir 
)
private

Definition at line 698 of file ParametersNumu.cxx.

References fEdgeBackYZ, fEdgeBottomYZ, fEdgeFrontYZ, fEdgeTopYZ, fEdgeXMinusXZ, fEdgeXPlusXZ, LOG_VERBATIM, and cet::sqlite::max().

699 {
700 
701  // float EdgeTop = 780;
702  // float EdgeBottom = -780;
703  // float EdgeFront = 7800;
704  // float EdgeBack = 0;
705  // float EdgeWest = -780;
706  // float EdgeEast = 780;
707 
708  float MinDistToEdge = std::numeric_limits<float>::max();
709  /*LOG_VERBATIM("ParametersNumu") << "Calculating projections";
710  LOG_VERBATIM("ParametersNumu") << "X edges: " << fEdgeXMinusXZ << ", " << fEdgeXPlusXZ;
711  LOG_VERBATIM("ParametersNumu")<< "Y edges: " << fEdgeBottomYZ << ", " << fEdgeTopYZ;
712  LOG_VERBATIM("ParametersNumu")<< "Z edges: " << fEdgeBackYZ << ", " << fEdgeFrontYZ;
713  LOG_VERBATIM("ParametersNumu")<< "(not " << fEdgeBackXZ << ", " << fEdgeFrontXZ << ")";
714  LOG_VERBATIM("ParametersNumu") << "Dir(X,Y,Z): " << Dir.X() << ", " << Dir.Y() << ", " << Dir.Z() ;
715  LOG_VERBATIM("ParametersNumu") << "Pos(X,Y,Z): " << Pos.X() << ", " << Pos.Y() << ", " << Pos.Z() ;*/
716 
717  if(Pos.X() > fEdgeXPlusXZ || Pos.X() < fEdgeXMinusXZ ||
718  Pos.Y() > fEdgeTopYZ || Pos.Y() < fEdgeBottomYZ ||
719  Pos.Z() > fEdgeBackYZ || Pos.Z() < fEdgeFrontYZ)
720  {
721  LOG_VERBATIM("ParametersNumu") << "Pos out of range, return -99999";
722  return -99999;
723  }
724 
725  if(Dir.Z() != 0)
726  {
727  MinDistToEdge = ( fEdgeBackYZ - Pos.Z() ) / Dir.Z(); //distance to back of detector
728  LOG_VERBATIM("ParametersNumu") << "Z dist to back = " << MinDistToEdge << "\t or \t";
729  if(MinDistToEdge < 0)MinDistToEdge = ( fEdgeFrontYZ - Pos.Z() ) /Dir.Z(); //if that would involve moving backwards, use the distance to the front of the detector
730  LOG_VERBATIM("ParametersNumu") << ( fEdgeFrontYZ - Pos.Z() ) /Dir.Z() ;
731  }
732 
733  if(Dir.Y() != 0)
734  {
735  float YDist = ( fEdgeTopYZ - Pos.Y() ) / Dir.Y();
736  LOG_VERBATIM("ParametersNumu") << "Y dist to top =" << YDist << "\t or \t";
737  if(YDist < 0) YDist = ( fEdgeBottomYZ - Pos.Y() ) / Dir.Y();
738  LOG_VERBATIM("ParametersNumu") << ( fEdgeBottomYZ - Pos.Y() ) / Dir.Y() ;
739  if(YDist < MinDistToEdge) MinDistToEdge = YDist;
740  }
741 
742  if(Dir.X() != 0)
743  {
744  float XDist = ( fEdgeXPlusXZ - Pos.X() ) / Dir.X();
745  LOG_VERBATIM("ParametersNumu") << "X dist to East = " << XDist << "\t or \t";
746  if(XDist < 0) XDist = ( fEdgeXMinusXZ - Pos.X() ) / Dir.X();
747  LOG_VERBATIM("ParametersNumu") << ( fEdgeXMinusXZ - Pos.X() ) / Dir.X() ;
748  if(XDist < MinDistToEdge) MinDistToEdge = XDist;
749  }
750 
751  if(MinDistToEdge==99999 || MinDistToEdge < 0)MinDistToEdge = -99999;
752  LOG_VERBATIM("ParametersNumu") << "MinDist = " << MinDistToEdge ;
753  return MinDistToEdge;
754 
755  }
ush Pos
Definition: deflate.h:89
#define LOG_VERBATIM(category)
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
float const& skim::ParametersNumu::ProngLength ( ) const
inline

Definition at line 176 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fProngLength.

176 { return fParameters.fProngLength; }
float fProngLength
length of largest prong in slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::QePIDNTracks ( ) const
inline

Definition at line 104 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fQePIDNTracks.

Referenced by skim::EvaluatorNumu::FillHistograms(), and skim::SelectionNumuSA::PassesSelection().

104 { return fParameters.fQePIDNTracks; }
float fQePIDNTracks
number of tracks for QePID
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::QePIDValue ( ) const
inline

Definition at line 103 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fQePIDVal.

Referenced by skim::EvaluatorNumu::FillHistograms(), and skim::SelectionNumuSA::PassesSelection().

103 { return fParameters.fQePIDVal; }
float fQePIDVal
value of QePId parameter
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
double const& skim::ParametersNumu::ReMIdValue ( ) const
inline

Definition at line 102 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fReMIdVal.

Referenced by skim::EvaluatorNumu::FillHistograms(), skim::SelectionNumuSA::PassesSelection(), skim::SelectionNumu2018::PassesSelection(), and skim::SelectionNumu2017::PassesSelection().

102 { return fParameters.fReMIdVal; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
double fReMIdVal
value of ReMId parameter
float const& skim::ParametersNumu::ShowerCalE ( ) const
inline

Definition at line 177 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerCalE.

177 { return fParameters.fShowerCalE; }
float fShowerCalE
calorimetric energy in primary shower in slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::ShowerDir ( ) const
inline

Definition at line 180 of file ParametersNumu.h.

References fShowerDir.

180 { return fShowerDir; }
TVector3 const& skim::ParametersNumu::ShowerEnd ( ) const
inline

Definition at line 181 of file ParametersNumu.h.

References fShowerEnd.

181 { return fShowerEnd; }
float const& skim::ParametersNumu::ShowerMaxEndZ ( ) const
inline

Definition at line 192 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMaxEndZ.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

192 { return fParameters.fShowerMaxEndZ; }
float fShowerMaxEndZ
maximum Z position of all showers
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerMaxVtxZ ( ) const
inline

Definition at line 191 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMaxVtxZ.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

191 { return fParameters.fShowerMaxVtxZ; }
float fShowerMaxVtxZ
maximum Z position of all showers
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerMaxX ( ) const
inline

Definition at line 187 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMaxX.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

187 { return fParameters.fShowerMaxX; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fShowerMaxX
max x for all shower end points
float const& skim::ParametersNumu::ShowerMaxY ( ) const
inline

Definition at line 188 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMaxY.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

188 { return fParameters.fShowerMaxY; }
float fShowerMaxY
max y for all shower end points
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerMinEndZ ( ) const
inline

Definition at line 190 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMinEndZ.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

190 { return fParameters.fShowerMinEndZ; }
float fShowerMinEndZ
minimum Z position of all showers
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerMinVtxZ ( ) const
inline

Definition at line 189 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMinVtxZ.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

189 { return fParameters.fShowerMinVtxZ; }
float fShowerMinVtxZ
minimum Z position of all showers
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerMinX ( ) const
inline

Definition at line 185 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMinX.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

185 { return fParameters.fShowerMinX; }
float fShowerMinX
min x for all shower end points
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerMinY ( ) const
inline

Definition at line 186 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerMinY.

Referenced by skim::SelectionNumu2017::KeepNumuNearDetectorSlice(), and skim::SelectionNumu2018::KeepNumuNearDetectorSlice().

186 { return fParameters.fShowerMinY; }
float fShowerMinY
min y for all shower end points
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerNumXCell ( ) const
inline

Definition at line 173 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerNumXCell.

173 { return fParameters.fShowerNumXCell; }
float fShowerNumXCell
number of x cells in slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::ShowerNumYCell ( ) const
inline

Definition at line 174 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerNumYCell.

174 { return fParameters.fShowerNumYCell; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fShowerNumYCell
number of y cells in slice
float const& skim::ParametersNumu::ShowerPt ( ) const
inline

Definition at line 184 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerPt.

184 { return fParameters.fShowerPt; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fShowerPt
shower transverse momentum
float const& skim::ParametersNumu::ShowerTotalE ( ) const
inline

Definition at line 178 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerTotalE.

178 { return fParameters.fShowerTotalE; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float fShowerTotalE
TotalE energy in primary shower in slice.
TVector3 const& skim::ParametersNumu::ShowerVertex ( ) const
inline

Definition at line 182 of file ParametersNumu.h.

References fShowerVertex.

182 { return fShowerVertex; }
float const& skim::ParametersNumu::ShowerVtxDist ( ) const
inline

Definition at line 183 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fShowerVtxDist.

183 { return fParameters.fShowerVtxDist; }
float fShowerVtxDist
distance between the shower vertex and interaction vertex
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::SliceCellsFromEdge ( ) const
inline

Definition at line 106 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fSliceCellsFromEdge.

Referenced by skim::EvaluatorNumu::FillHistograms(), and skim::SelectionNumuSA::PassesSelection().

float fSliceCellsFromEdge
minimum cells to edge of detector
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::SliceClosestEdge ( ) const
inline

Definition at line 107 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fSliceClosestEdge.

107 { return fParameters.fSliceClosestEdge; }
float fSliceClosestEdge
0:-x, 1:+x, 2:-y or 3:+y
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::SliceContigPlanes ( ) const
inline

Definition at line 109 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fSliceContigPlanes.

Referenced by skim::EvaluatorNumu::FillHistograms(), skim::SelectionNumuSA::PassesSelection(), skim::SelectionNumu2018::PassesSelection(), and skim::SelectionNumu2017::PassesSelection().

float fSliceContigPlanes
contiguous planes in slice
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::SliceHits ( ) const
inline
float const& skim::ParametersNumu::SliceMaxPlane ( ) const
inline
float const& skim::ParametersNumu::SliceMinPlane ( ) const
inline
int const& skim::ParametersNumu::SliceNHitsNearEdge ( int  i) const
inline

Definition at line 108 of file ParametersNumu.h.

References fParameters, NumuCutParameters::fSliceNHitsNearEdge, and MECModelEnuComparisons::i.

108 { return fParameters.fSliceNHitsNearEdge[i]; }
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int fSliceNHitsNearEdge[10]
fSliceNHitsNearEdge[i] = Number of hits within i cells of the x or y edges
float const& skim::ParametersNumu::TrackCCE ( ) const
inline

Definition at line 138 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackCCE.

Referenced by skim::SelectionNumu2017::PassesSelection(), skim::SelectionNumuSA::PassesSelection(), and skim::SelectionNumu2018::PassesSelection().

138 { return fParameters.fTrackCCE; }
float fTrackCCE
track CC energy
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int const& skim::ParametersNumu::TrackClosestEdge ( ) const
inline

Definition at line 135 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackClosestEdge.

135 { return fParameters.fTrackClosestEdge; }
int fTrackClosestEdge
0:-x, 1:+x, 2:-y or 3:+y
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::TrackDir ( ) const
inline

Definition at line 137 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackDir.

137 { return fParameters.fTrackDir; }
TVector3 fTrackDir
track direction (unit vector) at start point
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::TrackEarliestHitPos ( ) const
inline

Definition at line 130 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackEarliestHitPos.

TVector3 fTrackEarliestHitPos
position (cm) or track&#39;s earliest hit in time
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::TrackLatestHitPos ( ) const
inline

Definition at line 131 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackLatestHitPos.

TVector3 fTrackLatestHitPos
position (cm) or track&#39;s latest hit in time
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int const& skim::ParametersNumu::TrackNCellsFromEdge ( ) const
inline

Definition at line 134 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackNCellsFromEdge.

NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
int const& skim::ParametersNumu::TrackNHitsNearEdge ( int  i) const
inline

Definition at line 136 of file ParametersNumu.h.

References fParameters, NumuCutParameters::fTrackNHitsNearEdge, and MECModelEnuComparisons::i.

136 { return fParameters.fTrackNHitsNearEdge[i]; }
int fTrackNHitsNearEdge[10]
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
TVector3 const& skim::ParametersNumu::TrackStart ( ) const
inline

Definition at line 126 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackStart.

126 { return fParameters.fTrackStart; }
TVector3 fTrackStart
track starting position (cm)
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::TrackStartTime ( ) const
inline

Definition at line 132 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackStartTime.

132 { return fParameters.fTrackStartTime; }
float fTrackStartTime
track starting (ns)
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::TrackStartZ ( ) const
inline
TVector3 const& skim::ParametersNumu::TrackStop ( ) const
inline

Definition at line 127 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackStop.

127 { return fParameters.fTrackStop; }
TVector3 fTrackStop
track end position (cm)
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::TrackStopTime ( ) const
inline

Definition at line 133 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fTrackStopTime.

133 { return fParameters.fTrackStopTime; }
float fTrackStopTime
track end time (ns)
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection
float const& skim::ParametersNumu::TrackStopZ ( ) const
inline
TVector3 const& skim::ParametersNumu::Vertex ( ) const
inline

Definition at line 193 of file ParametersNumu.h.

References fVertex.

193 { return fVertex; }
float const& skim::ParametersNumu::VertexMaxW ( ) const
inline

Definition at line 194 of file ParametersNumu.h.

References fParameters, and NumuCutParameters::fVertexMaxW.

194 { return fParameters.fVertexMaxW; }
float fVertexMaxW
maximum w value of the vertex
NumuCutParameters fParameters
the relevant parameters to cut on for a numu selection

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  o,
skim::ParametersNumu const &  p 
)
friend

Definition at line 649 of file ParametersNumu.cxx.

Referenced by ParametersStruct().

650  {
651  o
652  << "\nBestPIDTrack\t" << p.ParametersStruct().fBestPIDTrack
653  << "\nNeutrinoE\t" << p.ParametersStruct().fNeutrinoE
654  << "\nNDHadronicCal\t" << p.ParametersStruct().fNDHadronicCal
655  << "\nReMIdVal\t" << p.ParametersStruct().fReMIdVal
656  << "\nQePIDVal\t" << p.ParametersStruct().fQePIDVal
657  << "\nQePIDNTracks\t" << p.ParametersStruct().fQePIDNTracks
658  << "\nSliceHits\t" << p.ParametersStruct().fSliceHits
659  << "\nSliceContigPlanes\t" << p.ParametersStruct().fSliceContigPlanes
660  << "\nSliceMaxPlane\t" << p.ParametersStruct().fSliceMaxPlane
661  << "\nSliceMinPlane\t" << p.ParametersStruct().fSliceMinPlane
662  << "\nSliceCellsFromEdge\t" << p.ParametersStruct().fSliceCellsFromEdge
663  << "\nPlanesToFront\t" << p.ParametersStruct().fPlanesToFront
664  << "\nPlanesToBack\t" << p.ParametersStruct().fPlanesToBack
665  << "\nCosRejKalFwdCell\t" << p.ParametersStruct().fCosRejKalFwdCell
666  << "\nCosRejKalBakCell\t" << p.ParametersStruct().fCosRejKalBakCell
667  << "\nCosRejAngleKal\t" << p.ParametersStruct().fCosRejAngleKal
668  << "\nCosRejCosBakCell\t" << p.ParametersStruct().fCosRejCosBakCell
669  << "\nCosRejCosFwdCell\t" << p.ParametersStruct().fCosRejCosFwdCell
670  << "\nCosRejConCosPID\t" << p.ParametersStruct().fCosRejConCosPID
671  << "\nCosRejKalBakCellND\t" << p.ParametersStruct().fCosRejKalBakCellND
672  << "\nCosRejKalFwdCellND\t" << p.ParametersStruct().fCosRejKalFwdCellND
673  << "\nCosRejKalPosAtTrans\t" << p.ParametersStruct().fCosRejKalYPosAtTrans
674  //<< "\nTrackStartZ\t" << p.ParametersStruct().fTrackStartZ
675  //<< "\nTrackStopZ\t" << p.ParametersStruct().fTrackStopZ
676  << "\nTrackStart\tx: " << p.ParametersStruct().fTrackStart.X() << " y: " << p.ParametersStruct().fTrackStart.Y() << " z: " << p.ParametersStruct().fTrackStart.Z()
677  << "\nTrackStop\tx: " << p.ParametersStruct().fTrackStop.X() << " y: " << p.ParametersStruct().fTrackStop.Y() << " z: " << p.ParametersStruct().fTrackStop.Z()
678  << "\nTrackDir\tx: " << p.ParametersStruct().fTrackDir.X() << " y: " << p.ParametersStruct().fTrackDir.Y() << " z: " << p.ParametersStruct().fTrackDir.Z()
679  << "\nTrackCCE\t" << p.ParametersStruct().fTrackCCE //;
680  // Added 2017
681  << "\nfDistAllTop " << p.ParametersStruct().fDistAllTop
682  << "\nfDistAllBottom " << p.ParametersStruct().fDistAllBottom
683  << "\nfDistAllWest " << p.ParametersStruct().fDistAllWest
684  << "\nfDistAllEast " << p.ParametersStruct().fDistAllEast
685  << "\nfDistAllFront " << p.ParametersStruct().fDistAllFront
686  << "\nfDistAllBack " << p.ParametersStruct().fDistAllBack
687  << "\nfCVNVal " << p.ParametersStruct().fCVNVal
688  << "\nfNueCosRejPngPtp "<< p.ParametersStruct().fNueCosRejPngPtp
689  // Added 2018
690  << "\nfCVN2017Val " << p.ParametersStruct().fCVN2017Val;
691  return o;
692  }
const char * p
Definition: xmltok.h:285

Member Data Documentation

double skim::ParametersNumu::fEdgeBackXZ
private

Definition at line 235 of file ParametersNumu.h.

Referenced by GetDetectorEdges().

double skim::ParametersNumu::fEdgeBackYZ
private

Definition at line 239 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), and ProjectDistToEdge().

double skim::ParametersNumu::fEdgeBottomYZ
private

Definition at line 237 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), and ProjectDistToEdge().

double skim::ParametersNumu::fEdgeFrontXZ
private

Definition at line 234 of file ParametersNumu.h.

Referenced by GetDetectorEdges().

double skim::ParametersNumu::fEdgeFrontYZ
private

Definition at line 238 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), and ProjectDistToEdge().

double skim::ParametersNumu::fEdgeTopYZ
private

Definition at line 236 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), and ProjectDistToEdge().

double skim::ParametersNumu::fEdgeXMinusXZ
private

Definition at line 233 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), ParametersNumu(), and ProjectDistToEdge().

double skim::ParametersNumu::fEdgeXPlusXZ
private

Definition at line 232 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), ParametersNumu(), and ProjectDistToEdge().

double skim::ParametersNumu::fNumCells
private

Definition at line 240 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), and ParametersNumu().

double skim::ParametersNumu::fNumDiblocks
private

Definition at line 241 of file ParametersNumu.h.

Referenced by GetDetectorEdges(), and ParametersNumu().

NumuCutParameters skim::ParametersNumu::fParameters
private

the relevant parameters to cut on for a numu selection

Definition at line 219 of file ParametersNumu.h.

Referenced by AllHits(), BestPIDTrack(), Compare(), CosmicTrackDir(), CosmicTrackEarliestHitPos(), CosmicTrackLatestHitPos(), CosmicTrackStart(), CosmicTrackStop(), CosRejAngleKal(), CosRejConCosPID(), CosRejCosBakCell(), CosRejCosDirScore(), CosRejCosFwdCell(), CosRejCosSpeed(), CosRejKalBakCell(), CosRejKalBakCellND(), CosRejKalFwdCell(), CosRejKalFwdCellND(), CosRejKalSpeed(), CosRejKalYPosAtTrans(), CosShowers(), CosTrackClosestEdge(), CosTrackHits(), CosTrackMaxPlane(), CosTrackMaxTNS(), CosTrackMaxXYZ(), CosTrackMinPlane(), CosTrackMinTNS(), CosTrackMinXYZ(), CosTrackNCellsFromEdge(), CosTrackNHitsNearEdge(), CosTrackStartTime(), CosTrackStopTime(), CosTrackTotalADC(), CosTrackTotalCalorimetricEnergy(), CosTrackTotalGeV(), CosTrackXViewHits(), CosTrackYViewHits(), CVN2017Value(), CVNValue(), DiffLastFirstLiveDiblock(), DistAllBack(), DistAllBottom(), DistAllEast(), DistAllFront(), DistAllTop(), DistAllWest(), EarliestLatestHitPos(), FracShowerHits(), MaxOtherTrackStartZ(), MaxOtherTrackStopZ(), NDHadronicCal(), NeutrinoE(), NueCosRejPngPtp(), NumShowers(), NumShowersLID(), ParametersNumu(), ParametersStruct(), PlanesToBack(), PlanesToFront(), ProngLength(), QePIDNTracks(), QePIDValue(), ReMIdValue(), ShowerCalE(), ShowerMaxEndZ(), ShowerMaxVtxZ(), ShowerMaxX(), ShowerMaxY(), ShowerMinEndZ(), ShowerMinVtxZ(), ShowerMinX(), ShowerMinY(), ShowerNumXCell(), ShowerNumYCell(), ShowerPt(), ShowerTotalE(), ShowerVtxDist(), SliceCellsFromEdge(), SliceClosestEdge(), SliceContigPlanes(), SliceHits(), SliceMaxPlane(), SliceMinPlane(), SliceNHitsNearEdge(), TrackCCE(), TrackClosestEdge(), TrackDir(), TrackEarliestHitPos(), TrackLatestHitPos(), TrackNCellsFromEdge(), TrackNHitsNearEdge(), TrackStart(), TrackStartTime(), TrackStartZ(), TrackStop(), TrackStopTime(), TrackStopZ(), and VertexMaxW().

TVector3 skim::ParametersNumu::fShowerDir
private

Definition at line 227 of file ParametersNumu.h.

Referenced by ParametersNumu(), and ShowerDir().

TVector3 skim::ParametersNumu::fShowerEnd
private

Definition at line 228 of file ParametersNumu.h.

Referenced by ParametersNumu(), and ShowerEnd().

TVector3 skim::ParametersNumu::fShowerVertex
private

Definition at line 229 of file ParametersNumu.h.

Referenced by ParametersNumu(), and ShowerVertex().

TVector3 skim::ParametersNumu::fVertex
private

Definition at line 230 of file ParametersNumu.h.

Referenced by ParametersNumu(), and Vertex().


The documentation for this class was generated from the following files: