ClassImp(AliPHOSEmcCalibData)
//________________________________________________________________
- AliPHOSEmcCalibData::AliPHOSEmcCalibData(): TNamed()
+AliPHOSEmcCalibData::AliPHOSEmcCalibData():
+ TNamed(),
+ fSampleTimeStep(0)
{
// Default constructor
Reset();
}
//________________________________________________________________
-AliPHOSEmcCalibData::AliPHOSEmcCalibData(const char* name)
+AliPHOSEmcCalibData::AliPHOSEmcCalibData(const char* name):
+ TNamed(),
+ fSampleTimeStep(0)
{
// Constructor
TString namst = "Calib_";
//________________________________________________________________
AliPHOSEmcCalibData::AliPHOSEmcCalibData(const AliPHOSEmcCalibData& calibda) :
- TNamed(calibda)
+ TNamed(calibda),
+ fSampleTimeStep(calibda.fSampleTimeStep)
{
// copy constructor
SetName(calibda.GetName());
fADCpedestalEmc[module][column][row] = calibda.fADCpedestalEmc[module][column][row];
fHighLowRatioEmc[module][column][row] = calibda.fHighLowRatioEmc[module][column][row];
fTimeShiftEmc[module][column][row] = calibda.fTimeShiftEmc[module][column][row];
+ fAltroOffsets[module][column][row] = calibda.fAltroOffsets[module][column][row];
}
}
}
fADCpedestalEmc[module][column][row] = calibda.fADCpedestalEmc[module][column][row];
fHighLowRatioEmc[module][column][row] = calibda.fHighLowRatioEmc[module][column][row];
fTimeShiftEmc[module][column][row] = calibda.fTimeShiftEmc[module][column][row];
+ fAltroOffsets[module][column][row] = calibda.fAltroOffsets[module][column][row];
}
}
}
fADCchannelEmc[module][column][row] = 0.005;
fHighLowRatioEmc[module][column][row] = 16. ;
fTimeShiftEmc[module][column][row] = 0. ;
+ fAltroOffsets[module][column][row] = 0 ;
}
}
}
-
+ fSampleTimeStep=100.e-9 ; //100 ns
}
//________________________________________________________________
}
}
}
+ if (strstr(option,"altro")) {
+ printf("\n ---- EMC altro offsets ----\n\n");
+ for (Int_t module=0; module<5; module++){
+ printf("============== Module %d\n",module+1);
+ for (Int_t column=0; column<56; column++){
+ for (Int_t row=0; row<64; row++){
+ printf("%5d",fAltroOffsets[module][column][row]);
+ }
+ printf("\n");
+ }
+ }
+ }
}
//________________________________________________________________
return fTimeShiftEmc[module-1][column-1][row-1];
}
-
+//________________________________________________________________
+Float_t AliPHOSEmcCalibData::GetSampleTimeStep()const
+{
+ //Returns conversion coefficient from ALTRO smaple time step and secods
+ //Negative value not used in reconstruction (conversion taken from TRU trailer)
+ //and only in raw simulation
+ return fSampleTimeStep ;
+}
+//________________________________________________________________
+Int_t AliPHOSEmcCalibData::GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const
+{
+ //Return EMC altro offsets
+ //module, column,raw should follow the internal PHOS convention:
+ //module 1:5, column 1:56, row 1:64
+
+ return fAltroOffsets[module-1][column-1][row-1];
+}
//________________________________________________________________
void AliPHOSEmcCalibData::SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value)
{
//module 1:5, column 1:56, row 1:64
fTimeShiftEmc[module-1][column-1][row-1] = value;
}
+//________________________________________________________________
+void AliPHOSEmcCalibData::SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value)
+{
+ //Set EMC pedestal
+ //module, column,raw should follow the internal PHOS convention:
+ //module 1:5, column 1:56, row 1:64
+ fAltroOffsets[module-1][column-1][row-1] = value;
+}
+//________________________________________________________________
+void AliPHOSEmcCalibData::SetSampleTimeStep(Float_t step)
+{
+ //Sets conversion coefficient from ALTRO smaple time step and secods
+ //Negative value not used in reconstruction (conversion taken from TRU trailer)
+ //and only in raw simulation
+ fSampleTimeStep = step ;
+}
+