Public Member Functions | Private Member Functions | Private Attributes | List of all members
proto::EdepCal Class Reference
Inheritance diagram for proto::EdepCal:
art::EDAnalyzer art::detail::Analyzer art::detail::LegacyModule art::Observer art::ModuleBase

Public Member Functions

 EdepCal (fhicl::ParameterSet const &p)
 
 EdepCal (EdepCal const &)=delete
 
 EdepCal (EdepCal &&)=delete
 
EdepCaloperator= (EdepCal const &)=delete
 
EdepCaloperator= (EdepCal &&)=delete
 
void analyze (art::Event const &e) override
 
void beginJob () override
 
void beginRun (const art::Run &run) override
 
void reconfigure (fhicl::ParameterSet const &p)
 
- Public Member Functions inherited from art::EDAnalyzer
 EDAnalyzer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 EDAnalyzer (Table< Config > const &config)
 
std::string workerType () const
 
- Public Member Functions inherited from art::detail::Analyzer
virtual ~Analyzer () noexcept
 
 Analyzer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 Analyzer (Table< Config > const &config)
 
void doBeginJob (SharedResources const &resources)
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
- Public Member Functions inherited from art::Observer
 ~Observer () noexcept
 
 Observer (Observer const &)=delete
 
 Observer (Observer &&)=delete
 
Observeroperator= (Observer const &)=delete
 
Observeroperator= (Observer &&)=delete
 
void registerProducts (ProductDescriptions &, ModuleDescription const &)
 
void fillDescriptions (ModuleDescription const &)
 
fhicl::ParameterSetID selectorConfig () const
 
- Public Member Functions inherited from art::ModuleBase
virtual ~ModuleBase () noexcept
 
 ModuleBase ()
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Private Member Functions

void ResetVars ()
 
bool Has (std::vector< int > v, int i) const
 
double GetEdepMC (art::Event const &e) const
 
double GetEdepAttenuatedMC (art::Event const &e) const
 
double GetEdepEM_MC (art::Event const &e) const
 
double GetEdepEMAttenuated_MC (art::Event const &e) const
 
double GetEdepHits (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const std::vector< recob::Hit > &hits) const
 
double GetEdepHits (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const std::vector< art::Ptr< recob::Hit > > &hits) const
 
double GetEdepHitsMeV (const std::vector< recob::Hit > &hits) const
 

Private Attributes

geo::GeometryCore const * fGeometry
 
double fElectronsToGeV
 
int fBestview
 
double fT0
 
TTree * fTree
 
int fRun
 
int fEvent
 
double fEnGen
 
double fEkGen
 
double fEdep
 
double fEdepMeV
 
double fEdepCl
 
double fEdepMC
 
double fEdepAttMC
 
double fEdepEMMC
 
double fEdepEMAttMC
 
double fRatioTot
 
double fRatioEM
 
double fRatioHad
 
std::string fSimulationLabel
 
std::string fHitsModuleLabel
 
std::string fClusterModuleLabel
 
calo::CalorimetryAlg fCalorimetryAlg
 
std::unordered_map< int, const simb::MCParticle * > fParticleMap
 

Additional Inherited Members

- Public Types inherited from art::EDAnalyzer
using WorkerType = WorkerT< EDAnalyzer >
 
using ModuleType = EDAnalyzer
 
- Protected Member Functions inherited from art::Observer
std::string const & processName () const
 
bool wantAllEvents () const noexcept
 
bool wantEvent (ScheduleID id, Event const &e) const
 
Handle< TriggerResultsgetTriggerResults (Event const &e) const
 
 Observer (fhicl::ParameterSet const &config)
 
 Observer (std::vector< std::string > const &select_paths, std::vector< std::string > const &reject_paths, fhicl::ParameterSet const &config)
 
- Protected Member Functions inherited from art::ModuleBase
ConsumesCollectorconsumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Detailed Description

Definition at line 65 of file EdepCal_module.cc.

Constructor & Destructor Documentation

proto::EdepCal::EdepCal ( fhicl::ParameterSet const &  p)
explicit

Definition at line 152 of file EdepCal_module.cc.

153  :
154  EDAnalyzer(p),
155  fCalorimetryAlg(p.get<fhicl::ParameterSet>("CalorimetryAlg"))
156  // More initializers here.
157 {
158  // get a pointer to the geometry service provider
160 
161  reconfigure(p);
162 }
void reconfigure(fhicl::ParameterSet const &p)
EDAnalyzer(fhicl::ParameterSet const &pset)
Definition: EDAnalyzer.h:25
geo::GeometryCore const * fGeometry
p
Definition: test.py:223
calo::CalorimetryAlg fCalorimetryAlg
proto::EdepCal::EdepCal ( EdepCal const &  )
delete
proto::EdepCal::EdepCal ( EdepCal &&  )
delete

Member Function Documentation

void proto::EdepCal::analyze ( art::Event const &  e)
overridevirtual

Implements art::EDAnalyzer.

Definition at line 202 of file EdepCal_module.cc.

203 {
204  // Implementation of required member function here.
205  ResetVars();
206 
207  fRun = e.run();
208  fEvent = e.id().event();
209 
210  // MC particle list
211  auto particleHandle = e.getValidHandle< std::vector<simb::MCParticle> >(fSimulationLabel);
212  bool flag = true;
213 
214  for (auto const& p : *particleHandle)
215  {
216  fParticleMap[p.TrackId()] = &p;
217  if ((p.Process() == "primary") && flag)
218  {
219  fEnGen = p.P();
220  fEkGen = (std::sqrt(p.P()*p.P() + p.Mass()*p.Mass()) - p.Mass()) * 1000; // MeV
221  fT0 = p.T();
222  flag = false;
223  }
224  }
225 
226  // MC
227  fEdepMC = GetEdepMC(e);
229 // fEdepMCTotV = GetEdepTotVox(e);
232 
233  //sim::IDE
234  //auto simchannel = e.getValidHandle< std::vector<sim::SimChannel> >(fSimulationLabel);
235 
236  // hits
237  fEdep = 0.0;
238  const auto& hitListHandle = *e.getValidHandle< std::vector<recob::Hit> >(fHitsModuleLabel);
239 
240  auto const clockData = art::ServiceHandle<detinfo::DetectorClocksService>()->DataFor(e);
241  auto const detProp = art::ServiceHandle<detinfo::DetectorPropertiesService>()->DataFor(e, clockData);
242  fEdep = GetEdepHits(clockData, detProp, hitListHandle);
243  fEdepMeV = GetEdepHitsMeV(hitListHandle);
244 
245  // clusters
246  auto clListHandle = e.getValidHandle< std::vector<recob::Cluster> >(fClusterModuleLabel);
247 
248  // look for all hits associated to selected cluster
249  art::FindManyP< recob::Hit > hitsFromClusters(clListHandle, e, fClusterModuleLabel);
250 
251  fEdepCl = 0.0;
252  for (size_t c = 0; c < clListHandle->size(); ++c)
253  {
254  fEdepCl += GetEdepHits(clockData, detProp, hitsFromClusters.at(c));
255  }
256 
257 
258  if (fEdepMC > 0.0)
259  {
260  fRatioTot = fEdep / fEdepMC;
261  }
262  if (fEdepEMMC > 0.0)
263  {
265  }
266 
267  double edephad = fEdepMC - fEdepEMMC;
268  if (edephad > 0)
269  {
270  fRatioHad = (fEdep - fEdepCl) / edephad;
271  }
272 
273  fTree->Fill();
274 }
double GetEdepAttenuatedMC(art::Event const &e) const
double GetEdepMC(art::Event const &e) const
std::string fSimulationLabel
double GetEdepHits(detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, const std::vector< recob::Hit > &hits) const
double GetEdepEMAttenuated_MC(art::Event const &e) const
const double e
p
Definition: test.py:223
std::string fClusterModuleLabel
double GetEdepHitsMeV(const std::vector< recob::Hit > &hits) const
std::unordered_map< int, const simb::MCParticle * > fParticleMap
double GetEdepEM_MC(art::Event const &e) const
std::string fHitsModuleLabel
void proto::EdepCal::beginJob ( )
overridevirtual

Reimplemented from art::EDAnalyzer.

Definition at line 170 of file EdepCal_module.cc.

171 {
172  // access art's TFileService, which will handle creating and writing hists
174 
175  fTree = tfs->make<TTree>("calibration","calibration tree");
176  fTree->Branch("fRun", &fRun, "fRun/I");
177  fTree->Branch("fEvent", &fEvent, "fEvent/I");
178  fTree->Branch("fEnGen", &fEnGen, "fEnGen/D");
179  fTree->Branch("fEkGen", &fEkGen, "fEkGen/D");
180  fTree->Branch("fEdep", &fEdep, "fEdep/D");
181  fTree->Branch("fEdepMeV", &fEdepMeV, "fEdepMeV/D");
182  fTree->Branch("fEdepCl", &fEdepCl, "fEdepCl/D");
183  fTree->Branch("fEdepMC", &fEdepMC, "fEdepMC/D");
184  fTree->Branch("fEdepAttMC", &fEdepAttMC, "fEdepAttMC/D");
185 // fTree->Branch("fEdepMCTotV", &fEdepMCTotV, "fEdepMCTotV/D");
186  fTree->Branch("fEdepEMMC", &fEdepEMMC, "fEdepEMMC/D");
187  fTree->Branch("fEdepEMAttMC", &fEdepEMAttMC, "fEdepEMAttMC/D");
188  fTree->Branch("fRatioTot", &fRatioTot, "fRatioTot/D");
189  fTree->Branch("fRatioEM", &fRatioEM, "fRatioEM/D");
190  fTree->Branch("fRatioHad", &fRatioHad, "fRatioHad/D");
191 }
void proto::EdepCal::beginRun ( const art::Run run)
override

Definition at line 164 of file EdepCal_module.cc.

165 {
167  fElectronsToGeV = 1./larParameters->GeVToElectrons();
168 }
double fElectronsToGeV
double GeVToElectrons() const
double proto::EdepCal::GetEdepAttenuatedMC ( art::Event const &  e) const
private

Definition at line 306 of file EdepCal_module.cc.

307 {
308  double energy = 0.0;
309 
310  auto simchannelHandle = e.getHandle< std::vector<sim::SimChannel> >(fSimulationLabel);
311  if (simchannelHandle)
312  {
313  for ( auto const& channel : (*simchannelHandle) )
314  {
315  if (fGeometry->View(channel.Channel()) == fBestview)
316  {
317  // for every time slice in this channel:
318  auto const& timeSlices = channel.TDCIDEMap();
319  for ( auto const& timeSlice : timeSlices )
320  {
321  // loop over the energy deposits.
322  auto const& energyDeposits = timeSlice.second;
323 
324  for ( auto const& energyDeposit : energyDeposits )
325  {
326  energy += energyDeposit.numElectrons * fElectronsToGeV * 1000;
327  }
328  }
329  }
330  }
331  }
332 
333  return energy;
334 
335 }
std::string fSimulationLabel
double fElectronsToGeV
uint8_t channel
Definition: CRTFragment.hh:201
const double e
geo::GeometryCore const * fGeometry
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
double proto::EdepCal::GetEdepEM_MC ( art::Event const &  e) const
private

Definition at line 337 of file EdepCal_module.cc.

338 {
339  double enEM = 0.0;
340 
341  auto simchannelHandle = e.getHandle< std::vector<sim::SimChannel> >(fSimulationLabel);
342  if (simchannelHandle)
343  {
344  for ( auto const& channel : (*simchannelHandle) )
345  {
346  if (fGeometry->View(channel.Channel()) == fBestview)
347  {
348  // for every time slice in this channel:
349  auto const& timeSlices = channel.TDCIDEMap();
350  for ( auto const& timeSlice : timeSlices )
351  {
352  // loop over the energy deposits.
353  auto const& energyDeposits = timeSlice.second;
354 
355  for ( auto const& energyDeposit : energyDeposits )
356  {
357  double energy = energyDeposit.energy;
358  int trackID = energyDeposit.trackID;
359 
360  if (trackID < 0)
361  {
362  enEM += energy;
363  }
364  else if (trackID > 0)
365  {
366  auto search = fParticleMap.find(trackID);
367  bool found = true;
368  if (search == fParticleMap.end())
369  {
370  mf::LogWarning("TrainingDataAlg") << "PARTICLE NOT FOUND";
371  found = false;
372  }
373 
374  int pdg = 0;
375  if (found)
376  {
377  const simb::MCParticle& particle = *((*search).second);
378  if (!pdg) pdg = particle.PdgCode(); // not EM activity so read what PDG it is
379  }
380 
381  if ((pdg == 11) || (pdg == -11) || (pdg == 22)) enEM += energy;
382  }
383 
384  }
385  }
386  }
387  }
388  }
389  return enEM;
390 }
int PdgCode() const
Definition: MCParticle.h:212
std::string fSimulationLabel
uint8_t channel
Definition: CRTFragment.hh:201
const double e
geo::GeometryCore const * fGeometry
Definition: search.py:1
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
std::unordered_map< int, const simb::MCParticle * > fParticleMap
double proto::EdepCal::GetEdepEMAttenuated_MC ( art::Event const &  e) const
private

Definition at line 392 of file EdepCal_module.cc.

393 {
394  double enEM = 0.0;
395 
396 
397  auto simchannelHandle = e.getHandle< std::vector<sim::SimChannel> >(fSimulationLabel);
398  if (simchannelHandle)
399  {
400  for ( auto const& channel : (*simchannelHandle) )
401  {
402  if (fGeometry->View(channel.Channel()) == fBestview)
403  {
404  // for every time slice in this channel:
405  auto const& timeSlices = channel.TDCIDEMap();
406  for ( auto const& timeSlice : timeSlices )
407  {
408  // loop over the energy deposits.
409  auto const& energyDeposits = timeSlice.second;
410 
411  for ( auto const& energyDeposit : energyDeposits )
412  {
413  double energy = energyDeposit.numElectrons * fElectronsToGeV * 1000;
414  int trackID = energyDeposit.trackID;
415 
416  if (trackID < 0)
417  {
418  enEM += energy;
419  }
420  else if (trackID > 0)
421  {
422  auto search = fParticleMap.find(trackID);
423  bool found = true;
424  if (search == fParticleMap.end())
425  {
426  mf::LogWarning("TrainingDataAlg") << "PARTICLE NOT FOUND";
427  found = false;
428  }
429 
430  int pdg = 0;
431  if (found)
432  {
433  const simb::MCParticle& particle = *((*search).second);
434  if (!pdg) pdg = particle.PdgCode(); // not EM activity so read what PDG it is
435  }
436 
437  if ((pdg == 11) || (pdg == -11) || (pdg == 22)) enEM += energy;
438  }
439 
440  }
441  }
442  }
443  }
444  }
445  return enEM;
446 }
int PdgCode() const
Definition: MCParticle.h:212
std::string fSimulationLabel
double fElectronsToGeV
uint8_t channel
Definition: CRTFragment.hh:201
const double e
geo::GeometryCore const * fGeometry
Definition: search.py:1
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
std::unordered_map< int, const simb::MCParticle * > fParticleMap
double proto::EdepCal::GetEdepHits ( detinfo::DetectorClocksData const &  clockData,
detinfo::DetectorPropertiesData const &  detProp,
const std::vector< recob::Hit > &  hits 
) const
private

Definition at line 467 of file EdepCal_module.cc.

470 {
471  if (!hits.size()) return 0.0;
472 
473  double dqsum = 0.0;
474  for (size_t h = 0; h < hits.size(); ++h)
475  {
476  unsigned short plane = hits[h].WireID().Plane;
477  if (plane != fBestview) continue;
478 
479  double dqadc = hits[h].Integral();
480  if (!std::isnormal(dqadc) || (dqadc < 0)) continue;
481 
482  double dqel = fCalorimetryAlg.ElectronsFromADCArea(dqadc, plane);
483 
484  double tdrift = hits[h].PeakTime();
485  double correllifetime = fCalorimetryAlg.LifetimeCorrection(clockData, detProp, tdrift, fT0);
486 
487  double dq = dqel * correllifetime * fElectronsToGeV * 1000;
488  if (!std::isnormal(dq) || (dq < 0)) continue;
489 
490  dqsum += dq;
491  }
492 
493  return dqsum;
494 }
double fElectronsToGeV
double ElectronsFromADCArea(double area, unsigned short plane) const
calo::CalorimetryAlg fCalorimetryAlg
double LifetimeCorrection(detinfo::DetectorClocksData const &clock_data, detinfo::DetectorPropertiesData const &det_prop, double time, double T0=0) const
double proto::EdepCal::GetEdepHits ( detinfo::DetectorClocksData const &  clockData,
detinfo::DetectorPropertiesData const &  detProp,
const std::vector< art::Ptr< recob::Hit > > &  hits 
) const
private

Definition at line 520 of file EdepCal_module.cc.

523 {
524  if (!hits.size()) return 0.0;
525 
526  double dqsum = 0.0;
527  for (size_t h = 0; h < hits.size(); ++h)
528  {
529  unsigned short plane = hits[h]->WireID().Plane;
530  if (plane != fBestview) continue;
531 
532  double dqadc = hits[h]->Integral();
533  if (!std::isnormal(dqadc) || (dqadc < 0)) continue;
534 
535  double dqel = fCalorimetryAlg.ElectronsFromADCArea(dqadc, plane);
536 
537  double tdrift = hits[h]->PeakTime();
538  double correllifetime = fCalorimetryAlg.LifetimeCorrection(clockData, detProp, tdrift, fT0);
539 
540  double dq = dqel * correllifetime * fElectronsToGeV * 1000;
541  if (!std::isnormal(dq) || (dq < 0)) continue;
542 
543  dqsum += dq;
544  }
545 
546  return dqsum;
547 }
double fElectronsToGeV
double ElectronsFromADCArea(double area, unsigned short plane) const
calo::CalorimetryAlg fCalorimetryAlg
double LifetimeCorrection(detinfo::DetectorClocksData const &clock_data, detinfo::DetectorPropertiesData const &det_prop, double time, double T0=0) const
double proto::EdepCal::GetEdepHitsMeV ( const std::vector< recob::Hit > &  hits) const
private

Definition at line 496 of file EdepCal_module.cc.

497 {
498  if (!hits.size()) return 0.0;
499 
500  double dqsum = 0.0;
501  for (size_t h = 0; h < hits.size(); ++h)
502  {
503  unsigned short plane = hits[h].WireID().Plane;
504  if (plane != fBestview) continue;
505 
506  double dqadc = hits[h].Integral();
507  if (!std::isnormal(dqadc) || (dqadc < 0)) continue;
508 
509  double dqel = fCalorimetryAlg.ElectronsFromADCArea(dqadc, plane);
510 
511  double dq = dqel * fElectronsToGeV * 1000;
512  if (!std::isnormal(dq) || (dq < 0)) continue;
513 
514  dqsum += dq;
515  }
516 
517  return dqsum;
518 }
double fElectronsToGeV
double ElectronsFromADCArea(double area, unsigned short plane) const
calo::CalorimetryAlg fCalorimetryAlg
double proto::EdepCal::GetEdepMC ( art::Event const &  e) const
private

Definition at line 276 of file EdepCal_module.cc.

277 {
278  double energy = 0.0;
279 
280  auto simchannelHandle = e.getHandle< std::vector<sim::SimChannel> >(fSimulationLabel);
281  if (simchannelHandle)
282  {
283  for ( auto const& channel : (*simchannelHandle) )
284  {
285  if (fGeometry->View(channel.Channel()) == fBestview)
286  {
287  // for every time slice in this channel:
288  auto const& timeSlices = channel.TDCIDEMap();
289  for ( auto const& timeSlice : timeSlices )
290  {
291  // loop over the energy deposits.
292  auto const& energyDeposits = timeSlice.second;
293 
294  for ( auto const& energyDeposit : energyDeposits )
295  {
296  energy += energyDeposit.energy;
297  }
298  }
299  }
300  }
301  }
302 
303  return energy;
304 }
std::string fSimulationLabel
uint8_t channel
Definition: CRTFragment.hh:201
const double e
geo::GeometryCore const * fGeometry
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
bool proto::EdepCal::Has ( std::vector< int >  v,
int  i 
) const
private

Definition at line 549 of file EdepCal_module.cc.

550 {
551  for (auto c : v) if (c == i) return true;
552  return false;
553 }
EdepCal& proto::EdepCal::operator= ( EdepCal const &  )
delete
EdepCal& proto::EdepCal::operator= ( EdepCal &&  )
delete
void proto::EdepCal::reconfigure ( fhicl::ParameterSet const &  p)

Definition at line 193 of file EdepCal_module.cc.

194 {
195  fSimulationLabel = p.get< std::string >("SimulationLabel");
196  fHitsModuleLabel = p.get< std::string >("HitsModuleLabel");
197  fClusterModuleLabel = p.get< std::string >("ClusterModuleLabel");
198 
199  fBestview = p.get<int>("Bestview");
200 }
std::string fSimulationLabel
std::string string
Definition: nybbler.cc:12
p
Definition: test.py:223
std::string fClusterModuleLabel
std::string fHitsModuleLabel
void proto::EdepCal::ResetVars ( void  )
private

Definition at line 556 of file EdepCal_module.cc.

557 {
558  fEdep = 0.0;
559  fEdepMeV = 0.0;
560  fEnGen = 0.0;
561  fEkGen = 0.0;
562  fEdepCl = 0.0;
563  fEdepMC = 0.0;
564  fEdepAttMC = 0.0;
565 // fEdepMCTotV = 0.0;
566  fEdepEMMC = 0.0;
567  fEdepEMAttMC = 0.0;
568  fRatioTot = 0.0;
569  fRatioEM = 0.0;
570  fRatioHad = 0.0;
571  fT0 = 0.0;
572  fParticleMap.clear();
573 }
std::unordered_map< int, const simb::MCParticle * > fParticleMap

Member Data Documentation

int proto::EdepCal::fBestview
private

Definition at line 115 of file EdepCal_module.cc.

calo::CalorimetryAlg proto::EdepCal::fCalorimetryAlg
private

Definition at line 147 of file EdepCal_module.cc.

std::string proto::EdepCal::fClusterModuleLabel
private

Definition at line 145 of file EdepCal_module.cc.

double proto::EdepCal::fEdep
private

Definition at line 125 of file EdepCal_module.cc.

double proto::EdepCal::fEdepAttMC
private

Definition at line 129 of file EdepCal_module.cc.

double proto::EdepCal::fEdepCl
private

Definition at line 127 of file EdepCal_module.cc.

double proto::EdepCal::fEdepEMAttMC
private

Definition at line 132 of file EdepCal_module.cc.

double proto::EdepCal::fEdepEMMC
private

Definition at line 131 of file EdepCal_module.cc.

double proto::EdepCal::fEdepMC
private

Definition at line 128 of file EdepCal_module.cc.

double proto::EdepCal::fEdepMeV
private

Definition at line 126 of file EdepCal_module.cc.

double proto::EdepCal::fEkGen
private

Definition at line 124 of file EdepCal_module.cc.

double proto::EdepCal::fElectronsToGeV
private

Definition at line 91 of file EdepCal_module.cc.

double proto::EdepCal::fEnGen
private

Definition at line 123 of file EdepCal_module.cc.

int proto::EdepCal::fEvent
private

Definition at line 122 of file EdepCal_module.cc.

geo::GeometryCore const* proto::EdepCal::fGeometry
private

Definition at line 90 of file EdepCal_module.cc.

std::string proto::EdepCal::fHitsModuleLabel
private

Definition at line 144 of file EdepCal_module.cc.

std::unordered_map< int, const simb::MCParticle* > proto::EdepCal::fParticleMap
private

Definition at line 149 of file EdepCal_module.cc.

double proto::EdepCal::fRatioEM
private

Definition at line 134 of file EdepCal_module.cc.

double proto::EdepCal::fRatioHad
private

Definition at line 135 of file EdepCal_module.cc.

double proto::EdepCal::fRatioTot
private

Definition at line 133 of file EdepCal_module.cc.

int proto::EdepCal::fRun
private

Definition at line 121 of file EdepCal_module.cc.

std::string proto::EdepCal::fSimulationLabel
private

Definition at line 143 of file EdepCal_module.cc.

double proto::EdepCal::fT0
private

Definition at line 117 of file EdepCal_module.cc.

TTree* proto::EdepCal::fTree
private

Definition at line 120 of file EdepCal_module.cc.


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