fIsZerosupressed( false ),
fVerbose( false ),
fAlgo(Algo::kNONE),
-// fFp(0),
fL1Phase(0),
fAmp(0),
fTof(0),
- fTau( EMCAL::TAU )
-// fFixTau(true)
+ fTau( EMCAL::TAU ),
+ fFixTau( true )
{
- //Comment
-
- // snprintf(fName, 256,"%s", name);
- // snprintf(fNameShort,256, "%s", nameshort);
-
- sprintf(fName ,"%s", name);
- sprintf(fNameShort, "%s", nameshort);
+ // Ctor
+
+ snprintf(fName, 256, "%s", name);
+ snprintf(fNameShort,256, "%s", nameshort);
for(int i=0; i < ALTROMAXSAMPLES; i++ )
{
fReversed[i] = 0;
}
-
- // fFp = fopen("amp2.txt", "w");
-
-}
-
-AliCaloRawAnalyzer::~AliCaloRawAnalyzer()
-{
-
}
AliCaloRawAnalyzer::SetTimeConstraint(const int min, const int max )
{
//Require that the bin if the maximum ADC value is between min and max (timebin)
+
if( ( min > max ) || min > ALTROMAXSAMPLES || max > ALTROMAXSAMPLES )
{
AliWarning( Form( "Attempt to set Invalid time bin range (Min , Max) = (%d, %d), Ingored", min, max ) );
UShort_t
-AliCaloRawAnalyzer::Max(const UShort_t *data, const int length )
+AliCaloRawAnalyzer::Max(const UShort_t *data, const int length ) const
{
- //------------
+ // Get maximum of array
+
UShort_t tmpmax = data[0];
for(int i=0; i < length; i++)
void
-AliCaloRawAnalyzer::SelectSubarray( const Double_t *data, const int length, const short maxindex, int *const first, int *const last, const int cut)
+AliCaloRawAnalyzer::SelectSubarray( const Double_t *data, int length, short maxindex,
+ int * first, int * last, int cut) const
{
//Selection of subset of data from one bunch that will be used for fitting or
//Peak finding. Go to the left and right of index of the maximum time bin
*first = tmpfirst;
*last = tmplast;
+
return;
}
Float_t
-AliCaloRawAnalyzer::ReverseAndSubtractPed( const AliCaloBunchInfo *bunch, const UInt_t /*altrocfg1*/, const UInt_t /*altrocfg2*/, double *outarray ) const
+AliCaloRawAnalyzer::ReverseAndSubtractPed( const AliCaloBunchInfo *bunch,
+ UInt_t /*altrocfg1*/, UInt_t /*altrocfg2*/,
+ double *outarray ) const
{
//Time sample comes in reversed order, revers them back
//Subtract the baseline based on content of altrocfg1 and altrocfg2.
+
Int_t length = bunch->GetLength();
const UShort_t *sig = bunch->GetData();
Float_t
-AliCaloRawAnalyzer::EvaluatePedestal(const UShort_t * const data, const int /*length*/ ) const
+AliCaloRawAnalyzer::EvaluatePedestal(const UShort_t * data, int /*length*/ ) const
{
- // double ped = 0;
+ // Pedestal evaluation if not zero suppressed
+
double tmp = 0;
if( fIsZerosupressed == false )
short
-AliCaloRawAnalyzer::Max( const AliCaloBunchInfo *const bunch , int *const maxindex )
+AliCaloRawAnalyzer::Max( const AliCaloBunchInfo * bunch , int * maxindex ) const
{
- //comment
+ // Get maximum in bunch array
+
short tmpmax = -1;
int tmpindex = -1;
const UShort_t *sig = bunch->GetData();
int
-AliCaloRawAnalyzer::SelectBunch( const vector<AliCaloBunchInfo> &bunchvector,short *const maxampbin, short *const maxamplitude )
+AliCaloRawAnalyzer::SelectBunch( const vector<AliCaloBunchInfo> &bunchvector,
+ short * maxampbin, short * maxamplitude )
{
//We select the bunch with the highest amplitude unless any time constraints is set
short max = -1;
bool
-AliCaloRawAnalyzer::IsInTimeRange( const int maxindex, const int maxtindx, const int mintindx )
+AliCaloRawAnalyzer::IsInTimeRange( const int maxindex, const int maxtindx, const int mintindx ) const
{
// Ckeck if the index of the max ADC vaue is consistent with trigger.
if( ( mintindx < 0 && maxtindx < 0) ||maxtindx < 0 )
void
-AliCaloRawAnalyzer::PrintBunches( const vector<AliCaloBunchInfo> &bvctr ) const
+AliCaloRawAnalyzer::PrintBunches( const vector<AliCaloBunchInfo> &bvctr )
{
- //comment
+ // Print bunch vector info
cout << __FILE__ << __LINE__<< "*************** Printing Bunches *******************" << endl;
cout << __FILE__ << __LINE__<< "*** There are " << bvctr.size() << ", bunches" << endl;
void
-AliCaloRawAnalyzer::PrintBunch( const AliCaloBunchInfo &bunch ) const
+AliCaloRawAnalyzer::PrintBunch( const AliCaloBunchInfo &bunch )
{
- //comment
+ // Print bunch infor
cout << __FILE__ << ":" << __LINE__ << endl;
cout << __FILE__ << __LINE__ << ", startimebin = " << bunch.GetStartBin() << ", length =" << bunch.GetLength() << endl;
const UShort_t *sig = bunch.GetData();
Double_t
-AliCaloRawAnalyzer::CalculateChi2(const Double_t amp, const Double_t time,
- const Int_t first, const Int_t last,
- const Double_t adcErr,
- const Double_t tau)
+AliCaloRawAnalyzer::CalculateChi2( Double_t amp, Double_t time,
+ Int_t first, Int_t last,
+ Double_t adcErr, Double_t tau) const
{
// Input:
// amp - max amplitude;
void
-AliCaloRawAnalyzer::CalculateMeanAndRMS(const Int_t first, const Int_t last,
- Double_t & mean, Double_t & rms)
+AliCaloRawAnalyzer::CalculateMeanAndRMS(Int_t first, Int_t last,
+ Double_t & mean, Double_t & rms)
{
// Input:
// first, last - sample array indices to be used
-// AliCaloFitResults
-// AliCaloRawAnalyzer::Evaluate( const vector<AliCaloBunchInfo> &/*bunchvector*/, const UInt_t /*altrocfg1*/, const UInt_t /*altrocfg2*/)
-// { // method to do the selection of what should possibly be fitted
-// // not implemented for base class
-// cout << __FILE__ << ":" << __LINE__ << " " << endl;
-
-// return AliCaloFitResults( 0, 0 );
-// }
-
-
-
int
-AliCaloRawAnalyzer::PreFitEvaluateSamples( const vector<AliCaloBunchInfo> &bunchvector, const UInt_t altrocfg1,
- const UInt_t altrocfg2, Int_t & index, Float_t & maxf, short & maxamp,
- short & maxrev, Float_t & ped, int & first, int & last,const int acut )
-{ // method to do the selection of what should possibly be fitted
+AliCaloRawAnalyzer::PreFitEvaluateSamples( const vector<AliCaloBunchInfo> &bunchvector,
+ UInt_t altrocfg1, UInt_t altrocfg2, Int_t & index,
+ Float_t & maxf, short & maxamp,
+ short & maxrev, Float_t & ped,
+ int & first, int & last, int acut )
+{
+ // method to do the selection of what should possibly be fitted
+
int nsamples = 0;
short maxampindex = 0;
index = SelectBunch( bunchvector, &maxampindex, &maxamp ); // select the bunch with the highest amplitude unless any time constraints is set