85 const std::vector<float>& corrs =
m_container->corrs();
86 unsigned int index = TMath::Abs(
int(i) -
int(j));
87 if (
index >= corrs.size())
return 0;
88 double corr = corrs[
index];
96 if (adc2mev < 0)
return 0;
104 std::vector<float> samples;
106 for (
unsigned int i = 0; i <
nSamples(); i++)
115 return ((
status() >> 16) & 0x1) != 0;
172 if (maxPos >= 0)
return sample(maxPos);
179 if (minPos >= 0)
return sample(minPos);
186 return std::make_unique<SimpleShape>(*
this, 1, -
ofcTime());
280 if (!ofc)
return false;
282 k = ofc->A(*
this)/
adcMax();
283 dT = ofc->time(*
this);
342 return m_history->cellInfo()->feedThrough();
370 return m_history->cellInfo()->globalPhiRing();
384 return ofcTime() +
m_history->cellInfo()->position().Mag()/(TMath::C()*1E-6);
425 for (
int i = 0; i < resv.GetNrows(); i++) resv(i) /=
adcMax();
449 std::unique_ptr<const ShapeErrorData> sed =
m_history->shapeErrorData(
gain(),
type);
450 return (sed ? sed->
n() : 0);
468 if (!sed)
return -999;
477 std::unique_ptr<const ShapeErrorData> sed =
m_history->shapeErrorData(
gain(),
type);
479 double val = TMath::Sqrt(sed->
xi().Norm2Sqr());
518 desc += Form(
"%d samples, ",
nSamples());
520 desc += Form(
"energy = %6.1f MeV, ",
energy());
521 if (verbosity >= 2) desc += Form(
"ADCMax = %6.1f, ",
adcMax());
522 desc += Form(
"time = %6.1f ns, ",
ofcTime());
523 if (verbosity >= 2) desc += Form(
"chi^2/n = %6.1f, ",
chi2());
524 desc += Form(
"run = %d, event = %d, ",
run(),
event());
538 if (
adcMax() < 0)
return false;
551 if (TMath::Abs(
ofcTime()) > 10)
return false;
554 if (TMath::Abs(
ofcTime()) > 5)
return false;
571 if (ofc->isInRange(args.i1))
572 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);
591 if (upe < 0 ||
energy() == 0)
return -1;
631 Double_t timeCorr=-99.;
#define maxValue(current, test)
void incrementInstanceCount() const
void decrementInstanceCount() const
const History * m_history
std::unique_ptr< const DataContainer > m_container
double _z(const DataFuncArgs &args) const
int _region(const DataFuncArgs &args) const
double _phi(const DataFuncArgs &args) const
const History * history() const
double _energySignif(const DataFuncArgs &args) 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
Data(const DataContainer &container, const EventData &eventData, const History *history, int index)
Constructor.
CaloGain::CaloGain gain() const
static TString str(LArFebErrorSummary::LArFebErrorType error)
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 EventData & eventData() const
double xiNorm(ShapeErrorType shapeErrorType=BestShapeError) const
int _layer(const DataFuncArgs &args) const
double pedestalRMS() const
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
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
const EventData & m_eventData
double xip(short sample, ShapeErrorType shapeErrorType=BestShapeError, CaloGain::CaloGain g=CaloGain::UNKNOWNGAIN) 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
std::unique_ptr< SimpleShape > referenceShape() 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
std::unique_ptr< const ScaledErrorData > scaledErrorData() const
TString problems(bool sayNone=false) const
double _refitChi2(const DataFuncArgs &args) const
double _refitDeltaT(const DataFuncArgs &args) const
std::unique_ptr< SimpleShape > timeAlignedShape() const
unsigned int lumiBlock() const
bool isPassed(const TString &bitName) 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