5 namespace MdMuonEstimatorAG {
8 fTraceSize(nTraceLength),
9 fSamplingTime(sampTime)
27 if (vModulePatternMatches.size()>0) {
36 for (std::vector<std::pair<unsigned int, unsigned int>>::const_iterator it = vModulePatternMatches.begin(); it != vModulePatternMatches.end(); ++it) {
37 const unsigned int tbin = it->second + 1;
38 hChannelsOn.AddBinContent(tbin,1);
57 for (
int i = 0; i <= hChannelsOn.GetNbinsX(); ++i) {
58 unsigned int ki = hChannelsOn.GetBinContent(i);
62 unsigned int numInhibitedCh = 0;
63 for (
int deltai = 1; ((deltai <= i) & (deltai < (
int) mRecData.
GetWindowSize())); ++deltai) {
64 numInhibitedCh += hChannelsOn.GetBinContent(i-deltai);
68 if (numInhibitedCh < nActiveCh) {
69 double mui = - (double) nActiveCh * log(1 - (
double) ki/((double) nActiveCh- (
double) numInhibitedCh));
70 double nmui = ((double) nActiveCh/((
double) nActiveCh- (double) numInhibitedCh))* log(1 - (
double) ki/((double) nActiveCh- (
double) numInhibitedCh))/log(1.-1./((
double) nActiveCh- (
double) numInhibitedCh));
77 if (ki + numInhibitedCh >= nActiveCh) {
98 for (
unsigned int i = 0; i <
fTraceSize; ++i) {
99 const double vMui = vMu[i];
101 const double vNmui = vNmu[i];
Module level reconstruction data. This class contains all data required by the muon reconstruction...
void SetSaturated(const bool sat)
utl::TraceD & GetNumberOfMuonsVsTime()
void SetMeanMuons(const double m)
void MakeMeanMuonsVsTime()
bool HasMeanMuonsVsTime() const
void SetNumberOfEstimatedMuons(const double m)
Number of estimated muons in a module.
void MakeNumberOfMuonsVsTime()
void SetBinning(const double binning)
unsigned int GetWindowSize() const
bool HasNumberOfMuonsVsTime() const
OneBinStrategy(unsigned int fTraceSize, double fSamplingTime)
Creates a functor.
double operator()(std::vector< std::pair< unsigned int, unsigned int >> &vModulePatternMatches, mevt::ModuleRecData &mRecData) const
Performs the counting.
size_t GetSegmentation() const
void PushBack(const T &value)
Insert a single value at the end.
utl::TraceD & GetMeanMuonsVsTime()