28 #include "art_root_io/TFileService.h" 30 #include "dune/Protodune/singlephase/CTB/data/pdspctb.h" 31 #include "dune/Protodune/singlephase/CRT/data/CRTTrigger.h" 35 #include "artdaq-core/Data/ContainerFragment.hh" 40 #include "TLorentzVector.h" 58 #include "canvas/Persistency/Common/FindManyP.h" 116 consumes<std::vector<simb::MCParticle>>(
fGEANTLabel);
140 if(mctruth->NParticles() == 0){
141 mf::LogError(
"PDSPmatchmc") <<
"No MCTruth Particles! Skipping.";
148 fTrueID.push_back(part.PdgCode());
157 for(
const auto& OpHit: *OpHitHandle){
159 fOpChan.push_back(OpHit.OpChannel());
160 fPE.push_back(OpHit.PE());
164 if(op)
fTree->Fill();
174 fTree = tFileService->make<TTree>(
"ProtoDUNE_Evt_Match",
"ProtoDUNE Matched MC Event Tree");
std::vector< double > fTrueStartx
std::vector< double > fOpChan
PDSPmatchmc(fhicl::ParameterSet const &p)
std::vector< int64_t > fPDS_time
const art::InputTag fOpHitLabel
std::vector< double > fTrueID
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
EDAnalyzer(fhicl::ParameterSet const &pset)
art framework interface to geometry description
const art::InputTag fGEANTLabel
std::vector< double > fTruePx
std::vector< double > fPE
void analyze(art::Event const &e) override
std::vector< double > fTrue_time
#define DEFINE_ART_MODULE(klass)
ValidHandle< PROD > getValidHandle(InputTag const &tag) const
std::vector< double > fTrueStartz
PDSPmatchmc & operator=(PDSPmatchmc const &)=delete
Encapsulate the geometry of an optical detector.
Provides recob::Track data product.
Access the description of detector geometry.
std::vector< double > fTruePz
auto const & get(AssnsNode< L, R, D > const &r)
std::vector< double > fTrueStarty
const art::InputTag fMCTruthLabel
pure virtual base interface for detector clocks
std::vector< double > fTruePy