//________________________________________________________________
AliZDCCalibData::AliZDCCalibData()
{
- fHistMeanPed=0;
+// fHistMeanPed=0;
Reset();
}
//________________________________________________________________
AliZDCCalibData::AliZDCCalibData(const char* name)
{
+ // Constructor
TString namst = "Calib_";
namst += name;
SetName(namst.Data());
SetTitle(namst.Data());
- fHistMeanPed=0;
+// fHistMeanPed=0;
Reset();
}
SetName(calibda.GetName());
SetTitle(calibda.GetName());
Reset();
- for(int t=0; t<47; t++) fMeanPedestal[t] = calibda.GetMeanPed(t);
- for(int t=0; t<4; t++) fEnCalibration[t] = calibda.GetEnCalib(t);
- PrepHistos();
+ for(int t=0; t<47; t++){
+ fMeanPedestal[t] = calibda.GetMeanPed(t);
+ fMeanPedWidth[t] = calibda.GetMeanPedWidth(t);
+ }
+ for(int t=0; t<44; t++){
+ fOOTPedestal[t] = calibda.GetOOTPed(t);
+ fOOTPedWidth[t] = calibda.GetOOTPedWidth(t);
+ fPedCorrCoeff[0][t] = calibda.GetPedCorrCoeff0(t);
+ fPedCorrCoeff[1][t] = calibda.GetPedCorrCoeff1(t);
+ }
+ for(int t=0; t<6; t++) fEnCalibration[t] = calibda.GetEnCalib(t);
+// PrepHistos();
}
//________________________________________________________________
SetName(calibda.GetName());
SetTitle(calibda.GetName());
Reset();
- for(int t=0; t<47; t++) fMeanPedestal[t] = calibda.GetMeanPed(t);
- for(int t=0; t<4; t++) fEnCalibration[t] = calibda.GetEnCalib(t);
- PrepHistos();
+ for(int t=0; t<47; t++){
+ fMeanPedestal[t] = calibda.GetMeanPed(t);
+ fMeanPedWidth[t] = calibda.GetMeanPedWidth(t);
+ }
+ for(int t=0; t<44; t++){
+ fOOTPedestal[t] = calibda.GetOOTPed(t);
+ fOOTPedWidth[t] = calibda.GetOOTPedWidth(t);
+ fPedCorrCoeff[0][t] = calibda.GetPedCorrCoeff0(t);
+ fPedCorrCoeff[1][t] = calibda.GetPedCorrCoeff1(t);
+ }
+ for(int t=0; t<6; t++) fEnCalibration[t] = calibda.GetEnCalib(t);
+// PrepHistos();
return *this;
}
//________________________________________________________________
AliZDCCalibData::~AliZDCCalibData()
{
- CleanHistos();
+// CleanHistos();
}
//________________________________________________________________
void AliZDCCalibData::Reset()
{
+ // Reset
memset(fMeanPedestal,0,47*sizeof(Float_t));
- memset(fEnCalibration,0,4*sizeof(Float_t));
+ memset(fMeanPedWidth,0,47*sizeof(Float_t));
+ memset(fOOTPedestal,0,44*sizeof(Float_t));
+ memset(fOOTPedWidth,0,44*sizeof(Float_t));
+ memset(fEnCalibration,0,6*sizeof(Float_t));
}
+/*
//________________________________________________________________
void AliZDCCalibData::CleanHistos()
{
Int_t kNChannels = 47;
Float_t kMaxPedVal = 47.;
TString hname = GetName(); hname += "_Pedestals";
- fHistMeanPed = new TH1F(hname.Data(),hname.Data(),kNChannels,0.,kMaxPedVal);
- for (int i=0; i<47; i++) {
- fHistMeanPed->SetBinContent(i+1,GetMeanPed(i));
- }
+ fHistMeanPed = new TH1F(hname.Data(),hname.Data(),kNChannels,0.,kMaxPedVal);
+ for(int i=0; i<47; i++) fHistMeanPed->SetBinContent(i+1,GetMeanPed(i));
}
+*/
//________________________________________________________________
void AliZDCCalibData::Print(Option_t *) const
{
- printf("\n ---- Mean pedestal values ----\n\n");
- for(int t=0; t<47; t++){
- if(t==0 || t==24) printf("\t ZN HighRes -------- ");
- else if(t==5 || t==29) printf("\t ZN LowRes -------- ");
- else if(t==10 || t==34) printf("\t ZP HighRes -------- ");
- else if(t==15 || t==39) printf("\t ZP LowRes -------- ");
- else if(t==20) printf("\t ZEM1 HighRes -------- ");
- else if(t==21) printf("\t ZEM1 LowRes -------- ");
- else if(t==22) printf("\t ZEM2 HighRes -------- ");
- else if(t==23) printf("\t ZEM2 LowRes -------- ");
- printf("\t MeanPed[ADC%d] = %.1f\n",t,fMeanPedestal[t]);
+ // Printing of calibration object
+ printf("\n ####### In-time pedestal values (mean value, sigma) ####### \n");
+ for(int t=0; t<44; t++){
+ if(t==0 || t==24) printf("\n-------- ZN HighRes -------- \n");
+ else if(t==5 || t==29) printf("\n-------- ZN LowRes -------- \n");
+ else if(t==10 || t==34) printf("\n-------- ZP HighRes -------- \n");
+ else if(t==15 || t==39) printf("\n-------- ZP LowRes -------- \n");
+ else if(t==20) printf("\n-------- ZEM1 HighRes -------- \n");
+ else if(t==21) printf("\n-------- ZEM1 LowRes -------- \n");
+ else if(t==22) printf("\n-------- ZEM2 HighRes -------- \n");
+ else if(t==23) printf("\n-------- ZEM2 LowRes -------- \n");
+ printf("ADC%d (%.1f, %.1f)\t",t,fMeanPedestal[t],fMeanPedWidth[t]);
}
-
- printf("\n ---- Energy calibration coefficients ----\n\n");
- for(int t=0; t<4; t++){
- printf(" En Calib Coeff. [ZDC%d] = %f\n",t,fEnCalibration[t]);
+ //
+ printf("\n\n\n ####### Out-of-time pedestal values (mean value, sigma) ####### \n");
+ for(int t=0; t<44; t++){
+ if(t==0 || t==24) printf("\n-------- ZN HighRes -------- \n");
+ else if(t==5 || t==29) printf("\n-------- ZN LowRes -------- \n");
+ else if(t==10 || t==34) printf("\n-------- ZP HighRes -------- \n");
+ else if(t==15 || t==39) printf("\n-------- ZP LowRes -------- \n");
+ else if(t==20) printf("\n-------- ZEM1 HighRes -------- \n");
+ else if(t==21) printf("\n-------- ZEM1 LowRes -------- \n");
+ else if(t==22) printf("\n-------- ZEM2 HighRes -------- \n");
+ else if(t==23) printf("\n-------- ZEM2 LowRes -------- \n");
+ printf("ADC%d (%.1f, %.1f)\t",t,fOOTPedestal[t],fOOTPedWidth[t]);
}
+
+ printf("\n\n\n ####### Energy calibration coefficients ####### \n");
+ printf(" ZN1 = %.4f (E[TeV]/ADCch.) \n",fEnCalibration[0]);
+ printf(" ZP1 = %.4f (E[TeV]/ADCch.) \n",fEnCalibration[1]);
+ printf(" ZN2 = %.4f (E[TeV]/ADCch.) \n",fEnCalibration[2]);
+ printf(" ZP2 = %.4f (E[TeV]/ADCch.) \n",fEnCalibration[3]);
+ printf(" ZEM1 = %.2f (E[TeV]/ADCch.) \n",fEnCalibration[4]);
+ printf(" ZEM2 = %.2f (E[TeV]/ADCch.) \n",fEnCalibration[5]);
}
//________________________________________________________________
void AliZDCCalibData::SetMeanPed(Float_t* MeanPed)
{
if(MeanPed) for(int t=0; t<47; t++) fMeanPedestal[t] = MeanPed[t];
- else for(int t=0; t<43; t++) fMeanPedestal[t] = 0.;
+ else for(int t=0; t<47; t++) fMeanPedestal[t] = 0.;
+}
+//________________________________________________________________
+void AliZDCCalibData::SetMeanPedWidth(Float_t* MeanPedWidth)
+{
+ if(MeanPedWidth) for(int t=0; t<47; t++) fMeanPedWidth[t] = MeanPedWidth[t];
+ else for(int t=0; t<47; t++) fMeanPedWidth[t] = 0.;
+}
+
+//________________________________________________________________
+void AliZDCCalibData::SetOOTPed(Float_t* OOTPed)
+{
+ if(OOTPed) for(int t=0; t<44; t++) fOOTPedestal[t] = OOTPed[t];
+ else for(int t=0; t<44; t++) fOOTPedestal[t] = 0.;
+}
+
+//________________________________________________________________
+void AliZDCCalibData::SetOOTPedWidth(Float_t* OOTPedWidth)
+{
+ if(OOTPedWidth) for(int t=0; t<44; t++) fOOTPedWidth[t] = OOTPedWidth[t];
+ else for(int t=0; t<44; t++) fOOTPedWidth[t] = 0.;
+}
+
+//________________________________________________________________
+void AliZDCCalibData:: SetPedCorrCoeff(Float_t* PedCorrCoeff)
+{
+ // Set coefficients for pedestal correlations
+ if(PedCorrCoeff){
+ for(Int_t j=0; j<2; j++){
+ for(int t=0; t<44; t++)
+ fPedCorrCoeff[j][t] = PedCorrCoeff[t];
+ }
+ }
+ else{
+ for(Int_t j=0; j<2; j++){
+ for(int t=0; t<44; t++)
+ fPedCorrCoeff[j][t] = 0.;
+ }
+ }
+
+}
+
+//________________________________________________________________
+void AliZDCCalibData:: SetPedCorrCoeff(Float_t* PedCorrCoeff0, Float_t* PedCorrCoeff1)
+{
+ // Set coefficients for pedestal correlations
+ if(PedCorrCoeff0 && PedCorrCoeff1){
+ for(int t=0; t<44; t++){
+ fPedCorrCoeff[0][t] = PedCorrCoeff0[t];
+ fPedCorrCoeff[0][t] = PedCorrCoeff1[t];
+ }
+ }
+ else{
+ for(int t=0; t<44; t++){
+ fPedCorrCoeff[0][t] = 0.;
+ fPedCorrCoeff[1][t] = 0.;
+ }
+ }
+
}
//________________________________________________________________
void AliZDCCalibData::SetEnCalib(Float_t* EnCalib)
{
- if(EnCalib) for(int t=0; t<4; t++) fEnCalibration[t] = EnCalib[t];
- else for(int t=0; t<4; t++) fEnCalibration[t] = 0.;
+ // Set energy calibration coefficients
+ if(EnCalib) for(int t=0; t<6; t++) fEnCalibration[t] = EnCalib[t];
+ else for(int t=0; t<6; t++) fEnCalibration[t] = 0.;
}
+//________________________________________________________________
+void AliZDCCalibData::SetPMTHVVal(Float_t* HVVal)
+{
+ // Set PMTs HV values
+ if(HVVal) for(int t=0; t<22; t++) fPMTHVVal[t] = HVVal[t];
+ else for(int t=0; t<22; t++) fPMTHVVal[t] = 0.;
+}
+