All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions | Variables
lightana Namespace Reference

Classes

class  FlashAlgoBase
 
class  FlashAlgoFactoryBase
 
class  FlashAlgoFactory
 Factory class for instantiating flash algorithm instance. More...
 
class  FlashFinderManager
 
struct  LiteOpHit_t
 
struct  LiteOpFlash_t
 
class  PECalib
 
class  SimpleFlashAlgo
 
class  SimpleFlashAlgoFactory
 A concrete factory class for lightana::SimpleFlashAlgo. More...
 
class  DriftEstimatorBase
 
class  DriftEstimatorPMTRatio
 
class  FlashGeoBarycenter
 
class  FlashGeoBase
 
class  FlashT0Base
 
class  FlashT0FirstHit
 
class  FlashT0SelectedChannels
 

Typedefs

typedef fhicl::ParameterSet Config_t
 
typedef std::vector
< lightana::LiteOpHit_t
LiteOpHitArray_t
 
typedef std::vector
< lightana::LiteOpFlash_t
LiteOpFlashArray_t
 

Functions

std::vector< size_t > ListOpChannels (int cryostat)
 
std::vector< size_t > ListOpDets (int cryostat)
 
size_t NOpDets (int cryostat)
 
std::vector< size_t > ListOpChannelsByTPC (int tpc)
 
std::vector< int > PDNamesToList (std::vector< std::string > pd_names)
 
size_t OpDetFromOpChannel (size_t opch)
 
void OpDetCenterFromOpChannel (size_t opch, double *xyz)
 

Variables

static const double kINVALID_TIME = std::numeric_limits<double>::max()
 
static const unsigned int kINVALID_CHANNEL = std::numeric_limits<unsigned int>::max()
 
static SimpleFlashAlgoFactory __SimpleFlashAlgoFactoryStaticObject__
 

Detailed Description

File: DriftEstimatorBase.hh

Interface class for drift coordinate estimation from reco objects

Created by Fran Nicolas, June 2022

File: DriftEstimatorPMTRatio_tool.cc

Base class: DriftEstimatorBase.hh

Tool description: this tool estimates the drift coordinate from the ratio between the #PE reconstructed for the uncoated/coated PMTs. It requires a calibration curve (speficied in the CalibrationFile fhicl parameter). Once the drift has been estimated, the photon propagation time is calculated using the VUV and VIS light group velocities

Created by Fran Nicolas, June 2022

File: FlashGeoBarycenter_tool.cc

Base class: FlashGeoBase.hh

It computes the PMTs barycenter weighted by the reconstructed number of PE

File: FlashGeoBase.h

Interfacce class for a tool to calculate the recob::OpFlash Y and Z coordinates (PDS plane)

Created by Fran Nicolas, June 2022

File: FlashT0Base.h

Interfacce class for a tool to calculate the recob::OpFlash t0 from the associated recob::OpHits

Created by Fran Nicolas, June 2022

File: FlashT0FirstHit_tool.cc

Base class: FlashT0Base.hh

Algorithm description: The OpFlash t0 is set to the OpHit with the largest signal (#PE). Only OpHits above the MinHitPE cut are considered

Created by Fran Nicolas, June 2022

File: FlashT0SelectedChannels_tool.cc

Base class: FlashT0Base.hh

Algorithm description: it averages the OpHit times for the photon detectors (PDs) containing a certain fraction (PDFraction) of the integrated signal. Only OpHit in the interval [FlashPeakTime-PreWindow, FlashPeakTime-PostWindow] and above MinHitPE are taken into account

Created by Fran Nicolas, June 2022

Typedef Documentation

typedef fhicl::ParameterSet lightana::Config_t

Function Documentation

std::vector< size_t > lightana::ListOpChannels ( int  cryostat)

Definition at line 19 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

19  {
20  std::vector<size_t> res;
21  ::art::ServiceHandle<geo::Geometry> geo;
22  if(cryostat<0) {
23  for(size_t opch=0; opch<geo->MaxOpChannel(); ++opch) {
24  if(geo->IsValidOpChannel(opch)) continue;
25  res.push_back(opch);
26  }
27  }else{
28  auto const& bbox = geo->Cryostat(cryostat).Boundaries();
29  for(size_t opch=0; opch<geo->MaxOpChannel(); ++opch) {
30  if(geo->IsValidOpChannel(opch)) continue;
31  auto const& pt = geo->OpDetGeoFromOpChannel(opch).GetCenter();
32  if(!bbox.ContainsPosition(pt)) continue;
33  res.push_back(opch);
34  }
35  }
36  return res;
37  }
std::vector< size_t > lightana::ListOpChannelsByTPC ( int  tpc)

Definition at line 65 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

65  {
66  std::vector<size_t> res;
67  ::art::ServiceHandle<geo::Geometry> geo;
68  if(tpc<0) {
69  for(size_t opch=0; opch<geo->MaxOpChannel(); ++opch) {
70  if(geo->IsValidOpChannel(opch)) continue;
71  res.push_back(opch);
72  }
73  }else{
74  // auto const& bbox = geo->TPC(tpc).BoundingBox();
75  for(size_t opch=0; opch<geo->MaxOpChannel(); ++opch) {
76  if(!geo->IsValidOpChannel(opch)) continue;
77  auto const& pt = geo->OpDetGeoFromOpChannel(opch).GetCenter();
78  // std::cout << "pt: " << pt.X() << ", " << pt.Y() << ", " << pt.Z() << std::endl;
79  // if(!bbox.ContainsPosition(pt)) continue;
80  if(pt.X() < 0 && tpc == 0) {
81  res.push_back(opch);
82  }
83  if(pt.X() > 0 && tpc == 1) {
84  res.push_back(opch);
85  }
86  }
87  }
88  return res;
89  }
std::vector< size_t > lightana::ListOpDets ( int  cryostat)

Definition at line 39 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

39  {
40  std::vector<size_t> res;
41  ::art::ServiceHandle<geo::Geometry> geo;
42  if(cryostat<0) {
43  for(size_t opdet=0; opdet<geo->NOpDets(); ++opdet) {
44  res.push_back(opdet);
45  }
46  }else{
47  auto const& bbox = geo->Cryostat(cryostat).Boundaries();
48  for(size_t opdet=0; opdet<geo->NOpDets(); ++opdet) {
49  auto const& pt = geo->OpDetGeoFromOpDet(opdet).GetCenter();
50  if(!bbox.ContainsPosition(pt)) continue;
51  res.push_back(opdet);
52  }
53  }
54  return res;
55  }
size_t lightana::NOpDets ( int  cryostat)

Definition at line 57 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

57  {
58  ::art::ServiceHandle<geo::Geometry> geo;
59  if(cryostat<0)
60  return geo->NOpDets();
61  else
62  return geo->Cryostat(cryostat).NOpDet();
63  }
void lightana::OpDetCenterFromOpChannel ( size_t  opch,
double *  xyz 
)

Definition at line 111 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

111  {
112  ::art::ServiceHandle<geo::Geometry> geo;
113  geo->OpDetGeoFromOpChannel(opch).GetCenter(xyz);
114  }
size_t lightana::OpDetFromOpChannel ( size_t  opch)

Definition at line 106 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

106  {
107  ::art::ServiceHandle<geo::Geometry> geo;
108  return geo->OpDetFromOpChannel(opch);
109  }
std::vector< int > lightana::PDNamesToList ( std::vector< std::string >  pd_names)

Definition at line 91 of file sbndcode/sbndcode/OpDetReco/OpFlash/FlashFinder/FlashFinderFMWKInterface.cxx.

91  {
92 
93  std::vector<int> out_ch_v;
94 
95  opdet::sbndPDMapAlg pds_map;
96 
97  for (auto name : pd_names) {
98  auto ch_v = pds_map.getChannelsOfType(name);
99  out_ch_v.insert(out_ch_v.end(), ch_v.begin(), ch_v.end());
100  }
101 
102  return out_ch_v;
103 
104  }
std::vector< int > getChannelsOfType(std::string pdname) const
then echo fcl name

Variable Documentation

SimpleFlashAlgoFactory lightana::__SimpleFlashAlgoFactoryStaticObject__
static
const unsigned int lightana::kINVALID_CHANNEL = std::numeric_limits<unsigned int>::max()
static
const double lightana::kINVALID_TIME = std::numeric_limits<double>::max()
static