Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
skim::SkimmerAna Class Reference
Inheritance diagram for skim::SkimmerAna:
art::EDAnalyzer art::EventObserverBase art::Consumer art::EngineCreator

Public Types

using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 

Public Member Functions

 SkimmerAna (fhicl::ParameterSet const &p)
 
virtual ~SkimmerAna ()
 
 SkimmerAna (SkimmerAna const &)=delete
 
 SkimmerAna (SkimmerAna &&)=delete
 
SkimmerAnaoperator= (SkimmerAna const &)=delete
 
SkimmerAnaoperator= (SkimmerAna &&)=delete
 
void analyze (art::Event const &e) override
 
void reconfigure (fhicl::ParameterSet const &p)
 
void beginJob () override
 
void beginRun (art::Run const &r) override
 
void beginSubRun (art::SubRun const &sr) override
 
std::string workerType () const
 
bool modifiesEvent () const
 
void registerProducts (MasterProductRegistry &, ProductDescriptions &, ModuleDescription const &)
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
art::Handle< art::TriggerResultsgetTriggerResults (Event const &e) const
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Protected Member Functions

CurrentProcessingContext const * currentContext () const
 
detail::CachedProducts & cachedProducts ()
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Private Member Functions

void FillNueHistograms (art::Event const &e)
 
void FillNumuHistograms (art::Event const &e)
 

Private Attributes

std::string fSkimmedLabel
 label of module creating skimmed file More...
 
std::string fCosmicExposureLabel
 label of module creating cosmic exposure More...
 
std::string fPOTSumLabel
 label of module creating pot sum More...
 
std::string fNumuInstance
 label for numu products More...
 
std::string fNueInstance
 label for nue products More...
 
bool fCompareNumuCuts
 bool for comparing the numu cuts More...
 
bool fCompareNueCuts
 bool for comparing the nue cuts More...
 
novadaq::cnv::DetId fDetId
 the id of the detector we are looking at More...
 
art::ServiceHandle< ds::DetectorServicefDetService
 detector service More...
 
TTree * fNumuTree
 Tree to hold values of cut parameters for selected events. More...
 
TTree * fNueTree
 Tree to hold values of cut parameters for selected events. More...
 
NumuCutParameters fNumuCutParams
 from the ParametersNumu object More...
 
NueCutParameters fNueCutParams
 from the ParametersNumu object More...
 
NumuCutParameters fNumuSRParams
 from the ParametersNumu object More...
 
NueCutParameters fNueSRParams
 from the ParametersNumu object More...
 
EventInfo fEventInfo
 keep track of run and subrun, and event More...
 
TH1F * fPOTByRun
 
TH1F * fGoodPOTByRun
 
TH1F * fCosmicExposureByRun
 
TH1F * fNeutrinoE
 
TH1F * fReMId
 
TH1F * fSliceHits
 
TH1F * fSliceContigPlanes
 
TH1F * fCellsFromEdge
 
TH1F * fQePId1Track
 
TH1F * fQePId2Track
 
TH1F * fFDKalmanFwdCell
 
TH1F * fFDKalmanBakCell
 
TH1F * fFDCosFwdCell
 
TH1F * fFDCosBakCell
 
TH1F * fFDPlanesToFront
 
TH1F * fFDPlanesToBack
 
TH1F * fFDKalmanAngle
 
TH1F * fFDContPID
 
TH1F * fFDSliceHits
 
TH1F * fNDMaxPlaneHit
 
TH1F * fNDMinPlaneHit
 
TH1F * fNDTrackStartZ
 
TH1F * fNDTrackStopZ
 
TH1F * fNDKalmanFwdCell
 
TH1F * fNDKalmanBakCell
 
TH1F * fNDHadCalEnergySum
 
TH1F * fFDSliceHitsPerPlane
 
TH1F * fFDSliceHitsXView
 
TH1F * fFDSliceHitsYView
 
TH1F * fFDSliceHitsViewAsym
 
TH1F * fFDSliceCosAngleShw
 
TH1F * fFDSliceDistShwVtx
 
TH1F * fFDSliceFracShwHits
 
TH1F * fFDVtxDistToEastWall
 
TH1F * fFDVtxDistToWestWall
 
TH1F * fFDVtxDistToTop
 
TH1F * fFDVtxDistToBottom
 
TH1F * fFDVtxDistToFront
 
TH1F * fFDVtxDistToBack
 
TH1F * fFDPt
 
TH1F * fCalorimetricEnergy
 
TH1F * fLEM
 
TH1F * fCVN
 
TH1F * fLID
 
TH1F * fNDVtxX
 
TH1F * fNDVtxY
 
TH1F * fNDVtxZ
 
TH1F * fNDNShowers
 
TH1F * fNDShwVtxX
 
TH1F * fNDShwVtxY
 
TH1F * fNDShwVtxZ
 
TH1F * fNDShwEndX
 
TH1F * fNDShwEndY
 
TH1F * fNDShwEndZ
 
TH1F * fNDShowerCalE
 
TH1F * fNDShowerCalEfraction
 
TH1F * fNDShowerDistToVtx
 
TH1F * fNDShowerLength
 
TH1F * fNDCalorimetricE
 
TH1F * fNDCalEperHit
 
TH1F * fNDPlanesToFront
 
TH1F * fNDSliceHits
 
TH1F * fNDSliceNHitsPerPlane
 
TH1F * fNDSliceNoShowerCalE
 

Detailed Description

Definition at line 60 of file SkimmerAna_module.cc.

Member Typedef Documentation

Definition at line 39 of file EDAnalyzer.h.

Definition at line 38 of file EDAnalyzer.h.

Constructor & Destructor Documentation

skim::SkimmerAna::SkimmerAna ( fhicl::ParameterSet const &  p)
explicit

Definition at line 183 of file SkimmerAna_module.cc.

References reconfigure().

184 : EDAnalyzer(p)
185 {
186  this->reconfigure(p);
187 
188  return;
189 }
void reconfigure(fhicl::ParameterSet const &p)
const char * p
Definition: xmltok.h:285
EDAnalyzer(Table< Config > const &config)
Definition: EDAnalyzer.h:100
skim::SkimmerAna::~SkimmerAna ( )
virtual

Definition at line 192 of file SkimmerAna_module.cc.

193 {
194 }
skim::SkimmerAna::SkimmerAna ( SkimmerAna const &  )
delete
skim::SkimmerAna::SkimmerAna ( SkimmerAna &&  )
delete

Member Function Documentation

void skim::SkimmerAna::analyze ( art::Event const &  e)
overridevirtual

Implements art::EDAnalyzer.

Definition at line 370 of file SkimmerAna_module.cc.

References art::EventID::event(), EventInfo::event, fEventInfo, FillNueHistograms(), FillNumuHistograms(), fNueInstance, fNumuInstance, art::Event::id(), LOG_VERBATIM, art::Event::run(), EventInfo::run, art::Event::subRun(), and EventInfo::subrun.

371 {
372  fEventInfo.run = e.run();
373  fEventInfo.subrun = e.subRun();
374  fEventInfo.event = e.id().event();
375 
376  // LOG_DEBUG("SkimmerAna")
377  LOG_VERBATIM("SkimmerAna") <<" ===========>>>>> SkimmerAna "
378  << e.run() << " " << e.subRun() << " " << e.id().event();
379 
380  if( !fNumuInstance.empty() ) this->FillNumuHistograms(e);
381  if( !fNueInstance.empty() ) this->FillNueHistograms(e);
382 
383  return;
384 }
void FillNueHistograms(art::Event const &e)
std::string fNueInstance
label for nue products
EventInfo fEventInfo
keep track of run and subrun, and event
std::string fNumuInstance
label for numu products
void FillNumuHistograms(art::Event const &e)
#define LOG_VERBATIM(category)
Float_t e
Definition: plot.C:35
void skim::SkimmerAna::beginJob ( )
overridevirtual

2017

Reimplemented from art::EDAnalyzer.

Definition at line 197 of file SkimmerAna_module.cc.

References fCalorimetricEnergy, fCellsFromEdge, fCosmicExposureByRun, fCVN, fEventInfo, fFDContPID, fFDCosBakCell, fFDCosFwdCell, fFDKalmanAngle, fFDKalmanBakCell, fFDKalmanFwdCell, fFDPlanesToBack, fFDPlanesToFront, fFDPt, fFDSliceCosAngleShw, fFDSliceDistShwVtx, fFDSliceFracShwHits, fFDSliceHits, fFDSliceHitsPerPlane, fFDSliceHitsViewAsym, fFDSliceHitsXView, fFDSliceHitsYView, fFDVtxDistToBack, fFDVtxDistToBottom, fFDVtxDistToEastWall, fFDVtxDistToFront, fFDVtxDistToTop, fFDVtxDistToWestWall, fGoodPOTByRun, fLEM, fLID, fNDCalEperHit, fNDCalorimetricE, fNDHadCalEnergySum, fNDKalmanBakCell, fNDKalmanFwdCell, fNDMaxPlaneHit, fNDMinPlaneHit, fNDNShowers, fNDPlanesToFront, fNDShowerCalE, fNDShowerCalEfraction, fNDShowerDistToVtx, fNDShowerLength, fNDShwEndX, fNDShwEndY, fNDShwEndZ, fNDShwVtxX, fNDShwVtxY, fNDShwVtxZ, fNDSliceHits, fNDSliceNHitsPerPlane, fNDSliceNoShowerCalE, fNDTrackStartZ, fNDTrackStopZ, fNDVtxX, fNDVtxY, fNDVtxZ, fNeutrinoE, fNueCutParams, fNueInstance, fNueSRParams, fNueTree, fNumuCutParams, fNumuInstance, fNumuSRParams, fNumuTree, fPOTByRun, fQePId1Track, fQePId2Track, fReMId, fSliceContigPlanes, fSliceHits, and art::TFileDirectory::make().

198 {
199 
200  // make histograms for each selection criteria
202 
203  std::string infost("run/I:subrun/I:event/I");
204 
205  fPOTByRun = tfs->make<TH1F>("potByRun", ";Run Number;POT (#times 10^{15})", 10000, 10000., 20000.);
206  fGoodPOTByRun = tfs->make<TH1F>("goodPOTByRun", ";Run Number;POT (#times 10^{15})", 10000, 10000., 20000.);
207  fCosmicExposureByRun = tfs->make<TH1F>("cosmicExposureByRun", ";Run Number;Exposure (s)", 10000, 10000., 20000.);
208 
209  if( !fNumuInstance.empty() ){
210  fNeutrinoE = tfs->make<TH1F>("neutrinoE", ";E_{#nu} (GeV);Events", 100, 0., 10. );
211  fReMId = tfs->make<TH1F>("remid", ";ReMId;Events", 200, -1., 1. );
212  fSliceHits = tfs->make<TH1F>("sliceHits", ";Hits In Slice;Events", 100, 0., 400. );
213  fSliceContigPlanes = tfs->make<TH1F>("sliceContigPlanes", ";Contiguous Planes in Slice;Events", 50, 0., 50. );
214  fCellsFromEdge = tfs->make<TH1F>("cellsFromEdge", ";Cells From Edge;Events", 50, 0., 50. );
215  fQePId1Track = tfs->make<TH1F>("qepid1Track", ";QePId_{1 track};Events", 200, -1., 1. );
216  fQePId2Track = tfs->make<TH1F>("qepid2Track", ";QePId_{2 tracks};Events", 200, -1., 1. );
217  fFDKalmanFwdCell = tfs->make<TH1F>("fdKalmanFwdCell", ";Kalman Foward Cell;Events", 100, 0., 100. );
218  fFDKalmanBakCell = tfs->make<TH1F>("fdKalmanBakCell", ";Kalman Backward Cell;Events", 100, 0., 100. );
219  fFDCosFwdCell = tfs->make<TH1F>("fdCosFwdCell", ";cos Foward Cell;Events", 100, 0., 100. );
220  fFDCosBakCell = tfs->make<TH1F>("fdCosBakCell", ";cos Backward Cell;Events", 100, 0., 100. );
221  fFDPlanesToFront = tfs->make<TH1F>("fdPlanesToFront", ";Planes to Front;Events", 100, 0., 100. );
222  fFDPlanesToBack = tfs->make<TH1F>("fdPlanesToBack", ";Planes to Back;Events", 100, 0., 100. );
223  fFDKalmanAngle = tfs->make<TH1F>("fdKalmanAngle", ";Kalman Angle;Events", 200, -4., 4. );
224  fFDContPID = tfs->make<TH1F>("fdContPID", ";ContPID;Events", 200, -1., 1. );
225  fFDSliceHits = tfs->make<TH1F>("fdSliceHits", ";Slice Hits;Events", 500, 0., 500. );
226 
227  fNDMaxPlaneHit = tfs->make<TH1F>("ndMaxPlaneHit", ";Max Hit Plane;Events", 220, 0., 220. );
228  fNDMinPlaneHit = tfs->make<TH1F>("ndMinPlaneHit", ";Min Hit Plane;Events", 220, 0., 220. );
229  fNDTrackStartZ = tfs->make<TH1F>("ndTrackStartZ", ";Track Starting Z Pos (cm);Events", 200, 0., 2000.);
230  fNDTrackStopZ = tfs->make<TH1F>("ndTrackStopZ", ";Track Ending Z Pos (cm);Events", 200, 0., 2000.);
231  fNDKalmanFwdCell = tfs->make<TH1F>("ndKalmanFwdCell", ";Kalman Foward Cell;Events", 100, 0., 100. );
232  fNDKalmanBakCell = tfs->make<TH1F>("ndKalmanBakCell", ";Kalman Backward Cell;Events", 100, 0., 100. );
233  fNDHadCalEnergySum = tfs->make<TH1F>("ndHadCalEnergySum", ";Hadronic Energy (GeV);Events", 100, 0., 10. );
234 
235  std::string paramst("fBestPIDTrack/F:fNeutrinoE/F:fNDHadronicCal/F:");
236  paramst.append("fReMIdVal/D:fQePIDVal/F:fQePIDNTracks/F:");
237  paramst.append("fSliceHits/F:fSliceContigPlanes/F:fSliceMaxPlane/F:fSliceMinPlane/F:fSliceCellsFromEdge/F:");
238  paramst.append("fPlanesToFront/F:fPlanesToBack/F:fCosRejKalFwdCell/F:fCosRejKalBakCell/F:fCosRejAngleKal/F:");
239  paramst.append("fCosRejCosBakCell/F:fCosRejCosFwdCell/F:fCosRejConCosPID/F:fCosRejKalBakCellND/F:fCosRejKalFwdCellND/F:");
240  paramst.append("fCosRejKalYPosAtTrans/F:fTrackStartZ/F:fTrackStopZ/F:fTrackCCE/F");
241  paramst.append("fMinWestDist/F:fMinEastDist/F:fMinBotDist/F:fMinTopDist/F:fMinFrontDist/F:fMinBackDist:"); /// 2017
242  fNumuTree = tfs->make<TTree>("Numu", "Skimmed Numu Interaction Cut Parameters");
243  fNumuTree->Branch("info", &fEventInfo, infost .c_str());
244  fNumuTree->Branch("params", &fNumuCutParams, paramst.c_str());
245  fNumuTree->Branch("sr", &fNumuSRParams, paramst.c_str());
246  }
247 
248  if( !fNueInstance.empty() ){
249  fLEM = tfs->make<TH1F>("lem", ";LEM;Slices", 100, 0., 1. );
250  fCVN = tfs->make<TH1F>("cvn", ";CVN;Slices", 100, 0., 1. );
251  fLID = tfs->make<TH1F>("lid", ";LID;Slices", 240, -0.1, 1.1);
252  fCalorimetricEnergy = tfs->make<TH1F>("calorimetricE", ";Calorimetric E (GeV)", 100, 0., 50.);
253 
254  fFDSliceHitsPerPlane = tfs->make<TH1F>("fdSliceHitsPerPlane", ";Slice Hits/Plane;Slices", 100, 0., 50.);
255  fFDSliceHitsXView = tfs->make<TH1F>("fdSliceHitsXView", ";Slice Hits (X view);Slices", 100, 0., 100.);
256  fFDSliceHitsYView = tfs->make<TH1F>("fdSliceHitsYView", ";Slice Hits (Y view);Slices", 100, 0., 100.);
257  fFDSliceHitsViewAsym = tfs->make<TH1F>("fdSliceHitsViewAsym", ";Slice Hits View Asymmetry;Slices", 200, -10., 10.);
258  fFDSliceCosAngleShw = tfs->make<TH1F>("fdSliceCosAngleShw", ";cos(#theta_{showers});Slices", 100, -1., 1.);
259  fFDSliceDistShwVtx = tfs->make<TH1F>("fdSliceDistShwVtx", ";#DeltaL_{shower,vertex};Slices", 100, 0., 400.);
260  fFDSliceFracShwHits = tfs->make<TH1F>("fdSliceFracShwHits", ";Hits_{shower}/Hits_{slice};Slices", 50, 0., 2.);
261  fFDVtxDistToEastWall = tfs->make<TH1F>("fdVtxDistToEastWall", ";Distance to East Wall;Showers", 100, 0., 100.);
262  fFDVtxDistToWestWall = tfs->make<TH1F>("fdVtxDistToWestWall", ";Distance to West Wall;Showers", 100, 0., 100.);
263  fFDVtxDistToTop = tfs->make<TH1F>("fdVtxDistToTop", ";Distance to Top;Showers", 100, 0., 400.);
264  fFDVtxDistToBottom = tfs->make<TH1F>("fdVtxDistToBottom", ";Distance to Bottom;Showers", 100, 0., 400.);
265  fFDVtxDistToFront = tfs->make<TH1F>("fdVtxDistToFront", ";Distance to Front;Showers", 100, 0., 100.);
266  fFDVtxDistToBack = tfs->make<TH1F>("fdVtxDistToBack", ";Distance to Back;Showers", 100, 0., 400.);
267  fFDPt = tfs->make<TH1F>("fdPt", ";p_{t};Showers", 50, 0., 2.);
268 
269  // now the ND histograms
270  fNDNShowers = tfs->make<TH1F>("ndNshowers", ";Nnumber of Showers;Slices", 10, 0., 10.);
271  fNDShowerCalE = tfs->make<TH1F>("ndshowercale", ";Shower E_{calorimetric};Slices", 120, 0., 6.);
272  fNDShowerCalEfraction = tfs->make<TH1F>("ndshowercalefrac", ";Fraction of Slice E in Shower;Slices", 110, 0., 1.1);
273  fNDSliceNoShowerCalE = tfs->make<TH1F>("ndnoshowercale", ";(Slice -Shower) E_{calorimetric};Slices",120, 0., 6.);
274  fNDShowerDistToVtx = tfs->make<TH1F>("ndNshowergap", ";Shower Distance to Vertex;Slices", 25, 0., 200.);
275  fNDVtxX = tfs->make<TH1F>("ndVtxX", ";x_{vertex} (cm);Showers", 200, -200., 200.);
276  fNDVtxY = tfs->make<TH1F>("ndVtxY", ";y_{vertex} (cm);Showers", 200, -200., 200.);
277  fNDVtxZ = tfs->make<TH1F>("ndVtxZ", ";z_{vertex} (cm);Showers", 700, 0., 1400.);
278  fNDShwVtxX = tfs->make<TH1F>("ndShwVtxX", ";x_{vertex} (cm);Showers", 200, -200., 200.);
279  fNDShwVtxY = tfs->make<TH1F>("ndShwVtxY", ";y_{vertex} (cm);Showers", 200, -200., 200.);
280  fNDShwVtxZ = tfs->make<TH1F>("ndShwVtxZ", ";z_{vertex} (cm);Showers", 700, 0., 1400.);
281  fNDShwEndX = tfs->make<TH1F>("ndShwEndX", ";x_{vertex} (cm);Showers", 200, -200., 200.);
282  fNDShwEndY = tfs->make<TH1F>("ndShwEndY", ";y_{vertex} (cm);Showers", 200, -200., 200.);
283  fNDShwEndZ = tfs->make<TH1F>("ndShwEndZ", ";z_{vertex} (cm);Showers", 700, 0., 1400.);
284  fNDSliceHits = tfs->make<TH1F>("ndSliceHits", ";Hits in Slice;Slices", 500, 0., 500.);
285  fNDCalorimetricE = tfs->make<TH1F>("ndCalorimetricE", ";E_{calorimetric} (GeV);Showers", 120, 0., 6.);
286  fNDCalEperHit = tfs->make<TH1F>("ndCalEperHit", ";E_{calorimetric}/ hit ;Slices", 100, 0., 0.1);
287  fNDShowerLength = tfs->make<TH1F>("ndShowerLength", ";L_{shower} (cm);Showers", 700, 0., 1400.);
288  fNDSliceNHitsPerPlane = tfs->make<TH1F>("ndSliceHitsPerPlane", ";Slice Hits/Plane;Slices", 100, 0., 50.);
289  fNDPlanesToFront = tfs->make<TH1F>("ndPlanesToFront", ";Planes to Front;Events", 600, 0., 600.);
290 
291  std::string paramst("fNumPlane/F:fPlanesToFront/F:fCellsPerPlane/F:fNumXCell/F:fNumYCell/F:");
292  paramst.append("fSliceHits/F:fHitAsymmetry/F:fNumShowers/F:fShowerNumXCell/F:fShowerNumYCell/F:");
293  paramst.append("fCosShowers/F:fShowerDirX/F:fShowerDirY/F:fShowerDirZ/F:");
294  paramst.append("fShowerCalE/F:fShowerLength/F:fFracShowerHits/F:");
295  paramst.append("fShowerVertexX/F:fShowerVertexY/F:fShowerVertexZ/F:");
296  paramst.append("fShowerEndX/F:fShowerEndY/F:fShowerEndZ/F:");
297  paramst.append("fShowerMinX/F:fShowerMinY/F:fShowerMaxX/F:fShowerMaxY/F:fShowerMinVtxZ/F:");
298  paramst.append("fShowerMinEndZ/F:fShowerMaxVtxZ/F:fShowerMaxEndZ/F:fShowerVtxDist/F:fShowerPt/F:");
299  paramst.append("fSliceMinPlane/F:fVertexX/F:fVertexY/F:fVertexZ/F:fVertexMaxW/F:fCalorimetricE/F:fNueEnergy/F:");
300  paramst.append("fMinWestDist/F:fMinEastDist/F:fMinBotDist/F:fMinTopDist/F:fMinFrontDist/F:fMinBackDist:");
301  paramst.append("fLIDVal/F:fLEMVal/F:fCVNVal/F");
302  fNueTree = tfs->make<TTree>("Nue", "Skimmed Nue Interaction Cut Parameters");
303  fNueTree->Branch("info", &fEventInfo, infost .c_str());
304  fNueTree->Branch("params", &fNueCutParams, paramst.c_str());
305  fNueTree->Branch("sr", &fNueSRParams, paramst.c_str());
306 
307  }
308 
309  // scan all the parameters in an interactive ROOT session
310  // Numu->Scan("info.run:info.event:params.fBestPIDTrack:params.fNeutrinoE:params.fNDHadronicCal:params.fReMIdVal:params.fQePIDVal:params.fQePIDNTracks:params.fSliceHits:params.fSliceContigPlanes:params.fSliceMaxPlane:params.fSliceMinPlane:params.fSliceCellsFromEdge:params.fPlanesToFront:params.fPlanesToBack:params.fCosRejKalFwdCell:params.fCosRejKalBakCell:params.fCosRejAngleKal:params.fCosRejCosBakCell:params.fCosRejCosFwdCell:params.fCosRejConCosPID:params.fCosRejKalBakCellND:params.fCosRejKalFwdCellND:params.fCosRejKalYPosAtTrans:params.fTrackStartZ:params.fTrackStopZ:params.fTrackCCE");
311 
312  // compare the values from skimming vs CAF
313  // Numu->Scan("info.run:info.event:params.fBestPIDTrack/sr.fBestPIDTrack:params.fNeutrinoE/sr.fNeutrinoE:params.fNDHadronicCal/sr.fNDHadronicCal:params.fReMIdVal/sr.fReMIdVal:params.fQePIDVal/sr.fQePIDVal:params.fQePIDNTracks/sr.fQePIDNTracks:params.fSliceHits/sr.fSliceHits:params.fSliceContigPlanes/sr.fSliceContigPlanes:params.fSliceMaxPlane/sr.fSliceMaxPlane:params.fSliceMinPlane/sr.fSliceMinPlane:params.fSliceCellsFromEdge/sr.fSliceCellsFromEdge:params.fPlanesToFront/sr.fPlanesToFront:params.fPlanesToBack/sr.fPlanesToBack:params.fCosRejKalFwdCell/sr.fCosRejKalFwdCell:params.fCosRejKalBakCell/sr.fCosRejKalBakCell:params.fCosRejAngleKal/sr.fCosRejAngleKal:params.fCosRejCosBakCell/sr.fCosRejCosBakCell:params.fCosRejCosFwdCell/sr.fCosRejCosFwdCell:params.fCosRejConCosPID/sr.fCosRejConCosPID:params.fCosRejKalBakCellND/sr.fCosRejKalBakCellND:params.fCosRejKalFwdCellND/sr.fCosRejKalFwdCellND:params.fCosRejKalYPosAtTrans/sr.fCosRejKalYPosAtTrans:params.fTrackStartZ/sr.fTrackStartZ:params.fTrackStopZ/sr.fTrackStopZ:params.fTrackCCE/sr.fTrackCCE");
314 
315 // Nue->Scan("info.run:info.event:params.fNumPlane:params.fCellsPerPlane:fNumXCell:params.fNumYCell:params.fSliceHits:params.fHitAsymmetry:params.fCosShowers:params.fShowerDirX:params.fShowerDirY:params.fShowerDirZ:params.fShowerLength:params.fFracShowerHits:params.fShowerVertexX:params.fShowerVertexY:params.fShowerVertexZ:params.fShowerEndX:params.fShowerEndY:params.fShowerEndZ:params.fShowerMaxW:params.fShowerMaxW:params.fShowerMinVtxZ:params.fShowerMinEndZ:params.fShowerMaxVtxZ:params.fShowerMaxEndZ:params.fShowerVtxDist:params.fShowerPt:params.fVertexX:params.fVertexY:params.fVertexZ:params.fVertexMaxW:params.fCalorimetricE:params.fMinWestDist:params.fMinEastDist:params.fMinBotDist:params.fMinTopDist:params.fMinFrontDist:params.fMinBackDist");
316 
317 
318  return;
319 }
TTree * fNumuTree
Tree to hold values of cut parameters for selected events.
NueCutParameters fNueCutParams
from the ParametersNumu object
std::string fNueInstance
label for nue products
EventInfo fEventInfo
keep track of run and subrun, and event
NumuCutParameters fNumuCutParams
from the ParametersNumu object
TTree * fNueTree
Tree to hold values of cut parameters for selected events.
std::string fNumuInstance
label for numu products
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
T * make(ARGS...args) const
NueCutParameters fNueSRParams
from the ParametersNumu object
NumuCutParameters fNumuSRParams
from the ParametersNumu object
void skim::SkimmerAna::beginRun ( art::Run const &  r)
overridevirtual

Reimplemented from art::EDAnalyzer.

Definition at line 322 of file SkimmerAna_module.cc.

References ds::DetectorService::DetId(), fDetId, and fDetService.

323 {
324  fDetId = fDetService->DetId();
325 
326  return;
327 }
novadaq::cnv::DetId DetId() const
What detector are we in?
novadaq::cnv::DetId fDetId
the id of the detector we are looking at
art::ServiceHandle< ds::DetectorService > fDetService
detector service
void skim::SkimmerAna::beginSubRun ( art::SubRun const &  sr)
overridevirtual

Reimplemented from art::EDAnalyzer.

Definition at line 330 of file SkimmerAna_module.cc.

References fCosmicExposureByRun, fGoodPOTByRun, fPOTByRun, art::DataViewImpl::getManyByType(), LOG_DEBUG, pot, and art::SubRun::run().

331 {
332  // get the CosmicExposure and POTSum out of the subrun
333  //art::Handle<sumdata::CosmicExposure> ce;
334  //art::Handle<sumdata::POTSum> pot;
335  //sr.getByLabel(fCosmicExposureLabel, ce );
336  //sr.getByLabel(fPOTSumLabel, pot);
337 
338 // if( ce.isValid() ){
339 // LOG_DEBUG("SkimmerAna") << sr.run() << " " << ce->totlivetime;
340 // fCosmicExposureByRun->Fill(sr.run(), ce->totlivetime);
341 // }
342 // else LOG_DEBUG("SkimmerAna") << "No cosmic exposure found";
343 // if( pot.isValid() ){
344 // LOG_DEBUG("SkimmerAna") << sr.run() << " " << pot->totgoodpot;
345 // fPOTByRun->Fill(sr.run(), 1.e-16 * pot->totgoodpot);
346 // }
347 // else LOG_DEBUG("SkimmerAna") << "No pot summary found";
348 
349  std::vector<art::Handle<sumdata::CosmicExposure>> ce;
350  std::vector<art::Handle<sumdata::POTSum>> pot;
351  sr.getManyByType(ce );
352  sr.getManyByType(pot);
353  if( ce.size() > 0 ){
354  LOG_DEBUG("SkimmerAna") << sr.run() << " " << ce[0]->totlivetime;
355  fCosmicExposureByRun->Fill(sr.run(), ce[0]->totlivetime);
356  }
357  else LOG_DEBUG("SkimmerAna") << "No cosmic exposure found";
358  if( pot.size() > 0 ){
359  LOG_DEBUG("SkimmerAna") << sr.run() << " " << pot[0]->totgoodpot;
360  fPOTByRun->Fill(sr.run(), 1.e-3 * pot[0]->totpot);
361  fGoodPOTByRun->Fill(sr.run(), 1.e-3 * pot[0]->totgoodpot);
362  }
363  else LOG_DEBUG("SkimmerAna") << "No pot summary found";
364 
365 
366  return;
367 }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
#define pot
static constexpr Double_t sr
Definition: Munits.h:164
detail::CachedProducts& art::EventObserverBase::cachedProducts ( )
inlineprotectedinherited

Definition at line 79 of file EventObserverBase.h.

References art::EventObserverBase::selectors_.

80  {
81  return selectors_;
82  }
detail::CachedProducts selectors_
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDAnalyzer::currentContext ( ) const
protectedinherited
void skim::SkimmerAna::FillNueHistograms ( art::Event const &  e)
private

Definition at line 406 of file SkimmerAna_module.cc.

References skim::ParametersNue::CalorimetricE(), skim::ParametersNue::CellsPerPlane(), skim::ParametersNue::CosShowers(), skim::ParametersNue::CVNVal(), fCalorimetricEnergy, fCVN, fDetId, fFDPt, fFDSliceCosAngleShw, fFDSliceDistShwVtx, fFDSliceFracShwHits, fFDSliceHitsPerPlane, fFDSliceHitsViewAsym, fFDSliceHitsXView, fFDSliceHitsYView, fFDVtxDistToBack, fFDVtxDistToBottom, fFDVtxDistToEastWall, fFDVtxDistToFront, fFDVtxDistToTop, fFDVtxDistToWestWall, skim::SkimmingUtils::FillSliceVector(), fLEM, fLID, fmc, fNDCalEperHit, fNDCalorimetricE, fNDNShowers, fNDPlanesToFront, fNDShowerCalE, fNDShowerCalEfraction, fNDShowerDistToVtx, fNDShowerLength, fNDShwEndX, fNDShwEndY, fNDShwEndZ, fNDShwVtxX, fNDShwVtxY, fNDShwVtxZ, fNDSliceHits, fNDSliceNHitsPerPlane, fNDSliceNoShowerCalE, fNDVtxX, fNDVtxY, fNDVtxZ, fNueCutParams, fNueInstance, fNueTree, skim::ParametersNue::FracShowerHits(), fSkimmedLabel, art::DataViewImpl::getValidHandle(), skim::ParametersNue::HitAsymmetry(), novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, skim::ParametersNue::LEMVal(), skim::ParametersNue::LIDVal(), LOG_DEBUG, LOG_WARNING, skim::ParametersNue::MinBackDist(), skim::ParametersNue::MinBotDist(), skim::ParametersNue::MinEastDist(), skim::ParametersNue::MinFrontDist(), skim::ParametersNue::MinTopDist(), skim::ParametersNue::MinWestDist(), skim::ParametersNue::NumShowers(), skim::ParametersNue::ParametersStruct(), skim::ParametersNue::PlanesToFront(), skim::ParametersNue::ProngLength(), skim::ParametersNue::ShowerCalE(), skim::ParametersNue::ShowerEnd(), skim::ParametersNue::ShowerNumXCell(), skim::ParametersNue::ShowerNumYCell(), skim::ParametersNue::ShowerPt(), skim::ParametersNue::ShowerVertex(), skim::ParametersNue::ShowerVtxDist(), skim::ParametersNue::SliceHits(), getGoodRuns4SAM::tag, and skim::ParametersNue::Vertex().

Referenced by analyze().

407 {
408  // get the relevant data products out of the event record
409  // need the slice, the vertex for the slice, and the showers in the slice
411  auto sliceHandle = e.getValidHandle< std::vector<rb::Cluster> >(tag);
412  if( sliceHandle.failedToGet() ){
413  LOG_WARNING("SkimmerAna") << "No slices passing nue selection in this event";
414  return;
415  }
416 
417  art::FindMany<rb::Shower> fms (sliceHandle, e, tag);
418  art::FindMany<rb::Prong> fmp (sliceHandle, e, tag);
419  art::FindMany<rb::Vertex> fmv (sliceHandle, e, tag);
420  art::FindMany<cosrej::NueCosRej> fmc (sliceHandle, e, tag);
421  art::FindMany<slid::EventLID> fmlid (sliceHandle, e, tag);
422  art::FindMany<lem::PIDDetails> fmlem (sliceHandle, e, tag);
423  art::FindMany<cvn::Result> fmcvn (sliceHandle, e, tag);
424  art::FindMany<presel::Veto> fmnueveto(sliceHandle, e, tag);
425 
426 
428 
429  for(size_t s = 0; s < sliceHandle->size(); ++s){
430 
431  std::vector<rb::Shower const*> showers;
432  std::vector<rb::Prong const*> prongs;
433  std::vector<rb::Vertex const*> vertices;
434  std::vector<slid::ShowerLID const*> slids;
435  std::vector<slid::EventLID const*> elids;
436  std::vector<lem::PIDDetails const*> lems;
437  std::vector<cvn::Result const*> cvns;
438  std::vector<presel::Veto const*> nuevetos;
439  std::vector<cosrej::NueCosRej const*> cosrejs;
440 
441  su.FillSliceVector(s, fmv, vertices);
442  su.FillSliceVector(s, fmc, cosrejs);
443  su.FillSliceVector(s, fms, showers);
444  su.FillSliceVector(s, fmp, prongs);
445  su.FillSliceVector(s, fmlid, elids);
446  su.FillSliceVector(s, fmlem, lems);
447  su.FillSliceVector(s, fmcvn, cvns);
448  su.FillSliceVector(s, fmnueveto, nuevetos);
449  su.FillSliceVector(e, tag, showers, slids);
450 
451  if(vertices.size() != 1 ||
452  cosrejs .size() != 1 ||
453  lems .size() != 1 ||
454  cvns .size() != 1 ||
455  elids .size() != 1 ||
456  showers .size() < 1 ||
457  prongs .size() < 1 ||
458  slids .size() != showers.size()){
459  LOG_DEBUG("SkimmerAna")
460  << "Wrong number of vertices: " << vertices.size()
461  << " : 1 or cosrejs: " << cosrejs .size()
462  << " : 1 or lids: " << elids .size()
463  << " : 1 or lems: " << lems .size()
464  << " : 1 or cvns: " << cvns .size()
465  << " : 1 or showers: " << showers .size()
466  << " : or prongs: " << prongs .size()
467  << " or slids: " << slids .size()
468  << " for the skimmed slice, that should never happen";
469  continue;
470  }
471 
472  // make the parameters object
473  skim::ParametersNue params((*sliceHandle)[s],
474  *(vertices[0]),
475  *(cosrejs[0]),
476  showers,
477  prongs,
478  slids,
479  *(elids[0]),
480  *(lems[0]),
481  *(cvns[0]),
482  *(nuevetos[0]));
483 
484 
485  //skim::ParametersNue sr(fosr.at(s).ref());
486 
487  fNueCutParams = params.ParametersStruct();
488  //fNueSRParams = sr .ParametersStruct();
489 
490  //if (fCompareNueCuts) params.Compare(fNueSRParams);
491 
492  fLEM ->Fill(params.LEMVal());
493  fCVN ->Fill(params.CVNVal());
494  fLID ->Fill(params.LIDVal());
495  fCalorimetricEnergy->Fill(params.CalorimetricE());
496 
498  fFDSliceHitsPerPlane->Fill(params.CellsPerPlane());
499  fFDSliceHitsXView ->Fill(params.ShowerNumXCell());
500  fFDSliceHitsYView ->Fill(params.ShowerNumYCell());
501  fFDSliceHitsViewAsym->Fill(params.HitAsymmetry());
502  fFDSliceCosAngleShw ->Fill(params.CosShowers());
503  fFDSliceDistShwVtx ->Fill(params.ShowerVtxDist());
504  fFDSliceFracShwHits ->Fill(params.FracShowerHits());
505  fFDVtxDistToEastWall->Fill(params.MinEastDist());
506  fFDVtxDistToWestWall->Fill(params.MinWestDist());
507  fFDVtxDistToTop ->Fill(params.MinTopDist());
508  fFDVtxDistToBottom ->Fill(params.MinBotDist());
509  fFDVtxDistToFront ->Fill(params.MinFrontDist());
510  fFDVtxDistToBack ->Fill(params.MinBackDist());
511  fFDPt ->Fill(params.ShowerPt());
512  }
513 
515  fNDVtxX ->Fill(params.Vertex().X() );
516  fNDVtxY ->Fill(params.Vertex().Y() );
517  fNDVtxZ ->Fill(params.Vertex().Z() );
518  fNDShwVtxX ->Fill(params.ShowerVertex().X());
519  fNDShwVtxY ->Fill(params.ShowerVertex().Y());
520  fNDShwVtxZ ->Fill(params.ShowerVertex().Z());
521  fNDShwEndX ->Fill(params.ShowerEnd().X() );
522  fNDShwEndY ->Fill(params.ShowerEnd().Y() );
523  fNDShwEndZ ->Fill(params.ShowerEnd().Z() );
524  fNDSliceHits ->Fill(params.SliceHits() );
525  fNDCalorimetricE ->Fill(params.CalorimetricE() );
526  fNDShowerLength ->Fill(params.ProngLength() );
527  fNDSliceNHitsPerPlane->Fill(params.CellsPerPlane() );
528  fNDPlanesToFront ->Fill(params.PlanesToFront() );
529  fNDNShowers ->Fill(params.NumShowers() );
530  fNDShowerDistToVtx ->Fill(params.ShowerVtxDist() );
531  fNDShowerCalE ->Fill(params.ShowerCalE() );
532  fNDShowerCalEfraction->Fill(params.ShowerCalE() / params.CalorimetricE());
533  fNDSliceNoShowerCalE ->Fill(params.CalorimetricE() - params.ShowerCalE() );
534  fNDCalEperHit ->Fill(params.CalorimetricE() / params.SliceHits() );
535  }
536 
537  fNueTree->Fill();
538 
539  } // end loop over skimmed slices
540 
541  return;
542 }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
NueCutParameters fNueCutParams
from the ParametersNumu object
TFile * fmc
Definition: bdt_com.C:14
std::string fNueInstance
label for nue products
novadaq::cnv::DetId fDetId
the id of the detector we are looking at
void FillSliceVector(size_t const &s, art::FindMany< T > &fmp, std::vector< T const * > &ptrMap)
const XML_Char * s
Definition: expat.h:262
Far Detector at Ash River, MN.
TTree * fNueTree
Tree to hold values of cut parameters for selected events.
Near Detector in the NuMI cavern.
#define LOG_WARNING(category)
std::string fSkimmedLabel
label of module creating skimmed file
Float_t e
Definition: plot.C:35
void skim::SkimmerAna::FillNumuHistograms ( art::Event const &  e)
private

2017

2017

2017

2017

2017

Definition at line 545 of file SkimmerAna_module.cc.

References DEFINE_ART_MODULE(), fCellsFromEdge, fDetId, fFDContPID, fFDCosBakCell, fFDCosFwdCell, fFDKalmanAngle, fFDKalmanBakCell, fFDKalmanFwdCell, fFDPlanesToBack, fFDPlanesToFront, fFDSliceHits, skim::SkimmingUtils::FillSliceVector(), PandAna.Demos.pi0_spectra::fmt, fNDHadCalEnergySum, fNDKalmanBakCell, fNDKalmanFwdCell, fNDMaxPlaneHit, fNDMinPlaneHit, fNDTrackStartZ, fNDTrackStopZ, fNeutrinoE, fNumuCutParams, fNumuInstance, fNumuTree, fQePId1Track, fQePId2Track, fReMId, fSkimmedLabel, fSliceContigPlanes, fSliceHits, art::FindMany< ProdB, Data >::get(), art::FindManyP< ProdB, Data >::get(), art::DataViewImpl::getValidHandle(), remid::HighestPIDTrack(), art::Event::isRealData(), novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, LOG_DEBUG, LOG_VERBATIM, LOG_WARNING, and cet::sqlite::max().

Referenced by analyze().

546 {
548 
549  // get the relevant data products out of the event record
550  // need the slice, rb::Energy, remid::ReMId, cosrej::CosRejObj,
551  // qeef::QePId, numue::NumuE, rb::Track
552  auto sliceHandle = e.getValidHandle< std::vector<rb::Cluster> >(inputTag);
553  if( sliceHandle.failedToGet() ){
554  LOG_WARNING("SkimmerAna") << "No slices passing numu selection in this event";
555  return;
556  }
557 
558  LOG_VERBATIM("SkimmerAna") << "Start Filling Numu Histos ... " ;
559 
560 
561  art::FindManyP<rb::Track> fmt (sliceHandle, e, inputTag);
562  art::FindMany<rb::Energy> fme (sliceHandle, e, inputTag);
563  art::FindMany<cosrej::CosRejObj> fmcro (sliceHandle, e, inputTag);
564  art::FindMany<rb::Shower> fms (sliceHandle, e, inputTag);
565  art::FindMany<rb::Prong> fmp (sliceHandle, e, inputTag);
566  art::FindMany<rb::Vertex> fmv (sliceHandle, e, inputTag);
567  art::FindMany<rb::Track> fmtks (sliceHandle, e, inputTag);
568  art::FindMany<cosrej::NueCosRej> fmnuecro(sliceHandle, e, inputTag); // Nue CosRej added for Analysis 2017
569  art::FindMany<qeef::QePId> fmqe (sliceHandle, e, inputTag);
570  art::FindMany<cvn::Result> fmcvn (sliceHandle, e, inputTag);
571  art::FindMany<cvn::Result> fmocvn (sliceHandle, e, inputTag);
572  art::FindMany<numue::NumuE> fmnue (sliceHandle, e, inputTag);
573 
574 
576 
577  size_t bestPIDTrack = std::numeric_limits<size_t>::max();
578 
579  for(size_t s = 0; s < sliceHandle->size(); ++s){
580 
581  std::vector< art::Ptr<rb::Track> > trackPtrs;
582  std::vector<cosrej::CosRejObj const*> cosrej;
583  std::vector<qeef::QePId const*> qepid;
584  std::vector<cvn::Result const*> cvns;
585  std::vector<cvn::Result const*> cvn2017s;
586  std::vector<numue::NumuE const*> numue;
587 
588  std::vector<cosrej::NueCosRej const*> nuecosrej; // Nue CosRej added for Analysis 2017
589  std::vector<rb::Track const*> tracks; /// 2017
590  std::vector<rb::Shower const*> showers; /// 2017
591  std::vector<rb::Prong const*> prongs; /// 2017
592  std::vector<rb::Vertex const*> vertices; /// 2017
593  std::vector<slid::ShowerLID const*> slids; /// 2017
594 
595  fmt.get(s, trackPtrs);
596 
597  // better have at least one track
598  if(trackPtrs.size() < 1 ) continue;
599 
600  // get the best pid for the slice - this index will not be the
601  // same as in the preskimmed slice
602  bestPIDTrack = remid::HighestPIDTrack(trackPtrs, inputTag, e);
603 
604  fmcro.get(s, cosrej);
605  fmnue.get(s, numue);
606  fmqe .get(s, qepid);
607 
608  fmnuecro.get(s, nuecosrej); // Nue CosRej added for Analysis 2017
609  fmcvn.get(s, cvns);
610  su.FillSliceVector(s, fmtks, tracks);
611  su.FillSliceVector(s, fmv, vertices);
612  su.FillSliceVector(s, fms, showers);
613  su.FillSliceVector(s, fmp, prongs);
614  su.FillSliceVector(e, inputTag, showers, slids);
615 
616  if(vertices.size() != 1 ||
617  cvns .size() != 1 ||
618  cvn2017s.size() != 1 ||
619  showers .size() < 1 ||
620  prongs .size() < 1 ||
621  tracks .size() < 1 ||
622  slids .size() != showers.size()){
623  LOG_DEBUG("SkimmerAna")
624  << "Wrong number of vertices: " << vertices.size()
625  << " : 1 or cvns: " << cvns .size()
626  << " : 1 or cvn2017s: " << cvn2017s.size()
627  << " : 1 or showers: " << showers .size()
628  << " : or prongs: " << prongs .size()
629  << " : or tracks: " << tracks .size()
630  << " or slids: " << slids .size()
631  << " for the skimmed slice, that should never happen";
632  continue;
633  }
634 
635  qeef::QePId qep;
636  if( qepid.size() > 0 ) qep = *(qepid.front());
637 
638  // this is not terribly efficient, as we are making the FindOneP
639  // for every slice in the event, but I don't see a good way around
640  // that while still getting the bookkeeping right
641  art::FindOne<rb::Energy> foe (trackPtrs, e, inputTag);
642  art::FindOne<remid::ReMId> foid(trackPtrs, e, inputTag);
643 
644  LOG_VERBATIM("SkimmerAna") << "skim::ParametersNumu params ...";
645  skim::ParametersNumu params(bestPIDTrack,
646  foe.at(bestPIDTrack).ref(),
647  foid.at(bestPIDTrack).ref(),
648  *(cosrej.front()),
649  *(nuecosrej.front()),
650  *(vertices[0]),
651  tracks,
652  showers,
653  prongs,
654  slids,
655  qep,
656  *(numue.front()),
657  sliceHandle->at(s),
658  *(trackPtrs[bestPIDTrack]),
659  *(cvns[0]),
660  *(cvn2017s[0]),
661  e.isRealData());
662 
663 // skim::ParametersNumu sr(fosr.at(s).ref(),
664 // e.isRealData());
665 
666  fNumuCutParams = params.ParametersStruct();
667 // fNumuSRParams = sr .ParametersStruct();
668 //
669 // if (fCompareNumuCuts) params.Compare(fNumuSRParams);
670 
671  // Fill sanity check histograms
672  fNeutrinoE ->Fill(params.NeutrinoE());
673  fReMId ->Fill(params.ReMIdValue());
674  fSliceHits ->Fill(params.SliceHits());
675  fSliceContigPlanes->Fill(params.SliceContigPlanes());
676  fCellsFromEdge ->Fill(params.SliceCellsFromEdge());
677  if(params.QePIDNTracks() == 1) fQePId1Track->Fill(params.QePIDValue());
678  if(params.QePIDNTracks() == 2) fQePId2Track->Fill(params.QePIDValue());
679 
681  fFDKalmanFwdCell->Fill(params.CosRejKalFwdCell());
682  fFDKalmanBakCell->Fill(params.CosRejKalBakCell());
683  fFDKalmanAngle ->Fill(params.CosRejAngleKal());
684  fFDCosBakCell ->Fill(params.CosRejCosBakCell());
685  fFDCosFwdCell ->Fill(params.CosRejCosFwdCell());
686  fFDContPID ->Fill(params.CosRejConCosPID());
687  fFDPlanesToBack ->Fill(params.PlanesToBack());
688  fFDPlanesToFront->Fill(params.PlanesToFront());
689  fFDSliceHits ->Fill(params.SliceHits());
690  }
691 
693  fNDMaxPlaneHit ->Fill(params.SliceMaxPlane());
694  fNDMinPlaneHit ->Fill(params.SliceMinPlane());
695  fNDTrackStartZ ->Fill(params.TrackStartZ());
696  fNDTrackStopZ ->Fill(params.TrackStopZ());
697  fNDKalmanBakCell ->Fill(params.CosRejKalBakCellND());
698  fNDKalmanFwdCell ->Fill(params.CosRejKalFwdCellND());
699  fNDHadCalEnergySum->Fill(params.NDHadronicCal());
700  }
701 
702  LOG_VERBATIM("SkimmerAna") << " ==============>>>>>> SkimmerAna Fill NumuTree ...";
703  fNumuTree->Fill();
704 
705  }// end loop over slices
706 
707  return;
708 }
#define LOG_DEBUG(stream)
Definition: Messenger.h:149
Energy estimators for CC events.
Definition: FillEnergies.h:7
TTree * fNumuTree
Tree to hold values of cut parameters for selected events.
novadaq::cnv::DetId fDetId
the id of the detector we are looking at
void FillSliceVector(size_t const &s, art::FindMany< T > &fmp, std::vector< T const * > &ptrMap)
NumuCutParameters fNumuCutParams
from the ParametersNumu object
const XML_Char * s
Definition: expat.h:262
Far Detector at Ash River, MN.
std::string fNumuInstance
label for numu products
Near Detector in the NuMI cavern.
#define LOG_WARNING(category)
Cosmic Rejection PIDs for Numu analysis.
Definition: FillParentInfo.h:9
std::string fSkimmedLabel
label of module creating skimmed file
#define LOG_VERBATIM(category)
Float_t e
Definition: plot.C:35
T max(sqlite3 *const db, std::string const &table_name, std::string const &column_name)
Definition: statistics.h:68
unsigned int HighestPIDTrack(const std::vector< art::Ptr< rb::Track > > &sliceTracks, const std::string &remidModuleLabel, const art::Event &e)
Definition: ReMId.cxx:249
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
art::Handle<art::TriggerResults> art::EventObserverBase::getTriggerResults ( Event const &  e) const
inlineinherited

Definition at line 61 of file EventObserverBase.h.

References art::detail::CachedProducts::getOneTriggerResults(), and art::EventObserverBase::selectors_.

62  {
64  }
detail::CachedProducts selectors_
art::Handle< art::TriggerResults > getOneTriggerResults(Event const &) const
Float_t e
Definition: plot.C:35
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
bool art::EventObserverBase::modifiesEvent ( ) const
inlineinherited

Definition at line 25 of file EventObserverBase.h.

26  {
27  return false;
28  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
SkimmerAna& skim::SkimmerAna::operator= ( SkimmerAna const &  )
delete
SkimmerAna& skim::SkimmerAna::operator= ( SkimmerAna &&  )
delete
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
std::string const& art::EventObserverBase::processName ( ) const
inlineinherited
void skim::SkimmerAna::reconfigure ( fhicl::ParameterSet const &  p)

Definition at line 387 of file SkimmerAna_module.cc.

References fCompareNueCuts, fCompareNumuCuts, fCosmicExposureLabel, fNueInstance, fNumuInstance, fPOTSumLabel, fSkimmedLabel, and fhicl::ParameterSet::get().

Referenced by SkimmerAna().

388 {
389 
390  fSkimmedLabel = p.get<std::string >("SkimmedLabel");
391  fCosmicExposureLabel = p.get<std::string >("CosmicExposureLabel", "ifdbspillinfo");
392  fPOTSumLabel = p.get<std::string >("POTSumLabel", "exposure" );
393  fCompareNumuCuts = p.get<bool >("CompareNumuCuts", false);
394  fCompareNueCuts = p.get<bool >("CompareNueCuts", false);
395  auto instanceLabels = p.get<std::vector<std::string> >("Instances");
396 
397  for(auto itr : instanceLabels){
398  if(itr.find("numu") != std::string::npos) fNumuInstance = itr;
399  if(itr.find("nue") != std::string::npos) fNueInstance = itr;
400  }
401 
402  return;
403 }
const char * p
Definition: xmltok.h:285
std::string fNueInstance
label for nue products
std::string fNumuInstance
label for numu products
std::string fPOTSumLabel
label of module creating pot sum
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
std::string fSkimmedLabel
label of module creating skimmed file
bool fCompareNumuCuts
bool for comparing the numu cuts
std::string fCosmicExposureLabel
label of module creating cosmic exposure
bool fCompareNueCuts
bool for comparing the nue cuts
void art::EventObserverBase::registerProducts ( MasterProductRegistry ,
ProductDescriptions ,
ModuleDescription const &   
)
inlineinherited

Definition at line 33 of file EventObserverBase.h.

36  {}
fhicl::ParameterSetID art::EventObserverBase::selectorConfig ( ) const
inlineinherited

Definition at line 56 of file EventObserverBase.h.

References art::EventObserverBase::selector_config_id_.

57  {
58  return selector_config_id_;
59  }
fhicl::ParameterSetID selector_config_id_
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited
bool art::EventObserverBase::wantAllEvents ( ) const
inlineinherited

Definition at line 46 of file EventObserverBase.h.

References art::EventObserverBase::wantAllEvents_.

Referenced by art::RootOutput::RootOutput().

47  {
48  return wantAllEvents_;
49  }
bool art::EventObserverBase::wantEvent ( Event const &  e)
inlineinherited

Definition at line 51 of file EventObserverBase.h.

References art::EventObserverBase::selectors_, and art::detail::CachedProducts::wantEvent().

52  {
53  return selectors_.wantEvent(e);
54  }
detail::CachedProducts selectors_
Float_t e
Definition: plot.C:35
bool wantEvent(Event const &)
std::string art::EDAnalyzer::workerType ( ) const
inlineinherited

Definition at line 109 of file EDAnalyzer.h.

References art::EDAnalyzer::currentContext().

110  {
111  return "WorkerT<EDAnalyzer>";
112  }

Member Data Documentation

TH1F* skim::SkimmerAna::fCalorimetricEnergy
private

Definition at line 152 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fCellsFromEdge
private

Definition at line 115 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

bool skim::SkimmerAna::fCompareNueCuts
private

bool for comparing the nue cuts

Definition at line 92 of file SkimmerAna_module.cc.

Referenced by reconfigure().

bool skim::SkimmerAna::fCompareNumuCuts
private

bool for comparing the numu cuts

Definition at line 91 of file SkimmerAna_module.cc.

Referenced by reconfigure().

TH1F* skim::SkimmerAna::fCosmicExposureByRun
private

Definition at line 108 of file SkimmerAna_module.cc.

Referenced by beginJob(), and beginSubRun().

std::string skim::SkimmerAna::fCosmicExposureLabel
private

label of module creating cosmic exposure

Definition at line 87 of file SkimmerAna_module.cc.

Referenced by reconfigure().

TH1F* skim::SkimmerAna::fCVN
private

Definition at line 154 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

novadaq::cnv::DetId skim::SkimmerAna::fDetId
private

the id of the detector we are looking at

Definition at line 93 of file SkimmerAna_module.cc.

Referenced by beginRun(), FillNueHistograms(), and FillNumuHistograms().

art::ServiceHandle<ds::DetectorService> skim::SkimmerAna::fDetService
private

detector service

Definition at line 94 of file SkimmerAna_module.cc.

Referenced by beginRun().

EventInfo skim::SkimmerAna::fEventInfo
private

keep track of run and subrun, and event

Definition at line 103 of file SkimmerAna_module.cc.

Referenced by analyze(), and beginJob().

TH1F* skim::SkimmerAna::fFDContPID
private

Definition at line 125 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDCosBakCell
private

Definition at line 121 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDCosFwdCell
private

Definition at line 120 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDKalmanAngle
private

Definition at line 124 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDKalmanBakCell
private

Definition at line 119 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDKalmanFwdCell
private

Definition at line 118 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDPlanesToBack
private

Definition at line 123 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDPlanesToFront
private

Definition at line 122 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDPt
private

Definition at line 150 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceCosAngleShw
private

Definition at line 141 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceDistShwVtx
private

Definition at line 142 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceFracShwHits
private

Definition at line 143 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceHits
private

Definition at line 126 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fFDSliceHitsPerPlane
private

Definition at line 137 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceHitsViewAsym
private

Definition at line 140 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceHitsXView
private

Definition at line 138 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDSliceHitsYView
private

Definition at line 139 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDVtxDistToBack
private

Definition at line 149 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDVtxDistToBottom
private

Definition at line 147 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDVtxDistToEastWall
private

Definition at line 144 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDVtxDistToFront
private

Definition at line 148 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDVtxDistToTop
private

Definition at line 146 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fFDVtxDistToWestWall
private

Definition at line 145 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fGoodPOTByRun
private

Definition at line 107 of file SkimmerAna_module.cc.

Referenced by beginJob(), and beginSubRun().

TH1F* skim::SkimmerAna::fLEM
private

Definition at line 153 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fLID
private

Definition at line 155 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDCalEperHit
private

Definition at line 171 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDCalorimetricE
private

Definition at line 170 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDHadCalEnergySum
private

Definition at line 134 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDKalmanBakCell
private

Definition at line 133 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDKalmanFwdCell
private

Definition at line 132 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDMaxPlaneHit
private

Definition at line 128 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDMinPlaneHit
private

Definition at line 129 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDNShowers
private

Definition at line 159 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDPlanesToFront
private

Definition at line 172 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShowerCalE
private

Definition at line 166 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShowerCalEfraction
private

Definition at line 167 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShowerDistToVtx
private

Definition at line 168 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShowerLength
private

Definition at line 169 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShwEndX
private

Definition at line 163 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShwEndY
private

Definition at line 164 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShwEndZ
private

Definition at line 165 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShwVtxX
private

Definition at line 160 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShwVtxY
private

Definition at line 161 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDShwVtxZ
private

Definition at line 162 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDSliceHits
private

Definition at line 173 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDSliceNHitsPerPlane
private

Definition at line 174 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDSliceNoShowerCalE
private

Definition at line 175 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDTrackStartZ
private

Definition at line 130 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDTrackStopZ
private

Definition at line 131 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fNDVtxX
private

Definition at line 156 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDVtxY
private

Definition at line 157 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNDVtxZ
private

Definition at line 158 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

TH1F* skim::SkimmerAna::fNeutrinoE
private

Definition at line 111 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

NueCutParameters skim::SkimmerAna::fNueCutParams
private

from the ParametersNumu object

Definition at line 100 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

std::string skim::SkimmerAna::fNueInstance
private

label for nue products

Definition at line 90 of file SkimmerAna_module.cc.

Referenced by analyze(), beginJob(), FillNueHistograms(), and reconfigure().

NueCutParameters skim::SkimmerAna::fNueSRParams
private

from the ParametersNumu object

Definition at line 102 of file SkimmerAna_module.cc.

Referenced by beginJob().

TTree* skim::SkimmerAna::fNueTree
private

Tree to hold values of cut parameters for selected events.

Definition at line 97 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNueHistograms().

NumuCutParameters skim::SkimmerAna::fNumuCutParams
private

from the ParametersNumu object

Definition at line 99 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

std::string skim::SkimmerAna::fNumuInstance
private

label for numu products

Definition at line 89 of file SkimmerAna_module.cc.

Referenced by analyze(), beginJob(), FillNumuHistograms(), and reconfigure().

NumuCutParameters skim::SkimmerAna::fNumuSRParams
private

from the ParametersNumu object

Definition at line 101 of file SkimmerAna_module.cc.

Referenced by beginJob().

TTree* skim::SkimmerAna::fNumuTree
private

Tree to hold values of cut parameters for selected events.

Definition at line 96 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fPOTByRun
private

Definition at line 106 of file SkimmerAna_module.cc.

Referenced by beginJob(), and beginSubRun().

std::string skim::SkimmerAna::fPOTSumLabel
private

label of module creating pot sum

Definition at line 88 of file SkimmerAna_module.cc.

Referenced by reconfigure().

TH1F* skim::SkimmerAna::fQePId1Track
private

Definition at line 116 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fQePId2Track
private

Definition at line 117 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fReMId
private

Definition at line 112 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

std::string skim::SkimmerAna::fSkimmedLabel
private

label of module creating skimmed file

Definition at line 86 of file SkimmerAna_module.cc.

Referenced by FillNueHistograms(), FillNumuHistograms(), and reconfigure().

TH1F* skim::SkimmerAna::fSliceContigPlanes
private

Definition at line 114 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().

TH1F* skim::SkimmerAna::fSliceHits
private

Definition at line 113 of file SkimmerAna_module.cc.

Referenced by beginJob(), and FillNumuHistograms().


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