All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
icarus::crt::CRTDataAnalysis Class Reference
Inheritance diagram for icarus::crt::CRTDataAnalysis:

Classes

struct  Config
 

Public Types

using Parameters = art::EDAnalyzer::Table< Config >
 

Public Member Functions

 CRTDataAnalysis (Parameters const &config)
 Constructor: configures the module (see the Config structure above) More...
 
virtual void beginJob () override
 
virtual void beginRun (const art::Run &run) override
 
virtual void analyze (const art::Event &event) override
 

Private Member Functions

void FillFebMap ()
 

Private Attributes

const icarusDB::IICARUSChannelMapfChannelMap = nullptr
 
art::InputTag fTriggerLabel
 
art::InputTag fCRTHitProducerLabel
 The name of the producer that created hits. More...
 
art::InputTag fCRTDAQProducerLabel
 
double fQPed
 Pedestal offset of SiPMs [ADC]. More...
 
double fQSlope
 Pedestal slope of SiPMs [ADC/photon]. More...
 
double fPEThresh
 threshold[PE] above which charge amplitudes used in hit reco More...
 
uint64_t fCrtWindow
 Looking data window within trigger timestamp [ns]. More...
 
TTree * fDAQNtuple
 
TTree * fHitNtuple
 
The variables that will go into both n-tuples.
int fEvent
 number of the event being processed More...
 
int fRun
 number of the run being processed More...
 
int fSubRun
 

Static Private Attributes

static map< int, vector< pair
< int, int > > > 
fFebMap
 

The variables that will go into the CosmicDisplay n-tuple.

unsigned int m_gate_type
 
std::string m_gate_name
 
uint64_t m_trigger_timestamp
 
uint64_t m_gate_start_timestamp
 
uint64_t m_trigger_gate_diff
 
uint64_t m_gate_crt_diff
 
int fDetEvent
 
int fDetRun
 
int fDetSubRun
 
int fNChan
 number of channels above threshold for this front-end board readout More...
 
int fEntry
 front-end board entry number (reset for each event) More...
 
int fFEBReg
 CRT region for this front-end board. More...
 
int fMac5
 Mac5 address for this front-end board. More...
 
int fDetSubSys
 
uint64_t fT0
 signal time w.r.t. PPS More...
 
uint64_t fT1
 signal time w.r.t. global event time More...
 
int fNMaxCh
 
int fADC [64]
 Max number of channel. More...
 
float fPE [64]
 signal amplitude More...
 
int fFlags
 Flags. More...
 
vector< vector< int > > fTrackID
 track ID(s) of particle that produced the signal More...
 
vector< vector< int > > fDetPDG
 
int fHitEvent
 signal inducing particle(s)' PDG code More...
 
float fXHit
 reconstructed X position of CRT hit (cm) More...
 
float fYHit
 reconstructed Y position of CRT hit (cm) More...
 
float fZHit
 reconstructed Z position of CRT hit (cm) More...
 
float fXErrHit
 stat error of CRT hit reco X (cm) More...
 
float fYErrHit
 stat error of CRT hit reco Y (cm) More...
 
float fZErrHit
 stat error of CRT hit reco Z (cm) More...
 
uint64_t fT0Hit
 hit time w.r.t. PPS More...
 
Long64_t fT1Hit
 hit time w.r.t. global trigger More...
 
int fHitReg
 region code of CRT hit More...
 
int fHitSubSys
 
int fNHit
 number of CRT hits for this event More...
 
int fHitStrip
 
int fHitMod
 
int fNHitFeb
 
float fHitTotPe
 
geo::GeometryCore const * fGeometryService
 pointer to Geometry provider More...
 
int fTriggerOffset
 (units of ticks) time of expected neutrino event More...
 
CRTCommonUtilsfCrtutils
 
static const int LAR_PROP_DELAY = 1.0/(30.0/1.38)
 

Detailed Description

Definition at line 79 of file CRTDataAnalysis_module.cc.

Member Typedef Documentation

using icarus::crt::CRTDataAnalysis::Parameters = art::EDAnalyzer::Table<Config>

Definition at line 125 of file CRTDataAnalysis_module.cc.

Constructor & Destructor Documentation

icarus::crt::CRTDataAnalysis::CRTDataAnalysis ( Parameters const &  config)
explicit

Constructor: configures the module (see the Config structure above)

Definition at line 242 of file CRTDataAnalysis_module.cc.

243  : EDAnalyzer(config)
244  , fTriggerLabel( config().TriggerLabel() )
245  , fCRTHitProducerLabel(config().CRTHitLabel())
246  , fCRTDAQProducerLabel(config().CRTDAQLabel())
247  , fQPed(config().QPed())
248  , fQSlope(config().QSlope())
249  , fPEThresh(config().PEThresh())
250  , fCrtWindow(config().CrtWindow())
251  , fCrtutils(new CRTCommonUtils())
252 
253  {
254  // Get a pointer to the geometry service provider.
255  fGeometryService = lar::providerFrom<geo::Geometry>();
256  fChannelMap = art::ServiceHandle<icarusDB::IICARUSChannelMap const>{}.get();
257  // The same for detector TDC clock services.
258  // Access to detector properties.
259  auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService const>()->DataForJob();
260  fTriggerOffset = trigger_offset(clockData);
261  }
double fQSlope
Pedestal slope of SiPMs [ADC/photon].
art::InputTag fCRTHitProducerLabel
The name of the producer that created hits.
uint64_t fCrtWindow
Looking data window within trigger timestamp [ns].
geo::GeometryCore const * fGeometryService
pointer to Geometry provider
double fPEThresh
threshold[PE] above which charge amplitudes used in hit reco
const icarusDB::IICARUSChannelMap * fChannelMap
int trigger_offset(DetectorClocksData const &data)
double fQPed
Pedestal offset of SiPMs [ADC].
int fTriggerOffset
(units of ticks) time of expected neutrino event

Member Function Documentation

void icarus::crt::CRTDataAnalysis::analyze ( const art::Event &  event)
overridevirtual

Looking for data within +/- 3ms within trigger time stamp Here t0 - trigger time -ve, only adding 1s makes the value +ve or -ve

Definition at line 356 of file CRTDataAnalysis_module.cc.

357  {
358  MF_LOG_DEBUG("CRTDataAnalysis") << "beginning analyis" << '\n';
359 
360  // Start by fetching some basic event information for our n-tuple.
361  fEvent = event.id().event();
362  fRun = event.run();
363  fSubRun = event.subRun();
364 
365  FillFebMap();//febMap);
366 
367  //add trigger info
368  if( !fTriggerLabel.empty() ) {
369 
370  art::Handle<sbn::ExtraTriggerInfo> trigger_handle;
371  event.getByLabel( fTriggerLabel, trigger_handle );
372  if( trigger_handle.isValid() ) {
373  sbn::triggerSource bit = trigger_handle->sourceType;
374  m_gate_type = (unsigned int)bit;
375  m_gate_name = bitName(bit);
376  m_trigger_timestamp = trigger_handle->triggerTimestamp;
377  m_gate_start_timestamp = trigger_handle->beamGateTimestamp;
378  m_trigger_gate_diff = trigger_handle->triggerTimestamp - trigger_handle->beamGateTimestamp;
379 
380  }
381  else{
382  mf::LogError("CRTDataAnalysis") << "No raw::Trigger associated to label: " << fTriggerLabel.label() << "\n" ;
383  }
384  }
385  else {
386  mf::LogError("CRTDataAnalysis") << "Trigger Data product " << fTriggerLabel.label() << " not found!\n" ;
387  }
388 
389  art::Handle<vector<icarus::crt::CRTData>> crtDAQHandle;
390  vector<art::Ptr<icarus::crt::CRTData> > crtList;
391  if ( event.getByLabel(fCRTDAQProducerLabel, crtDAQHandle))
392  art::fill_ptr_vector(crtList, crtDAQHandle);
393 
394  vector<art::Ptr<icarus::crt::CRTData>> crtData;
395  bool presel = false;
396 
397  for (size_t febdat_i=0; febdat_i<crtList.size(); febdat_i++) {
398 
399  uint8_t mac = crtList[febdat_i]->fMac5;
400  int adid = fCrtutils->MacToAuxDetID(mac,0);
401  char type = fCrtutils->GetAuxDetType(adid);
402  /*
403  for(int chan=0; chan<32; chan++) {
404  mf::LogError("CRTDataAnalysis") << "\nfebP (mac5, channel, adc, type, adid) = (" << (int)crtList[febdat_i]->fMac5 << " , " << chan << " , "
405  << crtList[febdat_i]->fAdc[chan] << " , " << type << " , " << adid << ")\n";
406  }
407  */
408  /// Looking for data within +/- 3ms within trigger time stamp
409  /// Here t0 - trigger time -ve, only adding 1s makes the value +ve or -ve
410  // if (std::fabs(int64_t(crtList[febdat_i]->fTs0 - m_trigger_timestamp) + 1e9) > fCrtWindow) continue;
411  if ( type == 'm'){
412  for(int chan=0; chan<32; chan++) {
413  std::pair<double,double> const chg_cal = fChannelMap->getSideCRTCalibrationMap((int)crtList[febdat_i]->fMac5,chan);
414  float pe = (crtList[febdat_i]->fAdc[chan]-chg_cal.second)/chg_cal.first;
415  // In order to have Reset TS1 hits in CRTData from Side CRT, we have to explicitly include them
416  // The current threshold cut (6.5 PE) was applied to filter out noise, but this also filters out
417  // Reset events which are random trigger around the pedestal. These Reset hits are removed in
418  // CRT Hit reconstruction. Top CRT has in internal triggering logic and threshold that screens
419  // from the noise (hence presel = true for all the hits).
420  // Please revise this in the future if also T0 Reset hits need to be kept in CRTData.
421  // To do so, include !0crtList[febdat_i]->IsReference_TS0()
422  if(pe<=fPEThresh && !crtList[febdat_i]->IsReference_TS1()) continue;
423  presel = true;
424  }
425  }else if ( type == 'c' ) {
426 
427  presel = true;
428 
429  }else if ( type == 'd'){
430  for(int chan=0; chan<64; chan++) {
431  float pe = (crtList[febdat_i]->fAdc[chan]-fQPed)/fQSlope;
432  if(pe<=fPEThresh) continue;
433  presel = true;
434  }
435  }
436  //std:: cout << "presel just before filling: " << presel << std::endl;
437  if (presel) crtData.push_back(crtList[febdat_i]);
438  presel = false;
439  } // end of crtList
440 
441  // mf::LogError("CRTDataAnalysis") << "size of the crtdata after removing unwanted charges: " << crtData.size() << std::endl;
442 
443  // mf::LogError("CRTDataAnalysis") << "about to loop over CRTDAQ entries" << std::endl;
444  for (size_t febdat_i=0; febdat_i<crtData.size(); febdat_i++) {
445 
446 
447  fDetEvent = fEvent;
448  fDetRun = fRun;
450  fMac5 = crtData[febdat_i]->fMac5;
451  fEntry = crtData[febdat_i]->fEntry;
453  fNChan = 0;
455  fT0 = crtData[febdat_i]->fTs0;
456  fT1 = crtData[febdat_i]->fTs1;
457  fFlags = crtData[febdat_i]->fFlags;
458  int maxchan =0;
459  if(fDetSubSys!=2) maxchan=32;
460  else maxchan = 64;
461  fNMaxCh = maxchan;
462  for(int ch=0; ch<maxchan; ch++) {
463  fADC[ch] = crtData[febdat_i]->fAdc[ch];
464  std::pair<double,double> const chg_cal = fChannelMap->getSideCRTCalibrationMap((int)fMac5,ch);
465  if (fDetSubSys == 0){
466  float pe = (fADC[ch]-chg_cal.second)/chg_cal.first;
467  if (pe < 0) continue;
468  fPE[ch] = pe;
469  }else{
470  float pe = (fADC[ch]-fQPed)/fQSlope;
471  if (pe < 0) continue;
472  fPE[ch] = pe;
473  }
474 
475  }
476 
477  fDAQNtuple->Fill();
478 
479  } //for CRT FEB events
480 
481 
482 
483 
484 
485  art::Handle<std::vector<sbn::crt::CRTHit>> crtHitHandle;
486 
487  bool isCRTHit = event.getByLabel(fCRTHitProducerLabel, crtHitHandle);
488  std::vector<int> ids;
489  fNHit = 0;
490  if (isCRTHit) {
491 
492  mf::LogError("CRTDataAnalysis") << "looping over reco hits..." << std::endl;
493  for ( auto const& hit : *crtHitHandle )
494  {
495  fNHit++;
496  fHitEvent = fEvent;
497  fXHit = hit.x_pos;
498  fYHit = hit.y_pos;
499  fZHit = hit.z_pos;
500  fXErrHit = hit.x_err;
501  fYErrHit = hit.y_err;
502  fZErrHit = hit.z_err;
503  fT0Hit = hit.ts0_ns;
504  fT1Hit = hit.ts1_ns;
505 
506  fNHitFeb = hit.feb_id.size();
507  fHitTotPe = hit.peshit;
508  int mactmp = hit.feb_id[0];
511 
513 
514  auto ittmp = hit.pesmap.find(mactmp);
515  if (ittmp==hit.pesmap.end()) {
516  mf::LogError("CRTDataAnalysis") << "hitreg: " << fHitReg << std::endl;
517  mf::LogError("CRTDataAnalysis") << "fHitSubSys: "<< fHitSubSys << std::endl;
518  mf::LogError("CRTDataAnalysis") << "mactmp = " << mactmp << std::endl;
519  mf::LogError("CRTDataAnalysis") << "could not find mac in pesmap!" << std::endl;
520  continue;
521  }
522  int chantmp = (*ittmp).second[0].first;
523 
524  fHitMod = fCrtutils->MacToAuxDetID(mactmp, chantmp);
525  fHitStrip = fCrtutils->ChannelToAuxDetSensitiveID(mactmp, chantmp);
526 
527  fHitNtuple->Fill();
528  }//for CRT Hits
529  }//if CRT Hits
530 
531  else mf::LogError("CRTDataAnalysis") << "CRTHit products not found! (expected if decoder step)" << std::endl;
532 
533 
534  } // CRTDataAnalysis::analyze()
float fXHit
reconstructed X position of CRT hit (cm)
int fRun
number of the run being processed
then if[["$THISISATEST"==1]]
Definition: neoSmazza.sh:95
float fXErrHit
stat error of CRT hit reco X (cm)
float fZErrHit
stat error of CRT hit reco Z (cm)
float fYErrHit
stat error of CRT hit reco Y (cm)
int fEntry
front-end board entry number (reset for each event)
int fMac5
Mac5 address for this front-end board.
int fNHit
number of CRT hits for this event
process_name hit
Definition: cheaterreco.fcl:51
double fQSlope
Pedestal slope of SiPMs [ADC/photon].
int fHitEvent
signal inducing particle(s)&#39; PDG code
float fYHit
reconstructed Y position of CRT hit (cm)
art::InputTag fCRTHitProducerLabel
The name of the producer that created hits.
uint64_t fT1
signal time w.r.t. global event time
int fHitReg
region code of CRT hit
std::string bitName(triggerSource bit)
Returns a mnemonic short name of the beam type.
Definition: BeamBits.h:267
uint64_t fT0
signal time w.r.t. PPS
virtual std::pair< double, double > getSideCRTCalibrationMap(int mac5, int chan) const =0
double fPEThresh
threshold[PE] above which charge amplitudes used in hit reco
const icarusDB::IICARUSChannelMap * fChannelMap
int fEvent
number of the event being processed
uint64_t fT0Hit
hit time w.r.t. PPS
int fNChan
number of channels above threshold for this front-end board readout
float fZHit
reconstructed Z position of CRT hit (cm)
triggerSource
Type of beam or beam gate or other trigger source.
Definition: BeamBits.h:97
Long64_t fT1Hit
hit time w.r.t. global trigger
int fADC[64]
Max number of channel.
double fQPed
Pedestal offset of SiPMs [ADC].
float fPE[64]
signal amplitude
int fFEBReg
CRT region for this front-end board.
void icarus::crt::CRTDataAnalysis::beginJob ( )
overridevirtual

Definition at line 295 of file CRTDataAnalysis_module.cc.

296  {
297  mf::LogError("CRTDataAnalysis") << " starting analysis job" << std::endl;
298 
299  // Access ART's TFileService, which will handle creating and writing
300  // histograms and n-tuples for us.
301  art::ServiceHandle<art::TFileService> tfs;
302 
303  // Define our n-tuples
304  fDAQNtuple = tfs->make<TTree>("DAQTree", "MyCRTDAQ");
305  fHitNtuple = tfs->make<TTree>("HitTree", "MyCRTHit");
306 
307  // Define the branches of our DetSim n-tuple
308  fDAQNtuple->Branch("event", &fDetEvent, "event/I");
309  fDAQNtuple->Branch("run", &fDetRun, "run/I");
310  fDAQNtuple->Branch("subrun", &fDetSubRun, "subrun/I");
311  fDAQNtuple->Branch("nChan", &fNChan, "nChan/I");
312  fDAQNtuple->Branch("t0", &fT0, "t0/l");
313  fDAQNtuple->Branch("t1", &fT1, "t1/l");
314  fDAQNtuple->Branch("flags", &fFlags, "flags/I");
315  fDAQNtuple->Branch("nmaxch", &fNMaxCh, "nmaxch/I");
316  fDAQNtuple->Branch("adc", fADC, "adc[nmaxch]/I");
317  fDAQNtuple->Branch("pe", fPE, "pe[nmaxch]/F");
318  fDAQNtuple->Branch("entry", &fEntry, "entry/I");
319  fDAQNtuple->Branch("mac5", &fMac5, "mac5/I");
320  fDAQNtuple->Branch("region", &fFEBReg, "region/I");
321  fDAQNtuple->Branch("subSys", &fDetSubSys, "subSys/I");
322  fDAQNtuple->Branch("gate_type", &m_gate_type, "gate_type/b");
323  fDAQNtuple->Branch("gate_start_timestamp", &m_gate_start_timestamp, "gate_start_timestamp/l");
324 
325  // Define the branches of our SimHit n-tuple
326  fHitNtuple->Branch("event", &fHitEvent, "event/I");
327  fHitNtuple->Branch("nHit", &fNHit, "nHit/I");
328  fHitNtuple->Branch("x", &fXHit, "x/F");
329  fHitNtuple->Branch("y", &fYHit, "y/F");
330  fHitNtuple->Branch("z", &fZHit, "z/F");
331  fHitNtuple->Branch("xErr", &fXErrHit, "xErr/F");
332  fHitNtuple->Branch("yErr", &fYErrHit, "yErr/F");
333  fHitNtuple->Branch("zErr", &fZErrHit, "zErr/F");
334  fHitNtuple->Branch("t0", &fT0Hit, "t0/l");
335  fHitNtuple->Branch("t1", &fT1Hit, "t1/L");
336  fHitNtuple->Branch("region", &fHitReg, "region/I");
337  // fHitNtuple->Branch("tagger", &ftagger, "tagger/C");
338  fHitNtuple->Branch("subSys", &fHitSubSys, "subSys/I");
339  fHitNtuple->Branch("modID", &fHitMod, "modID/I");
340  fHitNtuple->Branch("stripID", &fHitStrip, "stripID/I");
341  fHitNtuple->Branch("nFeb", &fNHitFeb, "nFeb/I");
342  fHitNtuple->Branch("totPe", &fHitTotPe, "totPe/F");
343  fHitNtuple->Branch("gate_type", &m_gate_type, "gate_type/b");
344  fHitNtuple->Branch("gate_name", &m_gate_name);
345  fHitNtuple->Branch("trigger_timestamp", &m_trigger_timestamp, "trigger_timestamp/l");
346  fHitNtuple->Branch("gate_start_timestamp", &m_gate_start_timestamp, "gate_start_timestamp/l");
347  fHitNtuple->Branch("trigger_gate_diff", &m_trigger_gate_diff, "trigger_gate_diff/l");
348  fHitNtuple->Branch("gate_crt_diff",&m_gate_crt_diff, "gate_crt_diff/l");
349 }
float fXHit
reconstructed X position of CRT hit (cm)
float fXErrHit
stat error of CRT hit reco X (cm)
float fZErrHit
stat error of CRT hit reco Z (cm)
float fYErrHit
stat error of CRT hit reco Y (cm)
int fEntry
front-end board entry number (reset for each event)
int fMac5
Mac5 address for this front-end board.
int fNHit
number of CRT hits for this event
int fHitEvent
signal inducing particle(s)&#39; PDG code
float fYHit
reconstructed Y position of CRT hit (cm)
uint64_t fT1
signal time w.r.t. global event time
int fHitReg
region code of CRT hit
uint64_t fT0
signal time w.r.t. PPS
uint64_t fT0Hit
hit time w.r.t. PPS
int fNChan
number of channels above threshold for this front-end board readout
float fZHit
reconstructed Z position of CRT hit (cm)
Long64_t fT1Hit
hit time w.r.t. global trigger
art::ServiceHandle< art::TFileService > tfs
int fADC[64]
Max number of channel.
float fPE[64]
signal amplitude
int fFEBReg
CRT region for this front-end board.
void icarus::crt::CRTDataAnalysis::beginRun ( const art::Run &  run)
overridevirtual

Definition at line 351 of file CRTDataAnalysis_module.cc.

352  {
353  }
void icarus::crt::CRTDataAnalysis::FillFebMap ( )
private

Definition at line 264 of file CRTDataAnalysis_module.cc.

264  {
265  if(!this->fFebMap.empty())
266  return;
267  std::string fullFileName;
268  cet::search_path searchPath("FW_SEARCH_PATH");
269  searchPath.find_file("feb_map.txt",fullFileName);
270  std::ifstream fin;
271  fin.open(fullFileName,std::ios::in);
272  if(fin.good()) mf::LogError("CRTDataAnalysis") << "opened file 'feb_map.txt' for reading..." << std::endl;
273  else // mf::LogError("CRTDataAnalysis") << "could not open file 'feb_map.txt' for reading!" << std::endl;
274  throw cet::exception("CRTDataAnalysis::FillFebMap") << "Unable to find/open file 'feb_map.txt'" << std::endl;
275  std::vector<std::string> row;
276  std::string line, word;
277  while(getline(fin,line)) {
278  row.clear();
279  std::stringstream s(line);
280  int mod;
281  while (std::getline(s, word, ',')) {
282  row.push_back(word);
283  }
284  mod = std::stoi(row[0]);
285  (this->fFebMap)[mod].push_back(std::make_pair(std::stoi(row[1]),std::stoi(row[2])));
286  if(row.size()>3)
287  (this->fFebMap)[mod].push_back(std::make_pair(std::stoi(row[3]),std::stoi(row[4])));
288  }
289  // mf::LogError("CRTDataAnalysis") << "filled febMap with " << (this->fFebMap).size() << " entries" << std::endl;
290  fin.close();
291  }
static map< int, vector< pair< int, int > > > fFebMap
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
then echo File list $list not found else cat $list while read file do echo $file sed s
Definition: file_to_url.sh:60

Member Data Documentation

int icarus::crt::CRTDataAnalysis::fADC[64]
private

Max number of channel.

signal amplitude

Definition at line 197 of file CRTDataAnalysis_module.cc.

const icarusDB::IICARUSChannelMap* icarus::crt::CRTDataAnalysis::fChannelMap = nullptr
private

Definition at line 145 of file CRTDataAnalysis_module.cc.

art::InputTag icarus::crt::CRTDataAnalysis::fCRTDAQProducerLabel
private

Definition at line 151 of file CRTDataAnalysis_module.cc.

art::InputTag icarus::crt::CRTDataAnalysis::fCRTHitProducerLabel
private

The name of the producer that created hits.

Definition at line 150 of file CRTDataAnalysis_module.cc.

CRTCommonUtils* icarus::crt::CRTDataAnalysis::fCrtutils
private

Definition at line 224 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::fCrtWindow
private

Looking data window within trigger timestamp [ns].

Definition at line 156 of file CRTDataAnalysis_module.cc.

TTree* icarus::crt::CRTDataAnalysis::fDAQNtuple
private

Definition at line 161 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fDetEvent
private

Definition at line 186 of file CRTDataAnalysis_module.cc.

vector<vector<int> > icarus::crt::CRTDataAnalysis::fDetPDG
private

Definition at line 201 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fDetRun
private

Definition at line 187 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fDetSubRun
private

Definition at line 188 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fDetSubSys
private

Definition at line 193 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fEntry
private

front-end board entry number (reset for each event)

Definition at line 190 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fEvent
private

number of the event being processed

Definition at line 167 of file CRTDataAnalysis_module.cc.

map< int, vector< pair< int, int > > > icarus::crt::CRTDataAnalysis::fFebMap
staticprivate

Definition at line 158 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fFEBReg
private

CRT region for this front-end board.

Definition at line 191 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fFlags
private

Flags.

Definition at line 199 of file CRTDataAnalysis_module.cc.

geo::GeometryCore const* icarus::crt::CRTDataAnalysis::fGeometryService
private

pointer to Geometry provider

Definition at line 222 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fHitEvent
private

signal inducing particle(s)' PDG code

Definition at line 204 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fHitMod
private

Definition at line 217 of file CRTDataAnalysis_module.cc.

TTree* icarus::crt::CRTDataAnalysis::fHitNtuple
private

Definition at line 162 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fHitReg
private

region code of CRT hit

Definition at line 213 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fHitStrip
private

Definition at line 216 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fHitSubSys
private

Definition at line 214 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fHitTotPe
private

Definition at line 219 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fMac5
private

Mac5 address for this front-end board.

Definition at line 192 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fNChan
private

number of channels above threshold for this front-end board readout

Definition at line 189 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fNHit
private

number of CRT hits for this event

Definition at line 215 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fNHitFeb
private

Definition at line 218 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fNMaxCh
private

Definition at line 196 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fPE[64]
private

signal amplitude

Definition at line 198 of file CRTDataAnalysis_module.cc.

double icarus::crt::CRTDataAnalysis::fPEThresh
private

threshold[PE] above which charge amplitudes used in hit reco

Definition at line 155 of file CRTDataAnalysis_module.cc.

double icarus::crt::CRTDataAnalysis::fQPed
private

Pedestal offset of SiPMs [ADC].

Definition at line 153 of file CRTDataAnalysis_module.cc.

double icarus::crt::CRTDataAnalysis::fQSlope
private

Pedestal slope of SiPMs [ADC/photon].

Definition at line 154 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fRun
private

number of the run being processed

Definition at line 168 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fSubRun
private

number of the sub-run being processed

Definition at line 169 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::fT0
private

signal time w.r.t. PPS

Definition at line 194 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::fT0Hit
private

hit time w.r.t. PPS

Definition at line 211 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::fT1
private

signal time w.r.t. global event time

Definition at line 195 of file CRTDataAnalysis_module.cc.

Long64_t icarus::crt::CRTDataAnalysis::fT1Hit
private

hit time w.r.t. global trigger

Definition at line 212 of file CRTDataAnalysis_module.cc.

vector<vector<int> > icarus::crt::CRTDataAnalysis::fTrackID
private

track ID(s) of particle that produced the signal

Definition at line 200 of file CRTDataAnalysis_module.cc.

art::InputTag icarus::crt::CRTDataAnalysis::fTriggerLabel
private

Definition at line 149 of file CRTDataAnalysis_module.cc.

int icarus::crt::CRTDataAnalysis::fTriggerOffset
private

(units of ticks) time of expected neutrino event

Definition at line 223 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fXErrHit
private

stat error of CRT hit reco X (cm)

Definition at line 208 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fXHit
private

reconstructed X position of CRT hit (cm)

Definition at line 205 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fYErrHit
private

stat error of CRT hit reco Y (cm)

Definition at line 209 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fYHit
private

reconstructed Y position of CRT hit (cm)

Definition at line 206 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fZErrHit
private

stat error of CRT hit reco Z (cm)

Definition at line 210 of file CRTDataAnalysis_module.cc.

float icarus::crt::CRTDataAnalysis::fZHit
private

reconstructed Z position of CRT hit (cm)

Definition at line 207 of file CRTDataAnalysis_module.cc.

const int icarus::crt::CRTDataAnalysis::LAR_PROP_DELAY = 1.0/(30.0/1.38)
staticprivate

Definition at line 174 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::m_gate_crt_diff
private

Definition at line 182 of file CRTDataAnalysis_module.cc.

std::string icarus::crt::CRTDataAnalysis::m_gate_name
private

Definition at line 178 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::m_gate_start_timestamp
private

Definition at line 180 of file CRTDataAnalysis_module.cc.

unsigned int icarus::crt::CRTDataAnalysis::m_gate_type
private

Definition at line 177 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::m_trigger_gate_diff
private

Definition at line 181 of file CRTDataAnalysis_module.cc.

uint64_t icarus::crt::CRTDataAnalysis::m_trigger_timestamp
private

Definition at line 179 of file CRTDataAnalysis_module.cc.


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