NueSkimmer.h
Go to the documentation of this file.
1 //
2 // NueSkimmer.h
3 //
4 // Created by Brian Rebel on 2/18/16.
5 //
6 
7 #ifndef NueSkimmer_h
8 #define NueSkimmer_h
9 
13 #include "fhiclcpp/ParameterSet.h"
14 
15 #include "RecoBase/Cluster.h"
16 #include "RecoBase/Shower.h"
17 #include "ShowerLID/ShowerLID.h"
19 
20 namespace skim {
21  class NueSkimmer;
22 }
23 
24 namespace me {
25  class SlcME;
26  class TrkME;
27 }
28 
29 // this module is a producer because it is assumed to be after a path that
30 // contains the CellHitSkimmer, which has already removed events without
31 // interesting slices
33 
34 public:
35 
36  explicit NueSkimmer(fhicl::ParameterSet const & p);
37 
38  void reconfigure(fhicl::ParameterSet const & p);
39 
40  void Skim(art::Event & e,
41  art::EDProducer const& prod);
42 
43 private:
44 
45  void CopyShowerLID(art::Event & e,
46  art::EDProducer const& prod,
47  std::vector< art::Ptr<rb::Shower> > const& showerIn,
48  std::vector<slid::ShowerLID> & slidOut,
49  std::vector<rb::Cluster> & sliceOut,
50  std::vector<rb::Shower> & showerOut,
53 
54  void CopyProngCVN(art::Event & e,
55  art::EDProducer const& prod,
56  std::vector< art::Ptr<rb::Prong> > const& prongIn,
57  std::vector<rb::PID> & pidOut,
58  std::vector<rb::Cluster> & sliceOut,
59  std::vector<rb::Prong> & prongOut,
61  art::Assns<rb::Prong, rb::PID> & pngPIDAssn);
62 
63  void CopyShowerPngAssn(art::Event & e,
64  art::EDProducer const& prod,
65  std::vector< art::Ptr<rb::Shower> > const& showerIn,
66  std::vector< art::Ptr<rb::Prong> > const& prongIn,
67  std::vector<rb::Shower> & showerOut,
68  std::vector<rb::Prong> & prongOut,
70 
71  void CopyMichelSlice(art::Event & e,
72  art::EDProducer const& prod,
73  std::vector<art::Ptr<me::SlcME> > const& objIn,
74  std::vector<me::SlcME> & objOut,
75  std::vector<rb::Cluster> & sliceOut,
77 
78  void CopyMichelTrack(art::Event & e,
79  art::EDProducer const& prod,
80  std::vector<art::Ptr<me::TrkME> > const& objIn,
81  std::vector<me::TrkME> & objOut,
82  std::vector<rb::Cluster> & sliceOut,
84 
85  std::string fVertexLabel; ///< label of module creating vertex
86  std::string fShowerLabel; ///< label of module creating showers
87  art::InputTag fProngTag; ///< input tag of module creating showers
88  std::string fLIDLabel; ///< label of module creating lids
89  std::string fLEMLabel; ///< label of module creating lems
90  std::string fCosRejLabel; ///< label of module creating cosrejs
91  std::string fCAFLabel; ///< label of module creating StandardRecords
92  std::string fGeneratorLabel; ///< label of module generating events
93  std::string fFluxWeightLabel;///< label of module creating flux weights
94  std::string fCVNLabel; ///< label of module creating cvns
95  std::string fNueVetoLabel; ///< label of module creating nuevetos
96  std::string fMichelLabel; ///< label of module creating slice Michel e's
97  std::string fCVNProngLabel; ///< label of module creating prongs cvn
98 };
99 
100 
101 #endif /* NueSkimmer_h */
std::string fCosRejLabel
label of module creating cosrejs
Definition: NueSkimmer.h:90
const char * p
Definition: xmltok.h:285
std::string fLEMLabel
label of module creating lems
Definition: NueSkimmer.h:89
art::InputTag fProngTag
input tag of module creating showers
Definition: NueSkimmer.h:87
std::string fCVNLabel
label of module creating cvns
Definition: NueSkimmer.h:94
Module to create a summary of total POT seen in a job.
Definition: Evaluator.h:27
std::string fShowerLabel
label of module creating showers
Definition: NueSkimmer.h:86
std::string fCVNProngLabel
label of module creating prongs cvn
Definition: NueSkimmer.h:97
Definition: NueSkimmer.h:24
std::string fMichelLabel
label of module creating slice Michel e&#39;s
Definition: NueSkimmer.h:96
T prod(const std::vector< T > &v)
Definition: prod.hpp:17
std::string fFluxWeightLabel
label of module creating flux weights
Definition: NueSkimmer.h:93
std::string fGeneratorLabel
label of module generating events
Definition: NueSkimmer.h:92
std::string fCAFLabel
label of module creating StandardRecords
Definition: NueSkimmer.h:91
std::string fVertexLabel
label of module creating vertex
Definition: NueSkimmer.h:85
Float_t e
Definition: plot.C:35
Definition: fwd.h:28
std::string fNueVetoLabel
label of module creating nuevetos
Definition: NueSkimmer.h:95
std::string fLIDLabel
label of module creating lids
Definition: NueSkimmer.h:88
enum BeamMode string