cevtStationRecData_ROOT.cc
Go to the documentation of this file.
1 #include <cevt/StationRecData.h>
2 #include <io/cevtStationRecData_ROOT.h>
3 
4 using namespace io;
5 
6 
8 
9 
10 cevtStationRecData_ROOT::cevtStationRecData_ROOT(const cevt::StationRecData& d) :
11  fTotalMuonHitsPileUpCorrected(d.GetTotalMuonHitsPileUpCorrected()),
12  fHasFiducialAreaInfo(d.HasFiducialAreaInfo()),
13  fFiducialArea(d.GetFiducialArea()),
14  fNumberPadsInFiducialArea(d.GetNumberPadsInFiducialArea()),
15  fNumberPadsOutFiducialArea(d.GetNumberPadsOutFiducialArea()),
16  fHasSlantMassInfo(d.HasSlantMassInfo()),
17  fAverageSlantMass(d.GetAverageSlantMass()),
18  fAverageSlantMassInFiducialArea(d.GetAverageSlantMassInFiducialArea()),
19  fAverageSlantMassOutFiducialArea(d.GetAverageSlantMassOutFiducialArea())
20 {
21 
22  for (int ii = 0; ii != static_cast<int>(cevt::StationConstants::eLastSource); ++ii) {
23  fTotalHits[ii] =
24  d.GetTotalHits(static_cast<cevt::StationConstants::SignalComponent>(ii));
25 
26  fTotalHitsPileUpCorrected[ii] =
27  d.GetTotalHitsPileUpCorrected(static_cast<cevt::StationConstants::SignalComponent>(ii));
28 
29  fTotalHitsInFiducialArea[ii] =
30  d.GetTotalHitsInFiducialArea(static_cast<cevt::StationConstants::SignalComponent>(ii));
31 
32  fTotalHitsOutFiducialArea[ii] =
33  d.GetTotalHitsOutFiducialArea(static_cast<cevt::StationConstants::SignalComponent>(ii));
34 
35  fTotalHitsInFiducialAreaPileUpCorrected[ii] =
36  d.GetTotalHitsInFiducialAreaPileUpCorrected(static_cast<cevt::StationConstants::SignalComponent>(ii));
37 
38  fTotalHitsOutFiducialAreaPileUpCorrected[ii] =
39  d.GetTotalHitsOutFiducialAreaPileUpCorrected(static_cast<cevt::StationConstants::SignalComponent>(ii));
40  }
41 
42  if (d.HasHitsInFiducialArea())
43  fHitsInFiducialArea =
45  d.HitsInFiducialAreaBegin(),
46  d.HitsInFiducialAreaEnd()
47  );
48 
49  if (d.HasHitsOutFiducialArea())
50  fHitsOutFiducialArea =
52  d.HitsOutFiducialAreaBegin(),
53  d.HitsOutFiducialAreaEnd()
54  );
55 
56 }
57 
58 
59 void
61 {
63 
64  for (int ii = 0; ii != static_cast<int>(cevt::StationConstants::eLastSource); ++ii) {
65  d.SetTotalHits(fTotalHits[ii],static_cast<cevt::StationConstants::SignalComponent>(ii));
66  d.SetTotalHitsPileUpCorrected(fTotalHitsPileUpCorrected[ii],static_cast<cevt::StationConstants::SignalComponent>(ii));
67  d.SetTotalHitsInFiducialArea(fTotalHitsInFiducialArea[ii],static_cast<cevt::StationConstants::SignalComponent>(ii));
68  d.SetTotalHitsOutFiducialArea(fTotalHitsOutFiducialArea[ii],static_cast<cevt::StationConstants::SignalComponent>(ii));
69  d.SetTotalHitsInFiducialAreaPileUpCorrected(fTotalHitsInFiducialAreaPileUpCorrected[ii],static_cast<cevt::StationConstants::SignalComponent>(ii));
70  d.SetTotalHitsOutFiducialAreaPileUpCorrected(fTotalHitsOutFiducialAreaPileUpCorrected[ii],static_cast<cevt::StationConstants::SignalComponent>(ii));
71  }
72 
73 
78 
83 
84 
85  //d.SetHitsInFiducialArea(fHitsInFiducialArea);
86  //d.SetHitsOutFiducialArea(fHitsOutFiducialArea);
87 
88  if (fHitsInFiducialArea) {
89  for (const auto& st : fHitsInFiducialArea.fTimeDistributions) {
90  //utl::TimeDistributionI t(st.second.fSlotSize);
91  //st.second >> t;
92 
94  static_cast<cevt::StationConstants::SignalComponent>(st.first);
95 
96  if (!d.HasHitsInFiducialArea(source))
97  d.MakeHitsInFiducialArea(source);
98  st.second >> d.GetHitsInFiducialArea(source);
99  }
100  }
101 
102  if (fHitsOutFiducialArea) {
103  for (const auto& st : fHitsOutFiducialArea.fTimeDistributions) {
104  //utl::TimeDistributionI t(st.second.fSlotSize);
105  //st.second >> t;
106 
108  static_cast<cevt::StationConstants::SignalComponent>(st.first);
109 
110  if (!d.HasHitsOutFiducialArea(source))
111  d.MakeHitsOutFiducialArea(source);
112  st.second >> d.GetHitsOutFiducialArea(source);
113  }
114  }
115 
116 }
void SetNumberPadsOutFiducialArea(const unsigned int nPads)
void SetTotalHitsInFiducialAreaPileUpCorrected(const double nhits, const SignalComponent source=StationConstants::eTotal)
utl::TimeDistributionI & GetHitsInFiducialArea(const SignalComponent source=StationConstants::eTotal)
void SetAverageSlantMassInFiducialArea(const double &mass)
Class to access station level reconstructed data.
double fTotalHitsPileUpCorrected[cevt::StationConstants::eLastSource]
void SetTotalHitsOutFiducialArea(const unsigned int nhits, const SignalComponent source=StationConstants::eTotal)
double fTotalHitsInFiducialAreaPileUpCorrected[cevt::StationConstants::eLastSource]
bool HasHitsInFiducialArea(const SignalComponent source=StationConstants::eTotal) const
Check if a digitized signal exists. Source may be specified.
void MakeHitsOutFiducialArea(const SignalComponent source=StationConstants::eTotal)
Make a time distribution. Source may be specified.
void SetHasFiducialAreaInfo(const bool &flag)
MultiTimeDistributionI_ROOT fHitsOutFiducialArea
void SetTotalHitsOutFiducialAreaPileUpCorrected(const double nhits, const SignalComponent source=StationConstants::eTotal)
void SetTotalHits(const unsigned int nhits, const SignalComponent source=StationConstants::eTotal)
Persistent StationRecData using ROOT.
MultiTimeDistribution_ROOT< int > MultiTimeDistributionI_ROOT
void SetFiducialArea(const double &fiducialArea)
unsigned int fTotalHits[cevt::StationConstants::eLastSource]
double fTotalHitsOutFiducialAreaPileUpCorrected[cevt::StationConstants::eLastSource]
std::map< int, io::TimeDistribution_ROOT< T > > fTimeDistributions
unsigned int fTotalHitsOutFiducialArea[cevt::StationConstants::eLastSource]
bool HasHitsOutFiducialArea(const SignalComponent source=StationConstants::eTotal) const
Check if a digitized signal exists. Source may be specified.
void MakeHitsInFiducialArea(const SignalComponent source=StationConstants::eTotal)
Make a time distribution. Source may be specified.
void SetTotalHitsInFiducialArea(const unsigned int nhits, const SignalComponent source=StationConstants::eTotal)
unsigned int fTotalHitsInFiducialArea[cevt::StationConstants::eLastSource]
void SetAverageSlantMassOutFiducialArea(const double &mass)
void operator>>(cevt::StationRecData &d)
void SetNumberPadsInFiducialArea(const unsigned int nPads)
void SetHasSlantMassInfo(const bool &flag)
void SetTotalMuonHitsPileUpCorrected(const double nhits)
void SetTotalHitsPileUpCorrected(const double nhits, const SignalComponent source=StationConstants::eTotal)
MultiTimeDistributionI_ROOT fHitsInFiducialArea
void SetAverageSlantMass(const double &mass)
utl::TimeDistributionI & GetHitsOutFiducialArea(const SignalComponent source=StationConstants::eTotal)

, generated on Tue Sep 26 2023.