9 #ifndef Muoncountertimes_Module 10 #define Muoncountertimes_Module 21 #include "art_root_io/TFileService.h" 22 #include "art_root_io/TFileDirectory.h" 40 #include "TTimeStamp.h" 163 try { fragment->size(); }
165 mf::LogWarning(
"MuonCounterTimes") <<
"WARNING: Raw PTB data not found in event " << evt.
event();
172 <<
", SubRun: " << evt.
subRun()
173 <<
", Event: " << evt.
event()
179 std::vector<std::vector<int>> coincidences(2);
180 std::vector<std::vector<int>> trig_ID_Vec(2);
181 std::vector<std::vector<long long>> trig_Times_Vec(2);
182 lbne::PennMicroSlice::Payload_Timestamp *FirstPTBTimestamp =
nullptr;
185 unsigned int total_Hits = trigs.size();
187 for(
unsigned int i = 0; i < total_Hits; i++)
189 int auxdetid = trigs.at(i).GetTrigID();
190 long long trig_Time = trigs.at(i).GetTrigTime();
194 trig_ID_Vec.at(0).push_back(auxdetid);
195 trig_Times_Vec.at(0).push_back(trig_Time);
199 trig_ID_Vec.at(1).push_back(auxdetid);
200 trig_Times_Vec.at(1).push_back(trig_Time);
204 for(
unsigned int i = 0; i < trig_ID_Vec.at(0).size(); i++)
206 for(
unsigned int j = 0; j < trig_ID_Vec.at(1).size(); j++)
212 coincidences.at(0).push_back(trig_ID_Vec.at(0).at(i));
213 coincidences.at(1).push_back(trig_ID_Vec.at(1).at(j));
219 for(
unsigned int i = 0; i < coincidences.at(0).size(); i++)
234 for(
unsigned int i = 0; i <
fHist_Vec.size(); i++)
236 TString
key = Form(
"h%i", i);
244 for(
unsigned int i = 0; i <
fHist_Vec.size(); i++)
246 TString fHist_Title1 = Form(
"Coincidence Plots, run %i, ",
run);
248 TString fHist_Title = fHist_Title1 + fHist_Title2;
250 TString fHist_Name1 = Form(
"Run%i",
run);
252 TString fHist_Name = fHist_Name1 + fHist_Name2;
254 fHist_Vec.at(i)->GetXaxis()->SetTitle(
"Coincidence Partner");
255 fHist_Vec.at(i)->GetYaxis()->SetTitle(
"Frequency");
256 fHist_Vec.at(i)->GetYaxis()->SetTitleOffset(1.);
276 #endif // Muoncountertimes_Module virtual ~Muoncountertimes()
EventNumber_t event() const
double fCombinedTimeDelay
Declaration of signal hit object.
void BuildPTBChannelMap(std::string MapDir, std::string MapFile, std::map< int, int > &channelMap)
MaybeLogger_< ELseverityLevel::ELsev_error, false > LogError
EDAnalyzer(fhicl::ParameterSet const &pset)
std::map< int, int > fPTBMap
std::string fCounterModuleLabel
void analyze(const art::Event &evt)
bool getByLabel(std::string const &label, std::string const &instance, Handle< PROD > &result) const
object containing MC truth information necessary for making RawDigits and doing back tracking ...
#define DEFINE_ART_MODULE(klass)
T get(std::string const &key) const
SubRunNumber_t subRun() const
std::vector< TH1D * > fHist_Vec
Encapsulate the geometry of a wire.
Utility object to perform functions of association.
Encapsulate the construction of a single detector plane.
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
EventNumber_t event() const
Muoncountertimes(fhicl::ParameterSet const &p)
std::vector< raw::ExternalTrigger > PennFragmentToExternalTrigger(artdaq::Fragments const &Fragments, std::map< int, int > &channelMap, lbne::PennMicroSlice::Payload_Timestamp *&FirstPTBTimestamp)
std::string fRawDataLabel
cet::coded_exception< error, detail::translate > exception
void reconfigure(fhicl::ParameterSet const &pset)