28 #include "art_root_io/TFileService.h" 34 #include "dune-raw-data/Overlays/CRTFragment.hh" 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 > fTruePy
PDSPmatchmc(fhicl::ParameterSet const &p)
const art::InputTag fOpHitLabel
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
EDAnalyzer(fhicl::ParameterSet const &pset)
pure virtual base interface for detector clocks
const art::InputTag fGEANTLabel
Access the description of detector geometry.
void analyze(art::Event const &e) override
#define DEFINE_ART_MODULE(klass)
ValidHandle< PROD > getValidHandle(InputTag const &tag) const
PDSPmatchmc & operator=(PDSPmatchmc const &)=delete
Provides recob::Track data product.
Encapsulate the geometry of an optical detector.
std::vector< double > fTruePz
std::vector< double > fTrueStartz
std::vector< int64_t > fPDS_time
std::vector< double > fTruePx
std::vector< double > fOpChan
std::vector< double > fTrueID
std::vector< double > fPE
auto const & get(AssnsNode< L, R, D > const &r)
std::vector< double > fTrueStarty
std::vector< double > fTrue_time
std::vector< double > fTrueStartx
const art::InputTag fMCTruthLabel