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

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

Inheritance diagram for skim::ParametersNue:
skim::Parameters

Public Member Functions

 ParametersNue ()
 
 ParametersNue (rb::Cluster const &slice, rb::Vertex const &vertex, cosrej::NueCosRej const &cosrej, std::vector< rb::Shower const * > &showers, std::vector< rb::Prong const * > &prongs, std::vector< slid::ShowerLID const * > &slids, slid::EventLID const &elid, lem::PIDDetails const &lem, cvn::Result const &cvn, presel::Veto const &nueveto)
 
 ParametersNue (rb::Cluster const &slice, rb::Vertex const &vertex, cosrej::NueCosRej const &cosrej, std::vector< rb::Shower const * > &showers, std::vector< rb::Prong const * > &prongs, std::vector< slid::ShowerLID const * > &slids, std::map< std::string, float > closestsliceinfo, slid::EventLID const &elid, cvn::Result const &cvn, presel::Veto const &nueveto)
 
virtual ~ParametersNue ()
 
float const & NumPlane () const
 
float const & PlanesToFront () const
 
float const & CellsPerPlane () const
 
float const & NumXCell () const
 
float const & NumYCell () const
 
float const & SliceHits () const
 
float const & HitAsymmetry () 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
 
float const & SliceMinPlane () const
 
TVector3 const & Vertex () const
 
float const & VertexMaxW () const
 
float const & CalorimetricE () const
 
float const & SliceTotalE () const
 
float const & NueEnergy () const
 
float const & MinWestDist () const
 
float const & MinEastDist () const
 
float const & MinBotDist () const
 
float const & MinTopDist () const
 
float const & MinFrontDist () const
 
float const & MinBackDist () 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
 
bool const & VetoKeepNue () const
 
float const & SparsenessAsymm () const
 
float const & SparsenessAsymmSlice () const
 
float const & LIDVal () const
 
float const & LEMVal () const
 
float const & CVNVal () const
 
float const & NumShowersLID () const
 
float const & ClosestSliceTime () const
 
float const & ClosestSliceDistFromTop () const
 
float const & ClosestSliceMinDist () const
 
float const & CosPIDContain () const
 
NueCutParameters const & ParametersStruct () const
 
float SANueRecoE (float rawEM, float rawHA)
 
void Compare (NueCutParameters const &compCuts)
 

Private Attributes

art::ServiceHandle< geo::LiveGeometryfLiveGeom
 the LiveGeometry service More...
 
art::ServiceHandle< nova::dbi::RunHistoryServicefRunHistory
 the RunHistory service More...
 
NueCutParameters fParameters
 
TVector3 fShowerDir
 
TVector3 fShowerEnd
 
TVector3 fShowerVertex
 
TVector3 fVertex
 

Friends

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

Detailed Description

Definition at line 34 of file ParametersNue.h.

Constructor & Destructor Documentation

skim::ParametersNue::ParametersNue ( )

Definition at line 15 of file ParametersNue.cxx.

16 {
17 
18 }
skim::ParametersNue::ParametersNue ( rb::Cluster const &  slice,
rb::Vertex const &  vertex,
cosrej::NueCosRej const &  cosrej,
std::vector< rb::Shower const * > &  showers,
std::vector< rb::Prong const * > &  prongs,
std::vector< slid::ShowerLID const * > &  slids,
slid::EventLID const &  elid,
lem::PIDDetails const &  lem,
cvn::Result const &  cvn,
presel::Veto const &  nueveto 
)

Definition at line 22 of file ParametersNue.cxx.

References std::abs(), rb::Cluster::CalorimetricEnergy(), release_diff::diff, febshutoff_auto::end, rb::Cluster::ExtentPlane(), NueCutParameters::fCalorimetricE, NueCutParameters::fCellsPerPlane, NueCutParameters::fCosShowers, NueCutParameters::fCVNVal, NueCutParameters::fDistAllBack, NueCutParameters::fDistAllBottom, NueCutParameters::fDistAllEast, NueCutParameters::fDistAllFront, NueCutParameters::fDistAllTop, NueCutParameters::fDistAllWest, NueCutParameters::fFracShowerHits, NueCutParameters::fHitAsymmetry, NueCutParameters::fLEMVal, NueCutParameters::fLIDVal, NueCutParameters::fMinBackDist, NueCutParameters::fMinBotDist, NueCutParameters::fMinEastDist, NueCutParameters::fMinFrontDist, NueCutParameters::fMinTopDist, NueCutParameters::fMinWestDist, NueCutParameters::fNueEnergy, NueCutParameters::fNumPlane, NueCutParameters::fNumShowers, NueCutParameters::fNumShowersLID, NueCutParameters::fNumXCell, NueCutParameters::fNumYCell, cvn::Result::fOutput, fParameters, NueCutParameters::fPlanesToFront, NueCutParameters::fProngLength, fRunHistory, NueCutParameters::fShowerCalE, fShowerDir, NueCutParameters::fShowerDirX, NueCutParameters::fShowerDirY, NueCutParameters::fShowerDirZ, fShowerEnd, NueCutParameters::fShowerEndX, NueCutParameters::fShowerEndY, NueCutParameters::fShowerEndZ, NueCutParameters::fShowerMaxEndZ, NueCutParameters::fShowerMaxVtxZ, NueCutParameters::fShowerMaxX, NueCutParameters::fShowerMaxY, NueCutParameters::fShowerMinEndZ, NueCutParameters::fShowerMinVtxZ, NueCutParameters::fShowerMinX, NueCutParameters::fShowerMinY, NueCutParameters::fShowerNumXCell, NueCutParameters::fShowerNumYCell, NueCutParameters::fShowerPt, NueCutParameters::fShowerTotalE, fShowerVertex, NueCutParameters::fShowerVertexX, NueCutParameters::fShowerVertexY, NueCutParameters::fShowerVertexZ, NueCutParameters::fShowerVtxDist, NueCutParameters::fSliceHits, NueCutParameters::fSliceMinPlane, NueCutParameters::fSliceTotalE, NueCutParameters::fSparsenessAsymm, NueCutParameters::fSparsenessAsymmSlice, fVertex, NueCutParameters::fVertexMaxW, NueCutParameters::fVertexX, NueCutParameters::fVertexY, NueCutParameters::fVertexZ, NueCutParameters::fVetoKeepNue, nova::dbi::RunHistory::GetConfiguration(), rb::Vertex::GetXYZ(), nova::dbi::RunHistory::GoodDiBlockMask(), cosrej::NueCosRej::HitsPerPlane(), presel::Veto::Keep(), geo::kXorY, cet::sqlite::max(), std::max(), maxY, min(), std::min(), rb::Cluster::MinPlane(), minY, rb::Cluster::NMissingPlanes(), rb::Cluster::NXCell(), rb::Cluster::NYCell(), cosrej::NueCosRej::ParticleShowerTransMom(), SANueRecoE(), cosrej::NueCosRej::SparsenessAsymm(), cosrej::NueCosRej::SparsenessAsymmSlice(), cosrej::NueCosRej::StartDistToBack(), cosrej::NueCosRej::StartDistToBottom(), cosrej::NueCosRej::StartDistToEast(), cosrej::NueCosRej::StartDistToFront(), cosrej::NueCosRej::StartDistToTop(), cosrej::NueCosRej::StartDistToWest(), cosrej::NueCosRej::StartMinDistToBack(), cosrej::NueCosRej::StartMinDistToBottom(), cosrej::NueCosRej::StartMinDistToEast(), cosrej::NueCosRej::StartMinDistToFront(), cosrej::NueCosRej::StartMinDistToTop(), cosrej::NueCosRej::StartMinDistToWest(), cosrej::NueCosRej::StopDistToBack(), cosrej::NueCosRej::StopDistToBottom(), cosrej::NueCosRej::StopDistToEast(), cosrej::NueCosRej::StopDistToFront(), cosrej::NueCosRej::StopDistToTop(), cosrej::NueCosRej::StopDistToWest(), cosrej::NueCosRej::StopMinDistToBack(), cosrej::NueCosRej::StopMinDistToBottom(), cosrej::NueCosRej::StopMinDistToEast(), cosrej::NueCosRej::StopMinDistToFront(), cosrej::NueCosRej::StopMinDistToTop(), cosrej::NueCosRej::StopMinDistToWest(), sum, rb::Cluster::TotalGeV(), and rb::PID::Value().

32 {
33  // if we are here, then there is at least 1 shower in the vector
34  // the leading shower has the most energy and has been sorted to be the
35  // first in the vector
36 
37  float diff = std::abs(1.*showers[0]->NXCell() - 1.*showers[0]->NYCell());
38  int shwHits = showers[0]->NXCell() + showers[0]->NYCell();
39  float sum = 1.*std::max(1, shwHits);
40 
41  // now check the run history and the diblocks in this run
42  // the lines below are copied from CAFMaker_module.cc
43  unsigned int dibmask = (fRunHistory->GoodDiBlockMask()&fRunHistory->GetConfiguration());
44  unsigned int dibfirst = 0;
45  if (dibmask) {
46  int iD;
47  iD = 0; while (!((dibmask>>iD)&1)) ++iD; dibfirst = iD+1;
48  }
49  unsigned int firstDBPlane = (dibfirst) ? (dibfirst - 1) * 64 : 0;
50 
51  // Fill the values
52  fParameters.fCalorimetricE = slice.CalorimetricEnergy();
53  fParameters.fSliceTotalE = slice.TotalGeV();
54  fParameters.fNueEnergy = SANueRecoE(showers[0]->TotalGeV(), slice.TotalGeV()-showers[0]->TotalGeV());
55  fParameters.fLIDVal = elid.Value();
56  fParameters.fLEMVal = lem.Value();
57  fParameters.fCVNVal = cvn.fOutput[4]+cvn.fOutput[5]+cvn.fOutput[6]+cvn.fOutput[7];
58  fParameters.fSliceMinPlane = slice.MinPlane();
60  fParameters.fNumPlane = 1.*(slice.ExtentPlane() - slice.NMissingPlanes(geo::kXorY));
61  fParameters.fNumXCell = 1.*slice.NXCell();
62  fParameters.fNumYCell = 1.*slice.NYCell();
64  fParameters.fCellsPerPlane = cosrej.HitsPerPlane();
65  fVertex = vertex.GetXYZ();
70  std::abs(fVertex.Y()));
71  fParameters.fNumShowers = 1.*showers.size();
73  fParameters.fShowerCalE = showers[0]->CalorimetricEnergy();
74  fParameters.fShowerTotalE = showers[0]->TotalGeV();
75  fShowerDir = showers[0]->Dir();
79  fShowerVertex = showers[0]->Start();
83  fShowerEnd = showers[0]->Stop();
87 
88  fParameters.fShowerNumXCell = showers[0]->NXCell();
89  fParameters.fShowerNumYCell = showers[0]->NYCell();
90  fParameters.fShowerVtxDist = slids[0]->Gap();
91  fParameters.fShowerPt = cosrej.ParticleShowerTransMom();
92  fParameters.fMinWestDist = std::min(cosrej.StartDistToWest(),
93  cosrej.StopDistToWest());
94  fParameters.fMinEastDist = std::min(cosrej.StartDistToEast(),
95  cosrej.StopDistToEast());
96  fParameters.fMinBotDist = std::min(cosrej.StartDistToBottom(),
97  cosrej.StopDistToBottom());
98  fParameters.fMinTopDist = std::min(cosrej.StartDistToTop(),
99  cosrej.StopDistToTop());
100  fParameters.fMinFrontDist = std::min(cosrej.StartDistToFront(),
101  cosrej.StopDistToFront());
102  fParameters.fMinBackDist = std::min(cosrej.StartDistToBack(),
103  cosrej.StopDistToBack());
104  fParameters.fDistAllTop = std::min(cosrej.StartMinDistToTop(),
105  cosrej.StopMinDistToTop());
106  fParameters.fDistAllBottom = std::min(cosrej.StartMinDistToBottom(),
107  cosrej.StopMinDistToBottom());
108  fParameters.fDistAllWest = std::min(cosrej.StartMinDistToWest(),
109  cosrej.StopMinDistToWest());
110  fParameters.fDistAllEast = std::min(cosrej.StartMinDistToEast(),
111  cosrej.StopMinDistToEast());
112  fParameters.fDistAllFront = std::min(cosrej.StartMinDistToFront(),
113  cosrej.StopMinDistToFront());
114  fParameters.fDistAllBack = std::min(cosrej.StartMinDistToBack(),
115  cosrej.StopMinDistToBack());
116  fParameters.fSparsenessAsymm = cosrej.SparsenessAsymm();
117  fParameters.fSparsenessAsymmSlice = cosrej.SparsenessAsymmSlice();
127  fParameters.fVetoKeepNue = nueveto.Keep();
128 
129  fParameters.fCosShowers = 2.; // default value will pass any cuts
130 
131  fParameters.fNumShowersLID = 1.*slids.size();
132 
133  float nShowerHit = 0.;
134  if(showers.size() > 1)
135  fParameters.fCosShowers = ((fShowerDir * showers[1]->Dir())/
136  (fShowerDir.Mag() * showers[1]->Dir().Mag()));
137 
138  // The ProngLength cut applies for the longest prong, so find that in
139  // the following loop
140 
141  for(auto prg : prongs){
142  if(prg->TotalLength() > fParameters.fProngLength)
143  fParameters.fProngLength = prg->TotalLength();
144  }
145 
146  for(auto shw : showers){
147  nShowerHit += 1.*shw->NCell();
148  auto vtx = shw->Start();
149  auto end = shw->Stop();
150  auto maxX = std::max(vtx.X(), end.X());
151  auto maxY = std::max(vtx.Y(), end.Y());
152  auto minX = std::min(vtx.X(), end.X());
153  auto minY = std::min(vtx.Y(), end.Y());
154  if(fParameters.fShowerMinX > minX ) fParameters.fShowerMinX = minX;
156  if(fParameters.fShowerMaxX < maxX ) fParameters.fShowerMaxX = maxX;
158  if(fParameters.fShowerMinVtxZ > vtx.Z()) fParameters.fShowerMinVtxZ = vtx.Z();
160  if(fParameters.fShowerMaxVtxZ < vtx.Z()) fParameters.fShowerMaxVtxZ = vtx.Z();
162  }
163 
165 
166  return;
167 }
float fShowerMaxY
max y for all shower end points
T max(const caf::Proxy< T > &a, T b)
float fMinBotDist
minimum distance to the bottom edge
float fNumPlane
number of planes in slice
float fMinFrontDist
minimum distance to the front edge
float fSparsenessAsymmSlice
assymmetry in the zero-hit planes at the start and end of the slice. Used for rejection of backward c...
float fCosShowers
cosine of angle between showers in slice
Definition: event.h:34
double minY
Definition: plot_hist.C:9
float SANueRecoE(float rawEM, float rawHA)
float fVertexX
vertex of the interaction
float fDistAllTop
distance of all showers in slice from the top edge of detector
float fLIDVal
value of the LID PID
float fMinTopDist
minimum distance to the top edge
NueCutParameters fParameters
float fShowerMinY
min y for all shower end points
X or Y views.
Definition: PlaneGeo.h:30
float fVertexMaxW
maximum w value of the vertex
float fShowerEndY
end of the primary shower
float fShowerDirX
direction of the primary shower in slice
float fHitAsymmetry
hit asymmetry between views in slice
float fShowerVtxDist
distance between the shower vertex and interaction vertex
float fShowerCalE
calorimetric energy in primary shower in slice
float fShowerMinVtxZ
minimum Z position of all showers
double maxY
Definition: plot_hist.C:10
float fShowerMaxX
max x for all shower end points
float fShowerDirZ
direction of the primary shower in slice
Defines an enumeration for prong classification.
float fShowerNumXCell
number of x cells in slice
float abs(float number)
Definition: d0nt_math.hpp:39
float fVertexZ
vertex of the interaction
float fPlanesToFront
number of planes to the front of detector
float fVertexY
vertex of the interaction
float fShowerVertexZ
vertex of the primary shower
PID
Definition: FillPIDs.h:13
float fMinBackDist
minimum distance to the back edge
float fMinEastDist
minimum distance to the east edge
float fDistAllFront
distance of all showers in slice from the front edge of detector
float fFracShowerHits
fraction of slice hits in the primary shower
float fLEMVal
value of the LEM PID
float fMinWestDist
minimum distance to the west edge
float fNumShowers
number of showers in slice
float fProngLength
length of largest prong in slice
float fShowerMaxEndZ
maximum Z position of all showers
float fDistAllEast
distance of all showers in slice from the east edge of detector
art::ServiceHandle< nova::dbi::RunHistoryService > fRunHistory
the RunHistory service
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
float fSliceTotalE
TotalE of the slice.
float fNueEnergy
reconstructed nue energy
static float min(const float a, const float b, const float c)
Definition: absgeo.cxx:45
float fSparsenessAsymm
assymmetry in the zero-hit planes at the start and end of the shower. Used for rejection of backward ...
float fShowerDirY
direction of the primary shower in slice
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
float fShowerTotalE
TotalE energy in primary shower in slice.
float fShowerEndX
end of the primary shower
float fShowerMaxVtxZ
maximum Z position of all showers
float fSliceMinPlane
minimum plane of the slice
float fSliceHits
total number of hits in slice
float fDistAllWest
distance of all showers in slice from the west edge of detector
float fNumShowersLID
size of showerLIDs in a slice
float fShowerVertexY
vertex of the primary shower
float fShowerEndZ
end of the primary shower
float fShowerMinX
min x for all shower end points
float fNumYCell
number of y cells in slice
float fCellsPerPlane
number of cells per plane in slice
bool fVetoKeepNue
cosmic rejection boolean
float fShowerPt
shower transverse momentum
float fCalorimetricE
calorimetric energy of the slice
T min(const caf::Proxy< T > &a, T b)
int GoodDiBlockMask(int subrun=-1, bool reload=false)
Double_t sum
Definition: plot.C:31
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
float fShowerMinEndZ
minimum Z position of all showers
float fShowerNumYCell
number of y cells in slice
float fNumXCell
number of x cells in slice
float fDistAllBack
distance of all showers in slice from the back edge of detector
float fShowerVertexX
vertex of the primary shower
float fCVNVal
value of the CVN PI
skim::ParametersNue::ParametersNue ( rb::Cluster const &  slice,
rb::Vertex const &  vertex,
cosrej::NueCosRej const &  cosrej,
std::vector< rb::Shower const * > &  showers,
std::vector< rb::Prong const * > &  prongs,
std::vector< slid::ShowerLID const * > &  slids,
std::map< std::string, float >  closestsliceinfo,
slid::EventLID const &  elid,
cvn::Result const &  cvn,
presel::Veto const &  nueveto 
)

2017 and before

2018 ...

Closest Slice

Definition at line 170 of file ParametersNue.cxx.

References std::abs(), rb::Cluster::CalorimetricEnergy(), cosrej::NueCosRej::CosPIDContain(), caf::cvnStates, release_diff::diff, febshutoff_auto::end, rb::Cluster::ExtentPlane(), NueCutParameters::fCalorimetricE, NueCutParameters::fCellsPerPlane, NueCutParameters::fClosestSliceDistFromTop, NueCutParameters::fClosestSliceMinDist, NueCutParameters::fClosestSliceTime, NueCutParameters::fCosPIDContain, NueCutParameters::fCosShowers, NueCutParameters::fCVNVal, NueCutParameters::fDistAllBack, NueCutParameters::fDistAllBottom, NueCutParameters::fDistAllEast, NueCutParameters::fDistAllFront, NueCutParameters::fDistAllTop, NueCutParameters::fDistAllWest, NueCutParameters::fFracShowerHits, NueCutParameters::fHitAsymmetry, NueCutParameters::fLEMVal, NueCutParameters::fLIDVal, NueCutParameters::fMinBackDist, NueCutParameters::fMinBotDist, NueCutParameters::fMinEastDist, NueCutParameters::fMinFrontDist, NueCutParameters::fMinTopDist, NueCutParameters::fMinWestDist, NueCutParameters::fNueEnergy, NueCutParameters::fNumPlane, NueCutParameters::fNumShowers, NueCutParameters::fNumShowersLID, NueCutParameters::fNumXCell, NueCutParameters::fNumYCell, cvn::Result::fOutput, fParameters, NueCutParameters::fPlanesToFront, NueCutParameters::fProngLength, fRunHistory, NueCutParameters::fShowerCalE, fShowerDir, NueCutParameters::fShowerDirX, NueCutParameters::fShowerDirY, NueCutParameters::fShowerDirZ, fShowerEnd, NueCutParameters::fShowerEndX, NueCutParameters::fShowerEndY, NueCutParameters::fShowerEndZ, NueCutParameters::fShowerMaxEndZ, NueCutParameters::fShowerMaxVtxZ, NueCutParameters::fShowerMaxX, NueCutParameters::fShowerMaxY, NueCutParameters::fShowerMinEndZ, NueCutParameters::fShowerMinVtxZ, NueCutParameters::fShowerMinX, NueCutParameters::fShowerMinY, NueCutParameters::fShowerNumXCell, NueCutParameters::fShowerNumYCell, NueCutParameters::fShowerPt, NueCutParameters::fShowerTotalE, fShowerVertex, NueCutParameters::fShowerVertexX, NueCutParameters::fShowerVertexY, NueCutParameters::fShowerVertexZ, NueCutParameters::fShowerVtxDist, NueCutParameters::fSliceHits, NueCutParameters::fSliceMinPlane, NueCutParameters::fSliceTotalE, NueCutParameters::fSparsenessAsymm, NueCutParameters::fSparsenessAsymmSlice, fVertex, NueCutParameters::fVertexMaxW, NueCutParameters::fVertexX, NueCutParameters::fVertexY, NueCutParameters::fVertexZ, NueCutParameters::fVetoKeepNue, nova::dbi::RunHistory::GetConfiguration(), rb::Vertex::GetXYZ(), nova::dbi::RunHistory::GoodDiBlockMask(), cosrej::NueCosRej::HitsPerPlane(), compare_h5_caf::idx, caf::kCVN_nE_Other, presel::Veto::Keep(), caf::kNumCVNFinalStates, geo::kXorY, cet::sqlite::max(), std::max(), maxY, min(), std::min(), rb::Cluster::MinPlane(), minY, rb::Cluster::NMissingPlanes(), SliceLID::nueid(), caf::CVNFinalState::nuPdg, rb::Cluster::NXCell(), rb::Cluster::NYCell(), cosrej::NueCosRej::ParticleShowerTransMom(), SANueRecoE(), cosrej::NueCosRej::SparsenessAsymm(), cosrej::NueCosRej::SparsenessAsymmSlice(), cosrej::NueCosRej::StartDistToBack(), cosrej::NueCosRej::StartDistToBottom(), cosrej::NueCosRej::StartDistToEast(), cosrej::NueCosRej::StartDistToFront(), cosrej::NueCosRej::StartDistToTop(), cosrej::NueCosRej::StartDistToWest(), cosrej::NueCosRej::StartMinDistToBack(), cosrej::NueCosRej::StartMinDistToBottom(), cosrej::NueCosRej::StartMinDistToEast(), cosrej::NueCosRej::StartMinDistToFront(), cosrej::NueCosRej::StartMinDistToTop(), cosrej::NueCosRej::StartMinDistToWest(), makeDatasetsPage::state, cosrej::NueCosRej::StopDistToBack(), cosrej::NueCosRej::StopDistToBottom(), cosrej::NueCosRej::StopDistToEast(), cosrej::NueCosRej::StopDistToFront(), cosrej::NueCosRej::StopDistToTop(), cosrej::NueCosRej::StopDistToWest(), cosrej::NueCosRej::StopMinDistToBack(), cosrej::NueCosRej::StopMinDistToBottom(), cosrej::NueCosRej::StopMinDistToEast(), cosrej::NueCosRej::StopMinDistToFront(), cosrej::NueCosRej::StopMinDistToTop(), cosrej::NueCosRej::StopMinDistToWest(), sum, rb::Cluster::TotalGeV(), and rb::PID::Value().

180 {
181  // if we are here, then there is at least 1 shower in the vector
182  // the leading shower has the most energy and has been sorted to be the
183  // first in the vector
184 
185  float diff = std::abs(1.*showers[0]->NXCell() - 1.*showers[0]->NYCell());
186  int shwHits = showers[0]->NXCell() + showers[0]->NYCell();
187  float sum = 1.*std::max(1, shwHits);
188 
189  // now check the run history and the diblocks in this run
190  // the lines below are copied from CAFMaker_module.cc
191  unsigned int dibmask = (fRunHistory->GoodDiBlockMask()&fRunHistory->GetConfiguration());
192  unsigned int dibfirst = 0;
193  if (dibmask) {
194  int iD;
195  iD = 0; while (!((dibmask>>iD)&1)) ++iD; dibfirst = iD+1;
196  }
197  unsigned int firstDBPlane = (dibfirst) ? (dibfirst - 1) * 64 : 0;
198 
199  // Fill the values
200  fParameters.fCalorimetricE = slice.CalorimetricEnergy();
201  fParameters.fSliceTotalE = slice.TotalGeV();
202  fParameters.fNueEnergy = SANueRecoE(showers[0]->TotalGeV(), slice.TotalGeV()-showers[0]->TotalGeV()); // Energy function to be updated!
203  fParameters.fLIDVal = elid.Value();
204  // fParameters.fLEMVal = lem.Value();
205  fParameters.fLEMVal = std::numeric_limits<double>::min(); // No LEM for analysis 2017 - fill with dummy value;
206  fParameters.fSliceMinPlane = slice.MinPlane();
208  fParameters.fNumPlane = 1.*(slice.ExtentPlane() - slice.NMissingPlanes(geo::kXorY));
209  fParameters.fNumXCell = 1.*slice.NXCell();
210  fParameters.fNumYCell = 1.*slice.NYCell();
212  fParameters.fCellsPerPlane = cosrej.HitsPerPlane();
213  fVertex = vertex.GetXYZ();
218  std::abs(fVertex.Y()));
219  fParameters.fNumShowers = 1.*showers.size();
221  fParameters.fShowerCalE = showers[0]->CalorimetricEnergy();
222  fParameters.fShowerTotalE = showers[0]->TotalGeV();
223  fShowerDir = showers[0]->Dir();
227  fShowerVertex = showers[0]->Start();
231  fShowerEnd = showers[0]->Stop();
235 
236  fParameters.fShowerNumXCell = showers[0]->NXCell();
237  fParameters.fShowerNumYCell = showers[0]->NYCell();
238  fParameters.fShowerVtxDist = slids[0]->Gap();
239  fParameters.fShowerPt = cosrej.ParticleShowerTransMom();
240  fParameters.fMinWestDist = std::min(cosrej.StartDistToWest(),
241  cosrej.StopDistToWest());
242  fParameters.fMinEastDist = std::min(cosrej.StartDistToEast(),
243  cosrej.StopDistToEast());
244  fParameters.fMinBotDist = std::min(cosrej.StartDistToBottom(),
245  cosrej.StopDistToBottom());
246  fParameters.fMinTopDist = std::min(cosrej.StartDistToTop(),
247  cosrej.StopDistToTop());
248  fParameters.fMinFrontDist = std::min(cosrej.StartDistToFront(),
249  cosrej.StopDistToFront());
250  fParameters.fMinBackDist = std::min(cosrej.StartDistToBack(),
251  cosrej.StopDistToBack());
252  fParameters.fDistAllTop = std::min(cosrej.StartMinDistToTop(),
253  cosrej.StopMinDistToTop());
254  fParameters.fDistAllBottom = std::min(cosrej.StartMinDistToBottom(),
255  cosrej.StopMinDistToBottom());
256  fParameters.fDistAllWest = std::min(cosrej.StartMinDistToWest(),
257  cosrej.StopMinDistToWest());
258  fParameters.fDistAllEast = std::min(cosrej.StartMinDistToEast(),
259  cosrej.StopMinDistToEast());
260  fParameters.fDistAllFront = std::min(cosrej.StartMinDistToFront(),
261  cosrej.StopMinDistToFront());
262  fParameters.fDistAllBack = std::min(cosrej.StartMinDistToBack(),
263  cosrej.StopMinDistToBack());
264  fParameters.fSparsenessAsymm = cosrej.SparsenessAsymm();
265  fParameters.fSparsenessAsymmSlice = cosrej.SparsenessAsymmSlice();
266 
267  fParameters.fCosPIDContain = cosrej.CosPIDContain();
268 
278  fParameters.fVetoKeepNue = nueveto.Keep();
279 
280  fParameters.fCosShowers = 2.; // default value will pass any cuts
281 
282  fParameters.fNumShowersLID = 1.*slids.size();
283 
284  //////////////////////// CVN ///////////////////////////
285  // Differnet versions have different number of outputs
286  //
287  // Explanation for Production4 is in :
288  // https://cdcvs.fnal.gov/redmine/projects/nova_reconstruction/wiki/Prod4_tag
289 
290  // check Output Vector Size
291  int cvnOutputSize = cvn.fOutput.size();
292 
293  if( cvnOutputSize == 16 ) { /// 2017 and before
294 
295  // CVN Value formula from CAFMaker: FillPIDs.cxx -->
296  fParameters.fCVNVal = cvn.fOutput[4]+cvn.fOutput[5]+cvn.fOutput[6]+cvn.fOutput[7];
297 
298  } else if( cvnOutputSize == 392 ) { /// 2018 ...
299  // See StandardRecord/CVNLabels.h for constants
300 
301  float nueid = 0;
302 
303  //std::vector<float>::const_iterator maxIt = std::max_element(cvn.fOutput.cbegin(), cvn.fOutput.cend());
304 
305  for(int idx = 0; idx < caf::kNumCVNFinalStates; ++idx){
307  const double prob = cvn.fOutput[idx];
308  if(state.nuPdg == 12) nueid += prob;
309  }
310 
311  nueid += cvn.fOutput[caf::kCVN_nE_Other];
312 
314  }
315 
316  /////////////////////////////////////////////////////
317 
318  /// Closest Slice
319  fParameters.fClosestSliceTime = closestsliceinfo["Time"];
320  fParameters.fClosestSliceDistFromTop = closestsliceinfo["DistFromTop"];
321  fParameters.fClosestSliceMinDist = closestsliceinfo["MinDist"];
322 
323  float nShowerHit = 0.;
324  if(showers.size() > 1)
325  fParameters.fCosShowers = ((fShowerDir * showers[1]->Dir())/
326  (fShowerDir.Mag() * showers[1]->Dir().Mag()));
327 
328  // The ProngLength cut applies for the longest prong, so find that in
329  // the following loop
330 
331  for(auto prg : prongs){
332  if(prg->TotalLength() > fParameters.fProngLength)
333  fParameters.fProngLength = prg->TotalLength();
334  }
335 
336  for(auto shw : showers){
337  nShowerHit += 1.*shw->NCell();
338  auto vtx = shw->Start();
339  auto end = shw->Stop();
340  auto maxX = std::max(vtx.X(), end.X());
341  auto maxY = std::max(vtx.Y(), end.Y());
342  auto minX = std::min(vtx.X(), end.X());
343  auto minY = std::min(vtx.Y(), end.Y());
344  if(fParameters.fShowerMinX > minX ) fParameters.fShowerMinX = minX;
346  if(fParameters.fShowerMaxX < maxX ) fParameters.fShowerMaxX = maxX;
348  if(fParameters.fShowerMinVtxZ > vtx.Z()) fParameters.fShowerMinVtxZ = vtx.Z();
350  if(fParameters.fShowerMaxVtxZ < vtx.Z()) fParameters.fShowerMaxVtxZ = vtx.Z();
352  }
353 
355 
356  return;
357 }
float fShowerMaxY
max y for all shower end points
T max(const caf::Proxy< T > &a, T b)
float fClosestSliceDistFromTop
float fMinBotDist
minimum distance to the bottom edge
float fNumPlane
number of planes in slice
float fMinFrontDist
minimum distance to the front edge
float fSparsenessAsymmSlice
assymmetry in the zero-hit planes at the start and end of the slice. Used for rejection of backward c...
float fCosShowers
cosine of angle between showers in slice
Definition: event.h:34
double minY
Definition: plot_hist.C:9
float SANueRecoE(float rawEM, float rawHA)
float fVertexX
vertex of the interaction
float fDistAllTop
distance of all showers in slice from the top edge of detector
float fLIDVal
value of the LID PID
float fMinTopDist
minimum distance to the top edge
NueCutParameters fParameters
float fShowerMinY
min y for all shower end points
X or Y views.
Definition: PlaneGeo.h:30
float fVertexMaxW
maximum w value of the vertex
float fShowerEndY
end of the primary shower
float fShowerDirX
direction of the primary shower in slice
float fHitAsymmetry
hit asymmetry between views in slice
float fShowerVtxDist
distance between the shower vertex and interaction vertex
float fShowerCalE
calorimetric energy in primary shower in slice
float fShowerMinVtxZ
minimum Z position of all showers
double maxY
Definition: plot_hist.C:10
float fShowerMaxX
max x for all shower end points
float fShowerDirZ
direction of the primary shower in slice
Defines an enumeration for prong classification.
const int kCVN_nE_Other
Definition: CVNLabels.h:402
float fShowerNumXCell
number of x cells in slice
float abs(float number)
Definition: d0nt_math.hpp:39
float fVertexZ
vertex of the interaction
float fPlanesToFront
number of planes to the front of detector
float fVertexY
vertex of the interaction
float fShowerVertexZ
vertex of the primary shower
float fMinBackDist
minimum distance to the back edge
float fMinEastDist
minimum distance to the east edge
float fDistAllFront
distance of all showers in slice from the front edge of detector
float fFracShowerHits
fraction of slice hits in the primary shower
static Var nueid(const std::shared_ptr< CAFAnaModel > &model)
Definition: SliceLIDVar.h:83
float fLEMVal
value of the LEM PID
float fMinWestDist
minimum distance to the west edge
float fNumShowers
number of showers in slice
float fProngLength
length of largest prong in slice
float fShowerMaxEndZ
maximum Z position of all showers
float fDistAllEast
distance of all showers in slice from the east edge of detector
art::ServiceHandle< nova::dbi::RunHistoryService > fRunHistory
the RunHistory service
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
float fSliceTotalE
TotalE of the slice.
float fNueEnergy
reconstructed nue energy
static float min(const float a, const float b, const float c)
Definition: absgeo.cxx:45
float fSparsenessAsymm
assymmetry in the zero-hit planes at the start and end of the shower. Used for rejection of backward ...
float fShowerDirY
direction of the primary shower in slice
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
float fShowerTotalE
TotalE energy in primary shower in slice.
const int kNumCVNFinalStates
Definition: CVNLabels.h:11
float fShowerEndX
end of the primary shower
float fShowerMaxVtxZ
maximum Z position of all showers
float fSliceMinPlane
minimum plane of the slice
float fSliceHits
total number of hits in slice
float fDistAllWest
distance of all showers in slice from the west edge of detector
float fNumShowersLID
size of showerLIDs in a slice
float fShowerVertexY
vertex of the primary shower
float fShowerEndZ
end of the primary shower
float fShowerMinX
min x for all shower end points
float fNumYCell
number of y cells in slice
float fCellsPerPlane
number of cells per plane in slice
const CVNFinalState cvnStates[kNumCVNFinalStates]
Definition: CVNLabels.h:12
bool fVetoKeepNue
cosmic rejection boolean
float fShowerPt
shower transverse momentum
float fCalorimetricE
calorimetric energy of the slice
T min(const caf::Proxy< T > &a, T b)
float fCosPIDContain
CosPIDContain used for peripheral sample.
int GoodDiBlockMask(int subrun=-1, bool reload=false)
Double_t sum
Definition: plot.C:31
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
float fShowerMinEndZ
minimum Z position of all showers
float fShowerNumYCell
number of y cells in slice
float fNumXCell
number of x cells in slice
float fDistAllBack
distance of all showers in slice from the back edge of detector
float fShowerVertexX
vertex of the primary shower
float fCVNVal
value of the CVN PI
skim::ParametersNue::~ParametersNue ( )
virtual

Definition at line 436 of file ParametersNue.cxx.

437 {
438 
439 }

Member Function Documentation

float const& skim::ParametersNue::CalorimetricE ( ) const
inline
float const& skim::ParametersNue::CellsPerPlane ( ) const
inline
float const& skim::ParametersNue::ClosestSliceDistFromTop ( ) const
inline
float const& skim::ParametersNue::ClosestSliceMinDist ( ) const
inline
float const& skim::ParametersNue::ClosestSliceTime ( ) const
inline
void skim::ParametersNue::Compare ( NueCutParameters const &  compCuts)

Definition at line 457 of file ParametersNue.cxx.

References std::abs(), comps, e, NueCutParameters::fCalorimetricE, NueCutParameters::fCellsPerPlane, NueCutParameters::fClosestSliceDistFromTop, NueCutParameters::fClosestSliceMinDist, NueCutParameters::fClosestSliceTime, NueCutParameters::fCosPIDContain, NueCutParameters::fCosShowers, NueCutParameters::fCVNVal, NueCutParameters::fCVNValCosPID, NueCutParameters::fDistAllBack, NueCutParameters::fDistAllBottom, NueCutParameters::fDistAllEast, NueCutParameters::fDistAllFront, NueCutParameters::fDistAllTop, NueCutParameters::fDistAllWest, NueCutParameters::fFracShowerHits, NueCutParameters::fHitAsymmetry, NueCutParameters::fLEMVal, NueCutParameters::fLIDVal, NueCutParameters::fMinBackDist, NueCutParameters::fMinBotDist, NueCutParameters::fMinEastDist, NueCutParameters::fMinFrontDist, NueCutParameters::fMinTopDist, NueCutParameters::fMinWestDist, NueCutParameters::fNueEnergy, NueCutParameters::fNumPlane, NueCutParameters::fNumShowers, NueCutParameters::fNumXCell, NueCutParameters::fNumYCell, fParameters, NueCutParameters::fPlanesToFront, NueCutParameters::fProngLength, NueCutParameters::fShowerCalE, NueCutParameters::fShowerDirX, NueCutParameters::fShowerDirY, NueCutParameters::fShowerDirZ, NueCutParameters::fShowerEndX, NueCutParameters::fShowerEndY, NueCutParameters::fShowerEndZ, NueCutParameters::fShowerMaxEndZ, NueCutParameters::fShowerMaxVtxZ, NueCutParameters::fShowerMaxX, NueCutParameters::fShowerMaxY, NueCutParameters::fShowerMinEndZ, NueCutParameters::fShowerMinVtxZ, NueCutParameters::fShowerMinX, NueCutParameters::fShowerMinY, NueCutParameters::fShowerNumXCell, NueCutParameters::fShowerNumYCell, NueCutParameters::fShowerPt, NueCutParameters::fShowerVertexX, NueCutParameters::fShowerVertexY, NueCutParameters::fShowerVertexZ, NueCutParameters::fShowerVtxDist, NueCutParameters::fSliceHits, NueCutParameters::fSparsenessAsymm, NueCutParameters::fSparsenessAsymmSlice, NueCutParameters::fVertexMaxW, NueCutParameters::fVertexX, NueCutParameters::fVertexY, NueCutParameters::fVertexZ, NueCutParameters::fVetoKeepNue, LOG_VERBATIM, and make_pair().

Referenced by ParametersStruct().

458 {
459 
460  std::map<std::string, std::pair<double, double> > comps;
461 
462  comps["fNumPlane"] = std::make_pair(fParameters.fNumPlane, compCuts.fNumPlane);
463  comps["fPlanesToFront"] = std::make_pair(fParameters.fPlanesToFront, compCuts.fPlanesToFront);
464  comps["fCellsPerPlane"] = std::make_pair(fParameters.fCellsPerPlane, compCuts.fCellsPerPlane);
465  comps["fNumXCell"] = std::make_pair(fParameters.fNumXCell, compCuts.fNumXCell);
466  comps["fNumYCell"] = std::make_pair(fParameters.fNumYCell, compCuts.fNumYCell);
467  comps["fSliceHits"] = std::make_pair(fParameters.fSliceHits, compCuts.fSliceHits);
468  comps["fHitAsymmetry"] = std::make_pair(fParameters.fHitAsymmetry, compCuts.fHitAsymmetry);
469  comps["fNumShowers"] = std::make_pair(fParameters.fNumShowers, compCuts.fNumShowers);
470  comps["fShowerNumXCell"] = std::make_pair(fParameters.fShowerNumXCell, compCuts.fShowerNumXCell);
471  comps["fShowerNumYCell"] = std::make_pair(fParameters.fShowerNumYCell, compCuts.fShowerNumYCell);
472  comps["fCosShowers"] = std::make_pair(fParameters.fCosShowers, compCuts.fCosShowers);
473  comps["fShowerDirX"] = std::make_pair(fParameters.fShowerDirX, compCuts.fShowerDirX);
474  comps["fShowerDirY"] = std::make_pair(fParameters.fShowerDirY, compCuts.fShowerDirY);
475  comps["fShowerDirZ"] = std::make_pair(fParameters.fShowerDirZ, compCuts.fShowerDirZ);
476  comps["fShowerLength"] = std::make_pair(fParameters.fProngLength, compCuts.fProngLength);
477  comps["fShowerCalE"] = std::make_pair(fParameters.fShowerCalE, compCuts.fShowerCalE);
478  comps["fFracShowerHits"] = std::make_pair(fParameters.fFracShowerHits, compCuts.fFracShowerHits);
479  comps["fShowerVertexX"] = std::make_pair(fParameters.fShowerVertexX, compCuts.fShowerVertexX);
480  comps["fShowerVertexY"] = std::make_pair(fParameters.fShowerVertexY, compCuts.fShowerVertexY);
481  comps["fShowerVertexZ"] = std::make_pair(fParameters.fShowerVertexZ, compCuts.fShowerVertexZ);
482  comps["fShowerEndX"] = std::make_pair(fParameters.fShowerEndX, compCuts.fShowerEndX);
483  comps["fShowerEndY"] = std::make_pair(fParameters.fShowerEndY, compCuts.fShowerEndY);
484  comps["fShowerEndZ"] = std::make_pair(fParameters.fShowerEndZ, compCuts.fShowerEndZ);
485  comps["fShowerMinX"] = std::make_pair(fParameters.fShowerMinX, compCuts.fShowerMinX);
486  comps["fShowerMinY"] = std::make_pair(fParameters.fShowerMinY, compCuts.fShowerMinY);
487  comps["fShowerMaxX"] = std::make_pair(fParameters.fShowerMaxX, compCuts.fShowerMaxX);
488  comps["fShowerMaxY"] = std::make_pair(fParameters.fShowerMaxY, compCuts.fShowerMaxY);
489  comps["fShowerMinVtxZ"] = std::make_pair(fParameters.fShowerMinVtxZ, compCuts.fShowerMinVtxZ);
490  comps["fShowerMinEndZ"] = std::make_pair(fParameters.fShowerMinEndZ, compCuts.fShowerMinEndZ);
491  comps["fShowerMaxVtxZ"] = std::make_pair(fParameters.fShowerMaxVtxZ, compCuts.fShowerMaxVtxZ);
492  comps["fShowerMaxEndZ"] = std::make_pair(fParameters.fShowerMaxEndZ, compCuts.fShowerMaxEndZ);
493  comps["fShowerVtxDist"] = std::make_pair(fParameters.fShowerVtxDist, compCuts.fShowerVtxDist);
494  comps["fShowerPt"] = std::make_pair(fParameters.fShowerPt, compCuts.fShowerPt);
495  comps["fVertexX"] = std::make_pair(fParameters.fVertexX, compCuts.fVertexX);
496  comps["fVertexY"] = std::make_pair(fParameters.fVertexY, compCuts.fVertexY);
497  comps["fVertexZ"] = std::make_pair(fParameters.fVertexZ, compCuts.fVertexZ);
498  comps["fVertexMaxW"] = std::make_pair(fParameters.fVertexMaxW, compCuts.fVertexMaxW);
499  comps["fCalorimetricE"] = std::make_pair(fParameters.fCalorimetricE, compCuts.fCalorimetricE);
500  comps["fNueEnergy"] = std::make_pair(fParameters.fNueEnergy, compCuts.fNueEnergy);
501  comps["fMinWestDist"] = std::make_pair(fParameters.fMinWestDist, compCuts.fMinWestDist);
502  comps["fMinEastDist"] = std::make_pair(fParameters.fMinEastDist, compCuts.fMinEastDist);
503  comps["fMinBotDist"] = std::make_pair(fParameters.fMinBotDist, compCuts.fMinBotDist);
504  comps["fMinTopDist"] = std::make_pair(fParameters.fMinTopDist, compCuts.fMinTopDist);
505  comps["fMinFrontDist"] = std::make_pair(fParameters.fMinFrontDist, compCuts.fMinFrontDist);
506  comps["fMinBackDist"] = std::make_pair(fParameters.fMinBackDist, compCuts.fMinBackDist);
507  comps["fDistAllTop"] = std::make_pair(fParameters.fDistAllTop, compCuts.fDistAllTop);
508  comps["fDistAllBottom"] = std::make_pair(fParameters.fDistAllBottom, compCuts.fDistAllBottom);
509  comps["fDistAllWest"] = std::make_pair(fParameters.fDistAllWest, compCuts.fDistAllWest);
510  comps["fDistAllEast"] = std::make_pair(fParameters.fDistAllEast, compCuts.fDistAllEast);
511  comps["fDistAllFront"] = std::make_pair(fParameters.fDistAllFront, compCuts.fDistAllFront);
512  comps["fDistAllBack"] = std::make_pair(fParameters.fDistAllBack, compCuts.fDistAllBack);
513  comps["fVetoKeepNue"] = std::make_pair(fParameters.fVetoKeepNue, compCuts.fVetoKeepNue);
514  comps["fSparsenessAsymm"] = std::make_pair(fParameters.fSparsenessAsymm, compCuts.fSparsenessAsymm);
515  comps["fSparsenessAsymmSlice"] = std::make_pair(fParameters.fSparsenessAsymmSlice, compCuts.fSparsenessAsymmSlice);
516  comps["fLIDVal"] = std::make_pair(fParameters.fLIDVal, compCuts.fLIDVal);
517  comps["fLEMVal"] = std::make_pair(fParameters.fLEMVal, compCuts.fLEMVal);
518  comps["fCVNVal"] = std::make_pair(fParameters.fCVNVal, compCuts.fCVNVal);
519 
520  comps["fCVNValCosPID"] = std::make_pair(fParameters.fCVNValCosPID, compCuts.fCVNValCosPID);
521  comps["fCosPIDContain"] = std::make_pair(fParameters.fCosPIDContain, compCuts.fCosPIDContain);
522 
523  comps["fClosestSliceTime"] = std::make_pair(fParameters.fClosestSliceTime, compCuts.fClosestSliceTime );
524  comps["fClosestSliceDistFromTop"] = std::make_pair(fParameters.fClosestSliceDistFromTop, compCuts.fClosestSliceDistFromTop );
525  comps["fClosestSliceMinDist"] = std::make_pair(fParameters.fClosestSliceMinDist, compCuts.fClosestSliceMinDist );
526 
527  double fracDiff = 0.;
528 
529  for(auto itr : comps){
530 
531  auto skimSR = itr.second;
532 
533  fracDiff = std::abs((skimSR.first - skimSR.second)/skimSR.first);
534  if( fracDiff > 1.e-3)
535  LOG_VERBATIM("ParametersNue")
536  << itr.first << ": " << skimSR.first << " " << skimSR.second << " " << fracDiff;
537  }
538 
539  return;
540 }
float fShowerMaxY
max y for all shower end points
float fClosestSliceDistFromTop
float fMinBotDist
minimum distance to the bottom edge
float fNumPlane
number of planes in slice
float fMinFrontDist
minimum distance to the front edge
float fSparsenessAsymmSlice
assymmetry in the zero-hit planes at the start and end of the slice. Used for rejection of backward c...
float fCosShowers
cosine of angle between showers in slice
float fVertexX
vertex of the interaction
float fDistAllTop
distance of all showers in slice from the top edge of detector
float fLIDVal
value of the LID PID
float fMinTopDist
minimum distance to the top edge
NueCutParameters fParameters
float fShowerMinY
min y for all shower end points
float fVertexMaxW
maximum w value of the vertex
float fShowerEndY
end of the primary shower
float fShowerDirX
direction of the primary shower in slice
float fHitAsymmetry
hit asymmetry between views in slice
float fShowerVtxDist
distance between the shower vertex and interaction vertex
float fShowerCalE
calorimetric energy in primary shower in slice
float fShowerMinVtxZ
minimum Z position of all showers
float fShowerMaxX
max x for all shower end points
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 fShowerDirZ
direction of the primary shower in slice
float fShowerNumXCell
number of x cells in slice
float abs(float number)
Definition: d0nt_math.hpp:39
float fVertexZ
vertex of the interaction
float fPlanesToFront
number of planes to the front of detector
float fVertexY
vertex of the interaction
float fShowerVertexZ
vertex of the primary shower
float fMinBackDist
minimum distance to the back edge
float fMinEastDist
minimum distance to the east edge
float fDistAllFront
distance of all showers in slice from the front edge of detector
float fFracShowerHits
fraction of slice hits in the primary shower
float fLEMVal
value of the LEM PID
float fMinWestDist
minimum distance to the west edge
float fNumShowers
number of showers in slice
float fProngLength
length of largest prong in slice
float fShowerMaxEndZ
maximum Z position of all showers
float fDistAllEast
distance of all showers in slice from the east edge of detector
std::vector< std::string > comps
float fDistAllBottom
distance of all showers in slice from the bottom edge of detector
float fNueEnergy
reconstructed nue energy
float fSparsenessAsymm
assymmetry in the zero-hit planes at the start and end of the shower. Used for rejection of backward ...
float fShowerDirY
direction of the primary shower in slice
float fShowerEndX
end of the primary shower
float fShowerMaxVtxZ
maximum Z position of all showers
float fSliceHits
total number of hits in slice
float fDistAllWest
distance of all showers in slice from the west edge of detector
float fShowerVertexY
vertex of the primary shower
float fShowerEndZ
end of the primary shower
float fShowerMinX
min x for all shower end points
float fNumYCell
number of y cells in slice
float fCellsPerPlane
number of cells per plane in slice
float fCVNValCosPID
value of the CVN PID for peripheral sample (&&CosPIDContain)
bool fVetoKeepNue
cosmic rejection boolean
float fShowerPt
shower transverse momentum
float fCalorimetricE
calorimetric energy of the slice
#define LOG_VERBATIM(category)
float fCosPIDContain
CosPIDContain used for peripheral sample.
Float_t e
Definition: plot.C:35
float fShowerMinEndZ
minimum Z position of all showers
float fShowerNumYCell
number of y cells in slice
float fNumXCell
number of x cells in slice
float fDistAllBack
distance of all showers in slice from the back edge of detector
float fShowerVertexX
vertex of the primary shower
float fCVNVal
value of the CVN PI
float const& skim::ParametersNue::CosPIDContain ( ) const
inline
float const& skim::ParametersNue::CosShowers ( ) const
inline
float const& skim::ParametersNue::CVNVal ( ) const
inline
float const& skim::ParametersNue::DistAllBack ( ) const
inline
float const& skim::ParametersNue::DistAllBottom ( ) const
inline
float const& skim::ParametersNue::DistAllEast ( ) const
inline
float const& skim::ParametersNue::DistAllFront ( ) const
inline
float const& skim::ParametersNue::DistAllTop ( ) const
inline
float const& skim::ParametersNue::DistAllWest ( ) const
inline
float const& skim::ParametersNue::FracShowerHits ( ) const
inline
float const& skim::ParametersNue::HitAsymmetry ( ) const
inline
float const& skim::ParametersNue::LEMVal ( ) const
inline
float const& skim::ParametersNue::LIDVal ( ) const
inline
float const& skim::ParametersNue::MinBackDist ( ) const
inline
float const& skim::ParametersNue::MinBotDist ( ) const
inline
float const& skim::ParametersNue::MinEastDist ( ) const
inline
float const& skim::ParametersNue::MinFrontDist ( ) const
inline
float const& skim::ParametersNue::MinTopDist ( ) const
inline
float const& skim::ParametersNue::MinWestDist ( ) const
inline
float const& skim::ParametersNue::NueEnergy ( ) const
inline

Definition at line 102 of file ParametersNue.h.

References NueCutParameters::fNueEnergy, and fParameters.

Referenced by skim::SelectionNueSA::KeepNueFarDetectorSlice(), and skim::SelectionNueSA::KeepNueNearDetectorSlice().

102 { return fParameters.fNueEnergy; }
NueCutParameters fParameters
float fNueEnergy
reconstructed nue energy
float const& skim::ParametersNue::NumPlane ( ) const
inline

Definition at line 69 of file ParametersNue.h.

References NueCutParameters::fNumPlane, and fParameters.

69 { return fParameters.fNumPlane; }
float fNumPlane
number of planes in slice
NueCutParameters fParameters
float const& skim::ParametersNue::NumShowers ( ) const
inline
float const& skim::ParametersNue::NumShowersLID ( ) const
inline

Definition at line 121 of file ParametersNue.h.

References NueCutParameters::fNumShowersLID, and fParameters.

121 { return fParameters.fNumShowersLID; }
NueCutParameters fParameters
float fNumShowersLID
size of showerLIDs in a slice
float const& skim::ParametersNue::NumXCell ( ) const
inline

Definition at line 72 of file ParametersNue.h.

References NueCutParameters::fNumXCell, and fParameters.

72 { return fParameters.fNumXCell; }
NueCutParameters fParameters
float fNumXCell
number of x cells in slice
float const& skim::ParametersNue::NumYCell ( ) const
inline

Definition at line 73 of file ParametersNue.h.

References NueCutParameters::fNumYCell, and fParameters.

73 { return fParameters.fNumYCell; }
NueCutParameters fParameters
float fNumYCell
number of y cells in slice
NueCutParameters const& skim::ParametersNue::ParametersStruct ( ) const
inline
float const& skim::ParametersNue::PlanesToFront ( ) const
inline
float const& skim::ParametersNue::ProngLength ( ) const
inline
float skim::ParametersNue::SANueRecoE ( float  rawEM,
float  rawHA 
)

Definition at line 442 of file ParametersNue.cxx.

References PandAna.Demos.pi0_spectra::p0, plot_validation_datamc::p1, plot_validation_datamc::p2, make_associated_cosmic_defs::p3, make_associated_cosmic_defs::p4, and make_associated_cosmic_defs::p5.

Referenced by ParametersNue(), and ParametersStruct().

443 {
444  // Values from the fit in docdb 15174
445  float p0 = 0.687;
446  float p1 = 0.702;
447  float p2 = 1.211;
448  float p3 = 0.543;
449  float p4 = 0.248;
450  float p5 = -0.140;
451  float recoEn = rawHA*rawHA*p5 + rawEM*rawEM*p4 + rawEM*rawHA*p3 + rawHA*p2 + rawEM*p1 + p0;
452  return recoEn;
453  }
float const& skim::ParametersNue::ShowerCalE ( ) const
inline

Definition at line 81 of file ParametersNue.h.

References fParameters, and NueCutParameters::fShowerCalE.

Referenced by skim::EvaluatorNue::FillHistograms(), skim::SkimmerAna::FillNueHistograms(), and skim::CosmicBeamComparison::FillNueHistograms().

81 { return fParameters.fShowerCalE; }
NueCutParameters fParameters
float fShowerCalE
calorimetric energy in primary shower in slice
TVector3 const& skim::ParametersNue::ShowerDir ( ) const
inline

Definition at line 84 of file ParametersNue.h.

References fShowerDir.

84 { return fShowerDir; }
TVector3 const& skim::ParametersNue::ShowerEnd ( ) const
inline
float const& skim::ParametersNue::ShowerMaxEndZ ( ) const
inline
float const& skim::ParametersNue::ShowerMaxVtxZ ( ) const
inline
float const& skim::ParametersNue::ShowerMaxX ( ) const
inline
float const& skim::ParametersNue::ShowerMaxY ( ) const
inline
float const& skim::ParametersNue::ShowerMinEndZ ( ) const
inline
float const& skim::ParametersNue::ShowerMinVtxZ ( ) const
inline
float const& skim::ParametersNue::ShowerMinX ( ) const
inline
float const& skim::ParametersNue::ShowerMinY ( ) const
inline
float const& skim::ParametersNue::ShowerNumXCell ( ) const
inline
float const& skim::ParametersNue::ShowerNumYCell ( ) const
inline
float const& skim::ParametersNue::ShowerPt ( ) const
inline
float const& skim::ParametersNue::ShowerTotalE ( ) const
inline

Definition at line 82 of file ParametersNue.h.

References fParameters, and NueCutParameters::fShowerTotalE.

82 { return fParameters.fShowerTotalE; }
NueCutParameters fParameters
float fShowerTotalE
TotalE energy in primary shower in slice.
TVector3 const& skim::ParametersNue::ShowerVertex ( ) const
inline
float const& skim::ParametersNue::ShowerVtxDist ( ) const
inline
float const& skim::ParametersNue::SliceHits ( ) const
inline
float const& skim::ParametersNue::SliceMinPlane ( ) const
inline

Definition at line 97 of file ParametersNue.h.

References fParameters, and NueCutParameters::fSliceMinPlane.

97 { return fParameters.fSliceMinPlane; }
NueCutParameters fParameters
float fSliceMinPlane
minimum plane of the slice
float const& skim::ParametersNue::SliceTotalE ( ) const
inline

Definition at line 101 of file ParametersNue.h.

References fParameters, and NueCutParameters::fSliceTotalE.

101 { return fParameters.fSliceTotalE; }
NueCutParameters fParameters
float fSliceTotalE
TotalE of the slice.
float const& skim::ParametersNue::SparsenessAsymm ( ) const
inline
float const& skim::ParametersNue::SparsenessAsymmSlice ( ) const
inline

Definition at line 117 of file ParametersNue.h.

References fParameters, and NueCutParameters::fSparsenessAsymmSlice.

float fSparsenessAsymmSlice
assymmetry in the zero-hit planes at the start and end of the slice. Used for rejection of backward c...
NueCutParameters fParameters
TVector3 const& skim::ParametersNue::Vertex ( ) const
inline
float const& skim::ParametersNue::VertexMaxW ( ) const
inline

Definition at line 99 of file ParametersNue.h.

References fParameters, and NueCutParameters::fVertexMaxW.

99 { return fParameters.fVertexMaxW; }
NueCutParameters fParameters
float fVertexMaxW
maximum w value of the vertex
bool const& skim::ParametersNue::VetoKeepNue ( ) const
inline

Friends And Related Function Documentation

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

Definition at line 544 of file ParametersNue.cxx.

Referenced by ParametersStruct().

545  {
546  o << "\nfNumPlane " << p.ParametersStruct().fNumPlane
547  << "\nfPlanesToFront " << p.ParametersStruct().fPlanesToFront
548  << "\nfCellsPerPlane " << p.ParametersStruct().fCellsPerPlane
549  << "\nfNumXCell " << p.ParametersStruct().fNumXCell
550  << "\nfNumYCell " << p.ParametersStruct().fNumYCell
551  << "\nfSliceHits " << p.ParametersStruct().fSliceHits
552  << "\nfHitAsymmetry " << p.ParametersStruct().fHitAsymmetry
553  << "\nfNumShowers " << p.ParametersStruct().fNumShowers
554  << "\nfShowerNumXCell " << p.ParametersStruct().fShowerNumXCell
555  << "\nfShowerNumYCell " << p.ParametersStruct().fShowerNumYCell
556  << "\nfCosShowers " << p.ParametersStruct().fCosShowers
557  << "\nfShowerDirX " << p.ParametersStruct().fShowerDirX
558  << "\nfShowerDirY " << p.ParametersStruct().fShowerDirY
559  << "\nfShowerDirZ " << p.ParametersStruct().fShowerDirZ
560  << "\nfProngLength " << p.ParametersStruct().fProngLength
561  << "\nfShowerCalE " << p.ParametersStruct().fShowerCalE
562  << "\nfFracShowerHits " << p.ParametersStruct().fFracShowerHits
563  << "\nfShowerVertexX " << p.ParametersStruct().fShowerVertexX
564  << "\nfShowerVertexY " << p.ParametersStruct().fShowerVertexY
565  << "\nfShowerVertexZ " << p.ParametersStruct().fShowerVertexZ
566  << "\nfShowerEndX " << p.ParametersStruct().fShowerEndX
567  << "\nfShowerEndY " << p.ParametersStruct().fShowerEndY
568  << "\nfShowerEndZ " << p.ParametersStruct().fShowerEndZ
569  << "\nfShowerMinX " << p.ParametersStruct().fShowerMinX
570  << "\nfShowerMinY " << p.ParametersStruct().fShowerMinY
571  << "\nfShowerMaxX " << p.ParametersStruct().fShowerMaxX
572  << "\nfShowerMaxY " << p.ParametersStruct().fShowerMaxY
573  << "\nfShowerMinVtxZ " << p.ParametersStruct().fShowerMinVtxZ
574  << "\nfShowerMinEndZ " << p.ParametersStruct().fShowerMinEndZ
575  << "\nfShowerMaxVtxZ " << p.ParametersStruct().fShowerMaxVtxZ
576  << "\nfShowerMaxEndZ " << p.ParametersStruct().fShowerMaxEndZ
577  << "\nfShowerVtxDist " << p.ParametersStruct().fShowerVtxDist
578  << "\nfShowerPt " << p.ParametersStruct().fShowerPt
579  << "\nfVertexX " << p.ParametersStruct().fVertexX
580  << "\nfVertexY " << p.ParametersStruct().fVertexY
581  << "\nfVertexZ " << p.ParametersStruct().fVertexZ
582  << "\nfVertexMaxW " << p.ParametersStruct().fVertexMaxW
583  << "\nfCalorimetricE " << p.ParametersStruct().fCalorimetricE
584  << "\nfNueEnergy " << p.ParametersStruct().fNueEnergy
585  << "\nfMinWestDist " << p.ParametersStruct().fMinWestDist
586  << "\nfMinEastDist " << p.ParametersStruct().fMinEastDist
587  << "\nfMinBotDist " << p.ParametersStruct().fMinBotDist
588  << "\nfMinTopDist " << p.ParametersStruct().fMinTopDist
589  << "\nfMinFrontDist " << p.ParametersStruct().fMinFrontDist
590  << "\nfMinBackDist " << p.ParametersStruct().fMinBackDist
591  << "\nfDistAllTop " << p.ParametersStruct().fDistAllTop
592  << "\nfDistAllBottom " << p.ParametersStruct().fDistAllBottom
593  << "\nfDistAllWest " << p.ParametersStruct().fDistAllWest
594  << "\nfDistAllEast " << p.ParametersStruct().fDistAllEast
595  << "\nfDistAllFront " << p.ParametersStruct().fDistAllFront
596  << "\nfDistAllBack " << p.ParametersStruct().fDistAllBack
597  << "\nfVetoKeepNue " << p.ParametersStruct().fVetoKeepNue
598  << "\nfSparsenessAsymm " << p.ParametersStruct().fSparsenessAsymm
599  << "\nfSparsenessAsymmSlice " << p.ParametersStruct().fSparsenessAsymmSlice
600  << "\nfLIDVal " << p.ParametersStruct().fLIDVal
601  << "\nfLEMVal " << p.ParametersStruct().fLEMVal
602  << "\nfCVNVal " << p.ParametersStruct().fCVNVal;
603 
604  return o;
605  }
const char * p
Definition: xmltok.h:285

Member Data Documentation

art::ServiceHandle<geo::LiveGeometry> skim::ParametersNue::fLiveGeom
private

the LiveGeometry service

Definition at line 140 of file ParametersNue.h.

NueCutParameters skim::ParametersNue::fParameters
private
art::ServiceHandle<nova::dbi::RunHistoryService> skim::ParametersNue::fRunHistory
private

the RunHistory service

Definition at line 141 of file ParametersNue.h.

Referenced by ParametersNue().

TVector3 skim::ParametersNue::fShowerDir
private

Definition at line 144 of file ParametersNue.h.

Referenced by ParametersNue(), and ShowerDir().

TVector3 skim::ParametersNue::fShowerEnd
private

Definition at line 145 of file ParametersNue.h.

Referenced by ParametersNue(), and ShowerEnd().

TVector3 skim::ParametersNue::fShowerVertex
private

Definition at line 146 of file ParametersNue.h.

Referenced by ParametersNue(), and ShowerVertex().

TVector3 skim::ParametersNue::fVertex
private

Definition at line 147 of file ParametersNue.h.

Referenced by ParametersNue(), and Vertex().


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