78 const std::vector<float>& corrs =
m_container->corrs();
79 unsigned int index = TMath::Abs(
int(i) -
int(j));
80 if (
index >= corrs.size())
return 0;
81 double corr = corrs[
index];
89 if (adc2mev < 0)
return 0;
97 std::vector<float> samples;
99 for (
unsigned int i = 0; i <
nSamples(); i++)
108 return ((
status() >> 16) & 0x1) != 0;
165 if (maxPos >= 0)
return sample(maxPos);
172 if (minPos >= 0)
return sample(minPos);
276 if (!ofc)
return false;
278 k = ofc->A(*
this)/
adcMax();
279 dT = ofc->time(*
this);
339 return m_history->cellInfo()->feedThrough();
367 return m_history->cellInfo()->globalPhiRing();
381 return ofcTime() +
m_history->cellInfo()->position().Mag()/(TMath::C()*1E-6);
422 for (
int i = 0; i < resv.GetNrows(); i++) resv(i) /=
adcMax();
447 return (sed ? sed->
n() : 0);
465 if (!sed)
return -999;
477 double val = TMath::Sqrt(sed->
xi().Norm2Sqr());
517 desc += Form(
"%d samples, ",
nSamples());
519 desc += Form(
"energy = %6.1f MeV, ",
energy());
520 if (verbosity >= 2) desc += Form(
"ADCMax = %6.1f, ",
adcMax());
521 desc += Form(
"time = %6.1f ns, ",
ofcTime());
522 if (verbosity >= 2) desc += Form(
"chi^2/n = %6.1f, ",
chi2());
523 desc += Form(
"run = %d, event = %d, ",
run(),
event());
537 if (
adcMax() < 0)
return false;
550 if (TMath::Abs(
ofcTime()) > 10)
return false;
553 if (TMath::Abs(
ofcTime()) > 5)
return false;
570 if (ofc->isInRange(args.i1))
571 result = TMath::Sqrt(ofc->Gamma()(args.i1, args.i1));
582 if (ofc->isInRange(args.i1) && ofc->isInRange(args.i2))
583 result = ofc->Gamma()(args.i1, args.i2);
592 if (upe < 0 ||
energy() == 0)
return -1;
632 Double_t timeCorr=-99.;
#define maxValue(current, test)
void incrementInstanceCount() const
void decrementInstanceCount() const
const History * m_history
double _z(const DataFuncArgs &args) const
int _region(const DataFuncArgs &args) const
double _phi(const DataFuncArgs &args) const
const History * history() const
SimpleShape * referenceShape() const
double _energySignif(const DataFuncArgs &args) const
const EventData * eventData() const
double resCorrN(ShapeErrorType shapeErrorType=BestShapeError) const
float pedestalSubtractedSample(unsigned int i) const
double _chi2Anomaly(const DataFuncArgs &args) const
bool calcRefit(double &chi2, double &k, double &dT) const
double _y(const DataFuncArgs &args) const
double _ofcGamma(const DataFuncArgs &args) const
double delta(short sample) const
double _x(const DataFuncArgs &args) const
double covarianceMeV(unsigned int i, unsigned int j) const
int _calo(const DataFuncArgs &args) const
CaloGain::CaloGain gain() const
static TString str(LArFebErrorSummary::LArFebErrorType error)
Data(const DataContainer &container, const EventData &eventData, const History *history, int index, bool takeOwnership=false)
Constructor.
double timeClCorr() const
unsigned int nSamples() const
double residualError(short sample1, short sample2=-1, bool scale=true) const
double _ofcSigma(const DataFuncArgs &args) const
double residualOffset(short sample, bool scale=true) const
const DataContainer *const m_container
double xiNorm(ShapeErrorType shapeErrorType=BestShapeError) const
int _layer(const DataFuncArgs &args) const
double pedestalRMS() const
const EventData *const m_eventData
static TString gainStr(CaloGain::CaloGain gain)
int _feedThrough(const DataFuncArgs &args) const
int _iEta(const DataFuncArgs &args) const
std::vector< float > pedestalSubtractedSamples() const
bool isDisconnected() const
bool febError(LArFebErrorSummary::LArFebErrorType error) const
const ScaledErrorData * scaledErrorData() const
double _timeForSplash1(const DataFuncArgs &args) const
double _adjScale(const DataFuncArgs &args) const
double _timeForSplash2(const DataFuncArgs &args) const
double _timeNoTOF(const DataFuncArgs &args) const
double adcMax_new() const
double xip(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN) const
SimpleShape * timeAlignedShape() const
double _timeECorr(const DataFuncArgs &args) const
virtual ~Data()
Destructor.
int _ring(const DataFuncArgs &args) const
int _iPhi(const DataFuncArgs &args) const
double _adjDeltaT(const DataFuncArgs &args) const
double xi(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN, bool xip=false) const
double _upstreamERatio(const DataFuncArgs &args) const
int _slot(const DataFuncArgs &args) const
const DataContainer & container() const
double _chi2_noCorr(const DataFuncArgs &args) const
bool calcAdjust(double &k, double &dT) const
double residual(short sample) const
int _hash(const DataFuncArgs &args) const
bool isPassed(const TString &bitName) const
double _chi2_k(const DataFuncArgs &args) const
double _eta(const DataFuncArgs &args) const
double _refitScale(const DataFuncArgs &args) const
double _chi2_ringCorr(const DataFuncArgs &args) const
bool goodForShapeCorr() const
int _nData(const DataFuncArgs &args) const
TString description(unsigned int verbosity=1) const
TVectorD residuals() const
double _chi2_cellCorr(const DataFuncArgs &args) const
int _channel(const DataFuncArgs &args) const
const short & sample(unsigned int i) const
double upstreamEnergy() const
const DataContainer * dissolve()
double covariance(unsigned int i, unsigned int j) const
double _peakSignif(const DataFuncArgs &args) const
double _rt(const DataFuncArgs &args) const
TString problems(bool sayNone=false) const
double _refitChi2(const DataFuncArgs &args) const
double _refitDeltaT(const DataFuncArgs &args) const
unsigned int lumiBlock() const
unsigned int bunchId() const
static bool matchCalo(CaloId id, CaloId idSpec)
bool isInRange(int i) const
const TVectorD & xi() const
const TVectorD & xip() const
bool fit(const LArSamples::AbsShape &data, const AbsShape &reference, double &k, double &deltaT, double &chi2, const ScaledErrorData *sed=0) const