Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
calib::CosmicCalib Class Reference
Inheritance diagram for calib::CosmicCalib:
art::EDFilter art::ProducerBase art::Consumer art::EngineCreator art::ProductRegistryHelper

Public Types

using ModuleType = EDFilter
 
using WorkerType = WorkerT< EDFilter >
 
template<typename UserConfig >
using Table = ProducerBase::Table< UserConfig >
 

Public Member Functions

 CosmicCalib (const fhicl::ParameterSet &pset)
 
 ~CosmicCalib ()
 
virtual bool filter (art::Event &evt)
 
void reconfigure (const fhicl::ParameterSet &pset)
 
virtual void beginJob ()
 
virtual bool beginRun (art::Run &run)
 
virtual bool endSubRun (art::SubRun &sr)
 
virtual void endJob ()
 
template<typename PROD , BranchType B = InEvent>
ProductID getProductID (std::string const &instanceName={}) const
 
template<typename PROD , BranchType B>
ProductID getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const
 
bool modifiesEvent () const
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< Tconsumes (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TconsumesView (InputTag const &it)
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ProductToken< TmayConsume (InputTag const &it)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , art::BranchType BT>
art::ViewToken< TmayConsumeView (InputTag const &it)
 
base_engine_tcreateEngine (seed_t seed)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make)
 
base_engine_tcreateEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label)
 
seed_t get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1)
 

Static Public Member Functions

static cet::exempt_ptr< Consumernon_module_context ()
 

Static Public Attributes

static constexpr bool Pass {true}
 
static constexpr bool Fail {false}
 

Protected Member Functions

caldp::AttenHists GetChannelHists (bool const &isData, int const &plane, int const &cell)
 
caldp::AttenProfilesGetChannelProfiles (novadaq::cnv::DetId const &det, bool const &isData, int const &plane, int const &cell)
 
int GetView (int const &plane)
 
double PCHitPE (caldp::PCHit const &pchit)
 
void FillPathLengthInfo (std::vector< caldp::PCHit > const &pchits, caldp::PathType_t const &pathType, bool const &isRealData, bool const &useBelowThreshold=false)
 
CurrentProcessingContext const * currentContext () const
 
void validateConsumedProduct (BranchType const bt, ProductInfo const &pi)
 
void prepareForJob (fhicl::ParameterSet const &pset)
 
void showMissingConsumes () const
 

Protected Attributes

bool fIncludeBelowThresholdZeros
 
caldp::AttenHists fSumChannels [4]
 
double fInitEdgeX
 
double fInitEdgeY
 
std::string fPCHitsLabel
 
std::string fRawDataLabel
 
bool fProfileMode
 
bool fConsolidateViewsMode
 
bool fHistoOutput
 
int fPECalculation
 
std::map< geo::CellUniqueId, rawdata::RawDigitfCellIdToRawDigit
 map cell id to the raw digit More...
 
art::ServiceHandle< cmap::CMapfCMap
 connection map More...
 
TH2 * fCellPE [4]
 
TH2 * fPlanePE [4]
 
TH1 * fdx
 
TH1 * fdy
 
TH1 * fdz
 
TH2 * fdxdy
 
TH2 * fdxdz
 
TH2 * fdydz
 
TH2 * fStartXY
 
TH2 * fStartZX
 
TH2 * fStartZY
 
TH2 * fStopXY
 
TH2 * fStopZX
 
TH2 * fStopZY
 
TH1 * fPathLength [4]
 
caldp::AttenHistsMap fChannelMap
 This is where GetChannelHist stores its histograms. Map is from block #. More...
 
std::map< int, std::unique_ptr< caldp::AttenProfilesMap > > fChannelMapProf
 
caldp::AttenHistsMap fChannelMapTotal
 This is what we put in the histogram file. More...
 
std::map< int, caldp::AttenProfilesMapfChannelMapProfTotal
 
art::ServiceHandle< geo::GeometryfGeom
 

Detailed Description

Definition at line 34 of file CosmicCalib_module.cc.

Member Typedef Documentation

using art::EDFilter::ModuleType = EDFilter
inherited

Definition at line 37 of file EDFilter.h.

template<typename UserConfig >
using art::EDFilter::Table = ProducerBase::Table<UserConfig>
inherited

Definition at line 46 of file EDFilter.h.

using art::EDFilter::WorkerType = WorkerT<EDFilter>
inherited

Definition at line 38 of file EDFilter.h.

Constructor & Destructor Documentation

calib::CosmicCalib::CosmicCalib ( const fhicl::ParameterSet pset)
explicit

Definition at line 110 of file CosmicCalib_module.cc.

References elec2geo::block, genie::utils::style::Format(), fProfileMode, and reconfigure().

111  : fdx(0) // This one is the signal that no histograms are created yet
112  {
113  reconfigure(pset);
114 
115  if(fProfileMode){
116  // TODO: I don't think we can determine the detector in time...
117  for(int block = 0; block < 28; ++block){
118  produces<caldp::AttenProfilesMap, art::InSubRun>(TString::Format("block%d", block).Data());
119  }
120  }
121  else{
122  produces<caldp::AttenHistsMap, art::InRun>();
123  }
124  }
void reconfigure(const fhicl::ParameterSet &pset)
block
print "ROW IS " print row
Definition: elec2geo.py:31
void Format(TGraph *gr, int lcol, int lsty, int lwid, int mcol, int msty, double msiz)
Definition: Style.cxx:154
calib::CosmicCalib::~CosmicCalib ( )

Definition at line 127 of file CosmicCalib_module.cc.

128  {
129  }

Member Function Documentation

void calib::CosmicCalib::beginJob ( )
virtual

Reimplemented from art::EDFilter.

Definition at line 145 of file CosmicCalib_module.cc.

146  {
147  }
bool calib::CosmicCalib::beginRun ( art::Run run)
virtual

Reimplemented from art::EDFilter.

Definition at line 150 of file CosmicCalib_module.cc.

References geo::GeometryBase::DetHalfHeight(), geo::GeometryBase::DetHalfWidth(), geo::GeometryBase::DetId(), fCellPE, fdx, fdxdy, fdxdz, fdy, fdydz, fdz, fGeom, fInitEdgeX, fInitEdgeY, fPathLength, fPlanePE, fStartXY, fStartZX, fStartZY, fStopXY, fStopZX, fStopZY, fSumChannels, novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, geo::kX, geo::kY, art::TFileDirectory::make(), registry_explorer::v, POTSpillRate::view, caldp::AttenHists::WPE, caldp::AttenHists::WPE_corr, caldp::AttenHists::WPE_corr_traj, caldp::AttenHists::WPE_corr_xy, caldp::AttenHists::WPE_corr_xy_truth, and caldp::AttenHists::WPE_corr_z.

151  {
154 
155  // The rest is making histograms. Don't do it again on a subsequent run
156  if(fdx) return true;
157 
158  const TString viewStrArr[4]={"X","Y","muX","muY"};
160  bool isND = fGeom->DetId() == novadaq::cnv::kNEARDET;
161  for(int view = geo::kX; view <= (geo::kY+2*isND); ++view){
162  const TString viewStr = viewStrArr[view];
163 
164  double maxW;
166  maxW = 900;
167  }
168  else if(fGeom->DetId() == novadaq::cnv::kNEARDET){
169  maxW = 250;
170  }
171  else{
172  // NDOS (hopefully)
173  maxW = (view == geo::kX) ? 250 : 150;
174  }
175 
177 
178  v.WPE = tfs->make<TH2F>("h_WPE_in"+viewStr,
179  ";W;PE",
180  2*maxW, -maxW, +maxW,
181  1000, 0, 1000);
182 
183  v.WPE_corr = tfs->make<TH2F>("h_WPE_corr_avg_in"+viewStr,
184  ";W;PE/cm",
185  2*maxW, -maxW, +maxW,
186  1000, 0, 200);
187 
188  v.WPE_corr_xy = tfs->make<TH2F>("h_WPE_corr_xy_in"+viewStr,
189  ";W;PE/cm",
190  2*maxW, -maxW, +maxW,
191  1000, 0, 200);
192 
193  v.WPE_corr_xy_truth = tfs->make<TH2F>("h_WPE_corr_xy_truth_in"+viewStr,
194  ";W;MeV/cm",
195  2*maxW, -maxW, +maxW,
196  1000, 0, 10);
197 
198  v.WPE_corr_z = tfs->make<TH2F>("h_WPE_corr_z_in"+viewStr,
199  ";W;PE/cm",
200  2*maxW, -maxW, +maxW,
201  1000, 0, 200);
202  v.WPE_corr_traj = tfs->make<TH2F>("h_WPE_corr_traj_in"+viewStr,
203  ";W;PE/cm",
204  2*maxW, -maxW, +maxW,
205  1000, 0, 200);
206 
207  fSumChannels[view] = v;
208 
209  fCellPE[view] = tfs->make<TH2F>("h_CellPE_in"+viewStr, ";Cell;PE",
210  105, -5, 100, 1000, 0, 1000);
211 
212  fPlanePE[view] = tfs->make<TH2F>("h_PlanePE_in"+viewStr, ";Plane;PE",
213  103, -6, 200, 1000, 0, 1000);
214 
215  fPathLength[view] = tfs->make<TH1F>("h_PathLength"+viewStr,
216  ";Path length (cm)",
217  80, 0, 20);
218  } // end for view
219 
220  fdx = tfs->make<TH1F>("h_dx", ";|dx|", 100, 0, 1);
221  fdy = tfs->make<TH1F>("h_dy", ";|dy|", 100, 0, 1);
222  fdz = tfs->make<TH1F>("h_dz", ";|dz|", 100, 0, 1);
223 
224  fdxdy = tfs->make<TH2F>("h_dxdy", ";|dx|;|dy|", 100, 0, 1, 100, 0, 1);
225  fdxdz = tfs->make<TH2F>("h_dxdz", ";|dx|;|dz|", 100, 0, 1, 100, 0, 1);
226  fdydz = tfs->make<TH2F>("h_dydz", ";|dy|;|dz|", 100, 0, 1, 100, 0, 1);
227 
228  fStartXY = tfs->make<TH2F>("h_StartXY", ";x;y",
229  100, -200, +200, 100, -250, +250);
230  fStartZX = tfs->make<TH2F>("h_StartZX", ";z;x",
231  100, -50, +900, 100, -200, +200);
232  fStartZY = tfs->make<TH2F>("h_StartZY", ";z;y",
233  100, -50, +900, 100, -250, +250);
234 
235  fStopXY = tfs->make<TH2F>("h_StopXY", ";x;y",
236  100, -200, +200, 100, -250, +250);
237  fStopZX = tfs->make<TH2F>("h_StopZX", ";z;x",
238  100, -50, +900, 100, -200, +200);
239  fStopZY = tfs->make<TH2F>("h_StopZY", ";z;y",
240  100, -50, +900, 100, -250, +250);
241 
242  return true;
243  }
Vertical planes which measure X.
Definition: PlaneGeo.h:28
TH2F * WPE_corr_xy_truth
Definition: AttenHists.h:67
Horizontal planes which measure Y.
Definition: PlaneGeo.h:29
art::ServiceHandle< geo::Geometry > fGeom
Far Detector at Ash River, MN.
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Near Detector in the NuMI cavern.
Histograms used by attenuation calibration.
Definition: AttenHists.h:27
double DetHalfHeight() const
caldp::AttenHists fSumChannels[4]
T * make(ARGS...args) const
double DetHalfWidth() const
TH2F * WPE_corr_traj
Definition: AttenHists.h:67
TH2F * WPE_corr_xy
Definition: AttenHists.h:67
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::consumes ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::consumes ( InputTag const &  it)
inherited

Definition at line 146 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

147 {
148  if (!moduleContext_)
149  return ProductToken<T>::invalid();
150 
151  consumables_[BT].emplace_back(ConsumableType::Product,
152  TypeID{typeid(T)},
153  it.label(),
154  it.instance(),
155  it.process());
156  return ProductToken<T>{it};
157 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::consumesMany ( )
inherited

Definition at line 161 of file Consumer.h.

References T.

162 {
163  if (!moduleContext_)
164  return;
165 
166  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
167 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::consumesView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::consumesView ( InputTag const &  it)
inherited

Definition at line 171 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

172 {
173  if (!moduleContext_)
174  return ViewToken<T>::invalid();
175 
176  consumables_[BT].emplace_back(ConsumableType::ViewElement,
177  TypeID{typeid(T)},
178  it.label(),
179  it.instance(),
180  it.process());
181  return ViewToken<T>{it};
182 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make 
)
inherited
base_engine_t& art::EngineCreator::createEngine ( seed_t  seed,
std::string const &  kind_of_engine_to_make,
label_t const &  engine_label 
)
inherited
CurrentProcessingContext const* art::EDFilter::currentContext ( ) const
protectedinherited
void calib::CosmicCalib::endJob ( )
virtual

Reimplemented from art::EDFilter.

Definition at line 617 of file CosmicCalib_module.cc.

References elec2geo::block, getBrightness::cell, om::cout, DEFINE_ART_MODULE(), dir, allTimeWatchdog::endl, fChannelMapProfTotal, fChannelMapTotal, fHistoOutput, caldp::AttenHistsMap::GetAllHistsByPlane(), make_syst_table_plots::h, it, art::TFileDirectory::make(), art::TFileDirectory::mkdir(), and NDAPDHVSetting::plane.

618  {
619  if(!fHistoOutput) return;
620 
622 
623  for(auto& it: fChannelMapTotal.GetAllHistsByPlane()){
624  const int plane = it.first;
625  const std::vector<TH2F*>& hs = it.second;
626 
627  art::TFileDirectory dir = tfs->mkdir(Form("plane_%03d", plane));
628 
629  for(TH2F* h: hs) dir.make<TH2F>(*h);
630  }
631 
632  for(int block = 0; block < 28; ++block){
633  auto itmap = fChannelMapProfTotal.find(block);
634  if(itmap == fChannelMapProfTotal.end()) continue;
635  for(auto& it: itmap->second.GetAllProfilesByPlaneAndCell()){
636  const int plane = it.first;
637  std::cout << plane << std::endl;
638  if(it.second.empty()) continue;
639 
640  art::TFileDirectory dirBlock = tfs->mkdir(Form("block_%02d", plane/32));
641  art::TFileDirectory dirPlane = dirBlock.mkdir(Form("plane_%03d", plane));
642 
643  for(auto& it2: it.second){
644  const int cell = it2.first;
645  const std::vector<TH1F*>& hs = it2.second;
646  if(hs.empty()) continue;
647 
648  art::TFileDirectory dirMod = dirPlane.mkdir(Form("module_%02d", cell/32));
649  art::TFileDirectory dirCell = dirMod.mkdir(Form("cell_%03d", cell));
650 
651  for(TH1F* h: hs) dirCell.make<TH1F>(*h);
652  }
653  }
654  }
655  }
std::map< int, std::vector< TH2F * > > GetAllHistsByPlane()
Intended for writing out/drawing all the histograms.
Definition: AttenHists.h:92
set< int >::iterator it
caldp::AttenHistsMap fChannelMapTotal
This is what we put in the histogram file.
TFileDirectory mkdir(std::string const &dir, std::string const &descr="")
block
print "ROW IS " print row
Definition: elec2geo.py:31
std::map< int, caldp::AttenProfilesMap > fChannelMapProfTotal
OStream cout
Definition: OStream.cxx:6
T * make(ARGS...args) const
TDirectory * dir
Definition: macro.C:5
bool calib::CosmicCalib::endSubRun ( art::SubRun sr)
virtual

Reimplemented from art::EDFilter.

Definition at line 246 of file CosmicCalib_module.cc.

References elec2geo::block, caldp::AttenHistsMap::Clear(), Munits::cm, fChannelMap, fChannelMapProf, fChannelMapProfTotal, fChannelMapTotal, fHistoOutput, genie::utils::style::Format(), fProfileMode, it, make_pair(), and art::SubRun::put().

247  {
248  if(fProfileMode){
249  for(int block = 0; block < 28; ++block){
250  auto it = fChannelMapProf.find(block);
251  if(it == fChannelMapProf.end()) continue;
252 
253  if(fHistoOutput){
254  // Accumulate a running total for the histogram file
255  auto ittot = fChannelMapProfTotal.find(block);
256  if(ittot == fChannelMapProfTotal.end())
257  fChannelMapProfTotal.insert(std::make_pair(block, *it->second));
258  else
259  ittot->second += *it->second;
260  }
261 
262  sr.put(std::move(it->second), TString::Format("block%d", block).Data());
263  }
264 
265  fChannelMapProf.clear();
266  }
267  else{
268  std::unique_ptr<caldp::AttenHistsMap> cm(new caldp::AttenHistsMap(fChannelMap));
269  sr.put(std::move(cm));
270 
271  // Accumulate a running total for the histogram file
273  // Don't double count for the output products
274  fChannelMap.Clear();
275  }
276 
277  return true;
278  }
set< int >::iterator it
caldp::AttenHistsMap fChannelMapTotal
This is what we put in the histogram file.
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:336
caldp::AttenHistsMap fChannelMap
This is where GetChannelHist stores its histograms. Map is from block #.
block
print "ROW IS " print row
Definition: elec2geo.py:31
std::map< int, caldp::AttenProfilesMap > fChannelMapProfTotal
AttenHists for many channels.
Definition: AttenHists.h:77
ProductID put(std::unique_ptr< PROD > &&)
void Format(TGraph *gr, int lcol, int lsty, int lwid, int mcol, int msty, double msiz)
Definition: Style.cxx:154
static constexpr Double_t cm
Definition: Munits.h:140
std::map< int, std::unique_ptr< caldp::AttenProfilesMap > > fChannelMapProf
void calib::CosmicCalib::FillPathLengthInfo ( std::vector< caldp::PCHit > const &  pchits,
caldp::PathType_t const &  pathType,
bool const &  isRealData,
bool const &  useBelowThreshold = false 
)
protected

Definition at line 443 of file CosmicCalib_module.cc.

References getBrightness::cell, geo::GeometryBase::DetId(), fCellPE, fGeom, caldp::LiteProfile::Fill(), fPathLength, fPlanePE, fProfileMode, fSumChannels, GetChannelHists(), GetChannelProfiles(), GetView(), caldp::AttenHists::HistogramByPathType(), hists, caldp::kCalAvg, caldp::kCalUnknown, caldp::kCalXY, caldp::kCalXYTruth, caldp::AttenProfiles::LiteProfileByPathType(), path, PCHitPE(), NDAPDHVSetting::plane, POTSpillRate::view, and w.

Referenced by filter().

447  {
448  bool useProfiles = (fProfileMode && pathType != caldp::kCalAvg);
449  bool useHists = (!fProfileMode);
450 
451  for(auto const& current_hit : pchits){
452 
453  double w = current_hit.W();
454  double path = current_hit.Path();
455  double pe = this->PCHitPE(current_hit);
456  double mev = current_hit.TrueMeV();
457  int plane = current_hit.Plane();
458  int cell = current_hit.Cell();
459  const int view = this->GetView(plane);
460 
461  if(useBelowThreshold && pe != 0.)
462  throw cet::exception("CosmicCalib")
463  << "attempting to use below threshold hit with nonzero pe: " << pe;
464 
465  if(path > 10) continue;
466 
467  if(pathType == caldp::kCalAvg){
468  fCellPE[view]->Fill(cell, pe);
469  fPlanePE[view]->Fill(plane, pe);
470  fPathLength[view]->Fill(path);
471  }
472  else{
473  fSumChannels[view].HistogramByPathType(pathType)->Fill(w, pe/path);
474  if(pathType == caldp::kCalXY && !useBelowThreshold){
476  }
477  }
478 
479  if(useProfiles){
480  caldp::AttenProfiles& profs = GetChannelProfiles(fGeom->DetId(), isRealData, plane, cell);
481  profs.LiteProfileByPathType(pathType).Fill(w, pe/path);
482  if(pathType == caldp::kCalXY && !useBelowThreshold)
483  profs.LiteProfileByPathType(caldp::kCalXYTruth).Fill(w, mev/path);
484  }
485  else if(useHists){
486  caldp::AttenHists hists = GetChannelHists(isRealData, plane, cell);
487  hists.HistogramByPathType(pathType)->Fill(w, pe/path);
488  if(pathType == caldp::kCalAvg)
489  hists.HistogramByPathType(caldp::kCalUnknown)->Fill(w, pe/path);
490  else if(pathType == caldp::kCalXY && !useBelowThreshold)
491  hists.HistogramByPathType(caldp::kCalXYTruth)->Fill(w, mev/path);
492  }
493 
494  }
495 
496  return;
497  }
caldp::AttenHists GetChannelHists(bool const &isData, int const &plane, int const &cell)
void Fill(float x, float y)
::xsd::cxx::tree::exception< char > exception
Definition: Database.h:225
TString hists[nhists]
Definition: bdt_com.C:3
art::ServiceHandle< geo::Geometry > fGeom
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
int GetView(int const &plane)
double PCHitPE(caldp::PCHit const &pchit)
Histograms used by attenuation calibration.
Definition: AttenHists.h:27
TH2F * HistogramByPathType(caldp::PathType_t const &pt)
Definition: AttenHists.h:52
caldp::AttenHists fSumChannels[4]
Profiles used by attenuation calibration.
Definition: AttenProfiles.h:61
const std::string path
Definition: plot_BEN.C:43
LiteProfile & LiteProfileByPathType(caldp::PathType_t const &pt)
Definition: AttenProfiles.h:71
Float_t w
Definition: plot.C:20
caldp::AttenProfiles & GetChannelProfiles(novadaq::cnv::DetId const &det, bool const &isData, int const &plane, int const &cell)
bool calib::CosmicCalib::filter ( art::Event evt)
virtual

Implements art::EDFilter.

Definition at line 281 of file CosmicCalib_module.cc.

References getBrightness::cell, geo::PlaneGeo::Cell(), fCellIdToRawDigit, fCMap, fGeom, FillPathLengthInfo(), fIncludeBelowThresholdZeros, fPCHitsLabel, fPECalculation, fRawDataLabel, cmap::dataprov::CMap::GetCell(), cmap::dataprov::CMap::GetPlane(), art::DataViewImpl::getValidHandle(), geo::CellGeo::Id(), art::Event::isRealData(), caldp::kCalAvg, caldp::kCalTraj, caldp::kCalXY, caldp::kCalZ, geo::GeometryBase::Plane(), NDAPDHVSetting::plane, art::Event::run(), and art::Event::subRun().

282  {
283 
284  // handle the case where we want to use the raw ADC values rather than
285  // the PCHit PE value for finding the attenuation curves
286  if(fPECalculation == 1){
287  // get the RawDigit list
288  auto digitcol = evt.getValidHandle< std::vector<rawdata::RawDigit> >(fRawDataLabel);
289 
290  // make a map of the CellUniqueId to rawdigit
291  size_t plane = 0;
292  size_t cell = 0;
293  geo::CellUniqueId cellId = 0;
294  for(auto const& rawdigit : *digitcol){
295  plane = fCMap->GetPlane(&rawdigit);
296  cell = fCMap->GetCell(&rawdigit);
297  cellId = fGeom->Plane(plane)->Cell(cell)->Id();
298  fCellIdToRawDigit[cellId] = rawdigit;
299  }
300  }// end if using ADCs instead of PEs
301 
302  auto pchit_avg = evt.getValidHandle< std::vector< caldp::PCHit > >(art::InputTag(fPCHitsLabel, "pathQualAvg" ));
303  auto pchit_xy = evt.getValidHandle< std::vector< caldp::PCHit > >(art::InputTag(fPCHitsLabel, "pathQualXY" ));
304  auto pchit_xy_thresh = evt.getValidHandle< std::vector< caldp::PCHit > >(art::InputTag(fPCHitsLabel, "pathQualXYThresh"));
305  auto pchit_z = evt.getValidHandle< std::vector< caldp::PCHit > >(art::InputTag(fPCHitsLabel, "pathQualZ" ));
306  auto pchit_traj = evt.getValidHandle< std::vector< caldp::PCHit > >(art::InputTag(fPCHitsLabel, "pathQualTraj" ));
307 
308  this->FillPathLengthInfo(*pchit_z, caldp::kCalZ, evt.isRealData());
309  this->FillPathLengthInfo(*pchit_traj, caldp::kCalTraj, evt.isRealData());
310  this->FillPathLengthInfo(*pchit_xy, caldp::kCalXY, evt.isRealData());
311  this->FillPathLengthInfo(*pchit_avg, caldp::kCalAvg, evt.isRealData());
314  }
315 
316  // For automatic output file naming to work, need to allow at least one
317  // event per subrun for now. ART issue 5427
318  static unsigned int prevR = -1, prevSR = -1;
319  if(evt.run() != prevR || evt.subRun() != prevSR){
320  prevR = evt.run();
321  prevSR = evt.subRun();
322  return true;
323  }
324  return false;
325 
326 
327 // for (size_t idx = 0; idx < pchit_avg->size(); ++idx){
328 //
329 // caldp::PCHit current_hit = pchit_avg->at(idx);
330 // double w = current_hit.W();
331 // double path = current_hit.Path();
332 // double pe = this->PCHitPE(current_hit);
333 // int plane = current_hit.Plane();
334 // int cell = current_hit.Cell();
335 // const int view = this->GetView(plane);
336 //
337 // if(path > 10) continue;
338 //
339 // fCellPE[view]->Fill(cell, pe);
340 // fPlanePE[view]->Fill(plane, pe);
341 //
342 // // fSumChannels[view].WPE->Fill(w, pe);
343 // // fSumChannels[view].WPE_corr->Fill(w, pe/path);
344 //
345 // if(fProfileMode){
346 // // caldp::AttenProfiles& profs = GetChannelProfiles(evt.isRealData(), plane, cell);
347 // // profs.WPE.Fill(w, pe);
348 // // profs.WPE_corr.Fill(w, pe/path);
349 // }
350 // else{
351 // caldp::AttenHists hists = GetChannelHists(evt.isRealData(), plane, cell);
352 // hists.WPE->Fill(w, pe);
353 // hists.WPE_corr->Fill(w, pe/path);
354 // }
355 //
356 // fPathLength[view]->Fill(path);
357 //
358 // } // loop over pc_hit_avg
359 //
360 // for(size_t idx = 0; idx < pchit_xy->size(); ++idx){
361 //
362 // caldp::PCHit current_hit = pchit_xy->at(idx);
363 // double w = current_hit.W();
364 // double path = current_hit.Path();
365 // double pe = this->PCHitPE(current_hit);
366 // double mev = current_hit.TrueMeV();
367 // int plane = current_hit.Plane();
368 // int cell = current_hit.Cell();
369 // const int view = GetView(plane);
370 // if(path > 10) continue;
371 //
372 // fSumChannels[view].WPE_corr_xy->Fill(w, pe/path);
373 // fSumChannels[view].WPE_corr_xy_truth->Fill(w, mev/path);
374 //
375 // if(fProfileMode){
376 // caldp::AttenProfiles& profs = GetChannelProfiles(fGeom->DetId(), evt.isRealData(), plane, cell);
377 // profs.WPE_corr_xy.Fill(w, pe/path);
378 // profs.WPE_corr_xy_truth.Fill(w, mev/path);
379 // }
380 // else{
381 // caldp::AttenHists hists = GetChannelHists(evt.isRealData(), plane, cell);
382 // hists.WPE_corr_xy->Fill(w, pe/path);
383 // hists.WPE_corr_xy_truth->Fill(w, mev/path);
384 // }
385 // }// loop over pc_hit_xy
386 //
387 // if(fIncludeBelowThresholdZeros){
388 // for (size_t idx = 0; idx < pchit_xy_thresh->size(); ++idx){
389 //
390 // caldp::PCHit current_hit = pchit_xy_thresh->at(idx);
391 // double w = current_hit.W();
392 // double path = current_hit.Path();
393 // double pe = this->PCHitPE(current_hit);
394 // assert(pe == 0);
395 // int plane = current_hit.Plane();
396 // int cell = current_hit.Cell();
397 // const int view = GetView(plane);
398 //
399 // if(path > 10) continue;
400 //
401 // fSumChannels[view].WPE_corr_xy->Fill(w, 0);
402 //
403 // if(fProfileMode){
404 // caldp::AttenProfiles& profs = GetChannelProfiles(fGeom->DetId(), evt.isRealData(), plane, cell);
405 // profs.WPE_corr_xy.Fill(w, 0);
406 // }
407 // else{
408 // caldp::AttenHists hists = GetChannelHists(evt.isRealData(), plane, cell);
409 // hists.WPE_corr_xy->Fill(w, 0);
410 // }
411 // // TODO: think about the other hists and profs
412 // }// loop over pc_hit_xy
413 // }
414 //
415 // for (size_t idx = 0; idx < pchit_z->size(); ++idx){
416 //
417 // caldp::PCHit current_hit = pchit_z->at(idx);
418 // double w = current_hit.W();
419 // double path = current_hit.Path();
420 // double pe = this->PCHitPE(current_hit);
421 // int plane = current_hit.Plane();
422 // int cell = current_hit.Cell();
423 // const int view = GetView(plane);
424 //
425 // if(path > 10) continue;
426 //
427 // fSumChannels[view].WPE_corr_z->Fill(w, pe/path);
428 //
429 // if(fProfileMode){
430 // caldp::AttenProfiles& profs = GetChannelProfiles(fGeom->DetId(), evt.isRealData(), plane, cell);
431 // profs.WPE_corr_z.Fill(w, pe/path);
432 // }
433 // else{
434 // caldp::AttenHists hists = GetChannelHists(evt.isRealData(), plane, cell);
435 // hists.WPE_corr_z->Fill(w, pe/path);
436 // }
437 //
438 // }// loop over pc_hit_z
439 
440  }
SubRunNumber_t subRun() const
Definition: Event.h:72
const CellGeo * Cell(int icell) const
Definition: PlaneGeo.h:48
art::ServiceHandle< cmap::CMap > fCMap
connection map
const PlaneGeo * Plane(unsigned int i) const
bool isRealData() const
Definition: Event.h:83
const CellUniqueId & Id() const
Definition: CellGeo.h:55
art::ServiceHandle< geo::Geometry > fGeom
std::map< geo::CellUniqueId, rawdata::RawDigit > fCellIdToRawDigit
map cell id to the raw digit
unsigned short GetPlane(const rawdata::RawDigit *dig)
Definition: CMap.cxx:285
unsigned long long int CellUniqueId
Definition: CellUniqueId.h:15
unsigned short GetCell(const rawdata::RawDigit *dig)
Definition: CMap.cxx:327
void FillPathLengthInfo(std::vector< caldp::PCHit > const &pchits, caldp::PathType_t const &pathType, bool const &isRealData, bool const &useBelowThreshold=false)
ValidHandle< PROD > getValidHandle(InputTag const &tag) const
RunNumber_t run() const
Definition: Event.h:77
seed_t art::EngineCreator::get_seed_value ( fhicl::ParameterSet const &  pset,
char const  key[] = "seed",
seed_t const  implicit_seed = -1 
)
inherited
caldp::AttenHists calib::CosmicCalib::GetChannelHists ( bool const &  isData,
int const &  plane,
int const &  cell 
)
protected

Definition at line 524 of file CosmicCalib_module.cc.

References geo::PlaneGeo::Cell(), fChannelMap, fConsolidateViewsMode, fGeom, genie::utils::style::Format(), GetChannelProfiles(), caldp::AttenHistsMap::GetHists(), GetView(), geo::CellGeo::HalfL(), hists, geo::GeometryBase::Plane(), NDAPDHVSetting::plane, caldp::AttenHists::WPE, caldp::AttenHists::WPE_corr, caldp::AttenHists::WPE_corr_traj, caldp::AttenHists::WPE_corr_xy, caldp::AttenHists::WPE_corr_xy_truth, and caldp::AttenHists::WPE_corr_z.

Referenced by FillPathLengthInfo().

527  {
528  // plane is a const reference so we can't change it.
529  // instead make a new variable called pln that we can change.
530  // if we are consolidating the views, set pln to the view
531  int pln = plane;
533  pln = GetView(plane);
534  }
535 
537 
538  // If the histograms are created for this channel, just return them
539  if(hists.WPE) return hists;
540 
541  // Otherwise have to construct them
542  const double maxW = fGeom->Plane(plane)->Cell(0)->HalfL()*1.15;
543 
544  TH2F* wadc = new TH2F(TString::Format("h_WPE_%03d_%03d", pln, cell),
545  ";W;PE", 100, -maxW, +maxW, 100, 0, 1000);
546 
547  TH2F* wadc_corr = new TH2F(TString::Format("h_WPE_corr_avg_%03d_%03d",
548  pln, cell),
549  ";W;PE/cm", 100, -maxW, +maxW, 100, 0, 200);
550 
551  TH2F* wadc_corr_xy = new TH2F(TString::Format("h_WPE_corr_xy_%03d_%03d",
552  pln, cell),
553  ";W;PE/cm", 100, -maxW, +maxW, 100, 0, 200);
554 
555  TH2F* wadc_corr_xy_truth = new TH2F(TString::Format("h_WPE_corr_xy_truth_%03d_%03d", pln, cell),
556  ";W;MeV/cm", 100, -maxW, +maxW, 100, 0, 10);
557 
558 
559  TH2F* wadc_corr_z = new TH2F(TString::Format("h_WPE_corr_z_%03d_%03d", pln, cell),
560  ";W;PE/cm", 100, -maxW, +maxW, 100, 0, 200);
561 
562  TH2F* wadc_corr_traj = new TH2F(TString::Format("h_WPE_corr_traj_%03d_%03d", pln, cell),
563  ";W;PE/cm", 100, -maxW, +maxW, 100, 0, 200);
564 
565  hists.WPE = wadc;
566  hists.WPE_corr = wadc_corr;
567  hists.WPE_corr_xy = wadc_corr_xy;
568  hists.WPE_corr_xy_truth = wadc_corr_xy_truth;
569  hists.WPE_corr_z = wadc_corr_z;
570  hists.WPE_corr_traj = wadc_corr_traj;
571 
572  return hists;
573  }
double HalfL() const
Definition: CellGeo.cxx:198
const CellGeo * Cell(int icell) const
Definition: PlaneGeo.h:48
const PlaneGeo * Plane(unsigned int i) const
TString hists[nhists]
Definition: bdt_com.C:3
caldp::AttenHistsMap fChannelMap
This is where GetChannelHist stores its histograms. Map is from block #.
TH2F * WPE_corr_xy_truth
Definition: AttenHists.h:67
art::ServiceHandle< geo::Geometry > fGeom
int GetView(int const &plane)
AttenHists & GetHists(const geo::OfflineChan &c)
Definition: AttenHists.h:81
Histograms used by attenuation calibration.
Definition: AttenHists.h:27
void Format(TGraph *gr, int lcol, int lsty, int lwid, int mcol, int msty, double msiz)
Definition: Style.cxx:154
TH2F * WPE_corr_traj
Definition: AttenHists.h:67
TH2F * WPE_corr_xy
Definition: AttenHists.h:67
caldp::AttenProfiles & calib::CosmicCalib::GetChannelProfiles ( novadaq::cnv::DetId const &  det,
bool const &  isData,
int const &  plane,
int const &  cell 
)
protected

Definition at line 577 of file CosmicCalib_module.cc.

References elec2geo::block, fChannelMapProf, fConsolidateViewsMode, GetView(), novadaq::cnv::kFARDET, novadaq::cnv::kNEARDET, make_pair(), and NDAPDHVSetting::plane.

Referenced by FillPathLengthInfo(), and GetChannelHists().

581  {
582  // MC only varies for these reasons. Consolidate due to low stats.
583  // Make a new variable, pln to be either the plane or the view if
584  // consolidating
585  int pln = plane;
587  pln = GetView(plane);
588  }
589 
590  double maxW;
591  if(det == novadaq::cnv::kFARDET) maxW = 800;
592  else if(det == novadaq::cnv::kNEARDET) maxW = 250;
593  else maxW = 250; // Don't bother to make non-square NDOS profiles
594 
595  const int block = pln/32;
596  if(fChannelMapProf.find(block) == fChannelMapProf.end())
597  fChannelMapProf.emplace(std::make_pair(block, std::unique_ptr<caldp::AttenProfilesMap>(new caldp::AttenProfilesMap(-maxW, +maxW))));
598  return fChannelMapProf.find(block)->second->GetProfiles(pln, cell);
599  }
AttenProfiles for many channels.
Definition: AttenProfiles.h:89
std::pair< Spectrum *, CheatDecomp * > make_pair(SpectrumLoaderBase &loader_data, SpectrumLoaderBase &loader_mc, HistAxis *axis, Cut *cut, const SystShifts &shift, const Var &wei)
Definition: DataMCLoad.C:336
Far Detector at Ash River, MN.
block
print "ROW IS " print row
Definition: elec2geo.py:31
int GetView(int const &plane)
Near Detector in the NuMI cavern.
std::map< int, std::unique_ptr< caldp::AttenProfilesMap > > fChannelMapProf
template<typename PROD , BranchType B>
ProductID art::EDFilter::getProductID ( std::string const &  instanceName = {}) const
inlineinherited

Definition at line 131 of file EDFilter.h.

References art::EDFilter::moduleDescription_.

Referenced by novaddt::HoughTrackMaker::create_associations().

132  {
133  return ProducerBase::getProductID<PROD, B>(moduleDescription_,
134  instanceName);
135  }
ModuleDescription moduleDescription_
Definition: EDFilter.h:124
template<typename PROD , BranchType B>
ProductID art::ProducerBase::getProductID ( ModuleDescription const &  moduleDescription,
std::string const &  instanceName 
) const
inherited

Definition at line 56 of file ProducerBase.h.

References art::ModuleDescription::moduleLabel().

Referenced by art::ProducerBase::modifiesEvent().

58  {
59  auto const& pd =
60  get_ProductDescription<PROD>(B, md.moduleLabel(), instanceName);
61  return pd.productID();
62  }
int calib::CosmicCalib::GetView ( int const &  plane)
protected

Definition at line 602 of file CosmicCalib_module.cc.

References geo::GeometryBase::DetId(), fGeom, geo::GeometryBase::FirstPlaneInMuonCatcher(), novadaq::cnv::kNEARDET, geo::GeometryBase::Plane(), NDAPDHVSetting::plane, POTSpillRate::view, and geo::PlaneGeo::View().

Referenced by FillPathLengthInfo(), GetChannelHists(), and GetChannelProfiles().

602  {
603  //get the view for the current combination of view and plane (x,y,mux, or muy)
604  int view=0;
606  int firstPlane = fGeom->FirstPlaneInMuonCatcher();
607  int isMuonCatcher = firstPlane <= plane;
608  view = fGeom->Plane(plane)->View()+(2*isMuonCatcher);
609  }
610  else{
611  view = fGeom->Plane(plane)->View();
612  }
613  return view;
614  }
const PlaneGeo * Plane(unsigned int i) const
art::ServiceHandle< geo::Geometry > fGeom
View_t View() const
Which coordinate does this plane measure.
Definition: PlaneGeo.h:53
novadaq::cnv::DetId DetId() const
Prefer ds::DetectorService::DetId() instead.
Definition: GeometryBase.h:243
Near Detector in the NuMI cavern.
const unsigned int FirstPlaneInMuonCatcher() const
Returns the index of the first plane contained in the muon catcher.
template<typename T , BranchType = InEvent>
ProductToken<T> art::Consumer::mayConsume ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ProductToken<T> art::Consumer::mayConsume ( InputTag const &  it)
inherited

Definition at line 189 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

190 {
191  if (!moduleContext_)
192  return ProductToken<T>::invalid();
193 
194  consumables_[BT].emplace_back(ConsumableType::Product,
195  TypeID{typeid(T)},
196  it.label(),
197  it.instance(),
198  it.process());
199  return ProductToken<T>{it};
200 }
set< int >::iterator it
static ProductToken< T > invalid()
Definition: ProductToken.h:47
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename T , art::BranchType BT>
void art::Consumer::mayConsumeMany ( )
inherited

Definition at line 204 of file Consumer.h.

References T.

205 {
206  if (!moduleContext_)
207  return;
208 
209  consumables_[BT].emplace_back(ConsumableType::Many, TypeID{typeid(T)});
210 }
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::Consumer::mayConsumeView ( InputTag const &  )
inherited
template<typename T , art::BranchType BT>
art::ViewToken<T> art::Consumer::mayConsumeView ( InputTag const &  it)
inherited

Definition at line 214 of file Consumer.h.

References art::InputTag::instance(), PandAna.reco_validation.prod5_pid_validation::invalid, art::InputTag::label(), art::InputTag::process(), and T.

215 {
216  if (!moduleContext_)
217  return ViewToken<T>::invalid();
218 
219  consumables_[BT].emplace_back(ConsumableType::ViewElement,
220  TypeID{typeid(T)},
221  it.label(),
222  it.instance(),
223  it.process());
224  return ViewToken<T>{it};
225 }
set< int >::iterator it
static ViewToken< Element > invalid()
Definition: ProductToken.h:75
ConsumableProducts consumables_
Definition: Consumer.h:137
double T
Definition: Xdiff_gwt.C:5
bool moduleContext_
Definition: Consumer.h:135
bool art::ProducerBase::modifiesEvent ( ) const
inlineinherited

Definition at line 40 of file ProducerBase.h.

References art::ProducerBase::getProductID(), and string.

41  {
42  return true;
43  }
static cet::exempt_ptr<Consumer> art::Consumer::non_module_context ( )
staticinherited
double calib::CosmicCalib::PCHitPE ( caldp::PCHit const &  pchit)
protected

Definition at line 500 of file CosmicCalib_module.cc.

References caldp::PCHit::Cell(), fCellIdToRawDigit, fGeom, fPECalculation, caldp::PCHit::PE(), caldp::PCHit::Plane(), and geo::GeometryBase::Plane().

Referenced by FillPathLengthInfo().

501  {
502  // this method provides multiple ways of getting a "PE" value
503  // and putting that into the plots used to make the attenuation
504  // curves. What value is returned is based on a parameter set at
505  // run time
506  double pe = 0.;
507 
508  if(fPECalculation == 0) return pchit.PE();
509  else if(fPECalculation == 1){
510  // get the cellId for the PCHit
511  auto pchitId = fGeom->Plane(pchit.Plane())->Cell(pchit.Cell())->Id();
512 
513  if( fCellIdToRawDigit.count(pchitId) > 0) pe = 1.*fCellIdToRawDigit.find(pchitId)->second.ADC();
514  else
515  throw cet::exception("CosmicCalib")
516  << "Cannot find RawDigit for " << pchit.Plane() << " " << pchit.Cell();
517 
518  }// end if using raw digit ADC values
519 
520  return pe;
521  }
::xsd::cxx::tree::exception< char > exception
Definition: Database.h:225
const PlaneGeo * Plane(unsigned int i) const
art::ServiceHandle< geo::Geometry > fGeom
std::map< geo::CellUniqueId, rawdata::RawDigit > fCellIdToRawDigit
map cell id to the raw digit
void art::Consumer::prepareForJob ( fhicl::ParameterSet const &  pset)
protectedinherited
void calib::CosmicCalib::reconfigure ( const fhicl::ParameterSet pset)

Definition at line 133 of file CosmicCalib_module.cc.

References fConsolidateViewsMode, fHistoOutput, fIncludeBelowThresholdZeros, fPCHitsLabel, fPECalculation, fProfileMode, fRawDataLabel, fhicl::ParameterSet::get(), and string.

Referenced by CosmicCalib().

134  {
135  fPCHitsLabel = pset.get<std::string>("PCHitsLabel");
136  fIncludeBelowThresholdZeros = pset.get<bool>("IncludeBelowThresholdZeros");
137  fProfileMode = pset.get<bool>("ProfileMode");
138  fConsolidateViewsMode = pset.get<bool>("ConsolidateViewsMode");
139  fHistoOutput = pset.get<bool>("HistoOutput");
140  fPECalculation = pset.get<int >("PECalculation", 0);
141  fRawDataLabel = pset.get<std::string>("RawDataLabel", "daq");
142  }
T get(std::string const &key) const
Definition: ParameterSet.h:231
enum BeamMode string
void art::Consumer::showMissingConsumes ( ) const
protectedinherited

Referenced by art::RootOutput::endJob().

void art::Consumer::validateConsumedProduct ( BranchType const  bt,
ProductInfo const &  pi 
)
protectedinherited

Member Data Documentation

constexpr bool art::EDFilter::Fail {false}
staticinherited

Definition at line 33 of file EDFilter.h.

Referenced by evgen::GENIEFilter::filter().

std::map<geo::CellUniqueId, rawdata::RawDigit> calib::CosmicCalib::fCellIdToRawDigit
protected

map cell id to the raw digit

Definition at line 82 of file CosmicCalib_module.cc.

Referenced by filter(), and PCHitPE().

TH2* calib::CosmicCalib::fCellPE[4]
protected

Definition at line 86 of file CosmicCalib_module.cc.

Referenced by beginRun(), and FillPathLengthInfo().

caldp::AttenHistsMap calib::CosmicCalib::fChannelMap
protected

This is where GetChannelHist stores its histograms. Map is from block #.

Definition at line 100 of file CosmicCalib_module.cc.

Referenced by endSubRun(), and GetChannelHists().

std::map<int, std::unique_ptr<caldp::AttenProfilesMap> > calib::CosmicCalib::fChannelMapProf
protected

Definition at line 101 of file CosmicCalib_module.cc.

Referenced by endSubRun(), and GetChannelProfiles().

std::map<int, caldp::AttenProfilesMap> calib::CosmicCalib::fChannelMapProfTotal
protected

Definition at line 104 of file CosmicCalib_module.cc.

Referenced by endJob(), and endSubRun().

caldp::AttenHistsMap calib::CosmicCalib::fChannelMapTotal
protected

This is what we put in the histogram file.

Definition at line 103 of file CosmicCalib_module.cc.

Referenced by endJob(), and endSubRun().

art::ServiceHandle<cmap::CMap> calib::CosmicCalib::fCMap
protected

connection map

Definition at line 83 of file CosmicCalib_module.cc.

Referenced by filter().

bool calib::CosmicCalib::fConsolidateViewsMode
protected

Definition at line 78 of file CosmicCalib_module.cc.

Referenced by GetChannelHists(), GetChannelProfiles(), and reconfigure().

TH1* calib::CosmicCalib::fdx
protected

Definition at line 90 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2* calib::CosmicCalib::fdxdy
protected

Definition at line 91 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2 * calib::CosmicCalib::fdxdz
protected

Definition at line 91 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH1 * calib::CosmicCalib::fdy
protected

Definition at line 90 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2 * calib::CosmicCalib::fdydz
protected

Definition at line 91 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH1 * calib::CosmicCalib::fdz
protected

Definition at line 90 of file CosmicCalib_module.cc.

Referenced by beginRun().

art::ServiceHandle<geo::Geometry> calib::CosmicCalib::fGeom
protected
bool calib::CosmicCalib::fHistoOutput
protected

Definition at line 79 of file CosmicCalib_module.cc.

Referenced by endJob(), endSubRun(), and reconfigure().

bool calib::CosmicCalib::fIncludeBelowThresholdZeros
protected

Definition at line 65 of file CosmicCalib_module.cc.

Referenced by filter(), and reconfigure().

double calib::CosmicCalib::fInitEdgeX
protected

Definition at line 73 of file CosmicCalib_module.cc.

Referenced by beginRun().

double calib::CosmicCalib::fInitEdgeY
protected

Definition at line 73 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH1* calib::CosmicCalib::fPathLength[4]
protected

Definition at line 97 of file CosmicCalib_module.cc.

Referenced by beginRun(), and FillPathLengthInfo().

std::string calib::CosmicCalib::fPCHitsLabel
protected

Definition at line 74 of file CosmicCalib_module.cc.

Referenced by filter(), and reconfigure().

int calib::CosmicCalib::fPECalculation
protected

method of determining the value of a pe 0 = PCHit::PE(), 1 = DCS ADC value from raw digit

Definition at line 80 of file CosmicCalib_module.cc.

Referenced by filter(), PCHitPE(), and reconfigure().

TH2* calib::CosmicCalib::fPlanePE[4]
protected

Definition at line 87 of file CosmicCalib_module.cc.

Referenced by beginRun(), and FillPathLengthInfo().

bool calib::CosmicCalib::fProfileMode
protected

Definition at line 77 of file CosmicCalib_module.cc.

Referenced by CosmicCalib(), endSubRun(), FillPathLengthInfo(), and reconfigure().

std::string calib::CosmicCalib::fRawDataLabel
protected

Definition at line 75 of file CosmicCalib_module.cc.

Referenced by filter(), and reconfigure().

TH2* calib::CosmicCalib::fStartXY
protected

Definition at line 94 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2 * calib::CosmicCalib::fStartZX
protected

Definition at line 94 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2 * calib::CosmicCalib::fStartZY
protected

Definition at line 94 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2* calib::CosmicCalib::fStopXY
protected

Definition at line 95 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2 * calib::CosmicCalib::fStopZX
protected

Definition at line 95 of file CosmicCalib_module.cc.

Referenced by beginRun().

TH2 * calib::CosmicCalib::fStopZY
protected

Definition at line 95 of file CosmicCalib_module.cc.

Referenced by beginRun().

caldp::AttenHists calib::CosmicCalib::fSumChannels[4]
protected

Definition at line 71 of file CosmicCalib_module.cc.

Referenced by beginRun(), and FillPathLengthInfo().

constexpr bool art::EDFilter::Pass {true}
staticinherited

Definition at line 32 of file EDFilter.h.

Referenced by evgen::GENIEFilter::filter().


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