}
Introduce(j, aliasArr);
- if(aliasArr->GetEntries()<kNAliases){
+ if(aliasArr->GetEntries()<=2){
AliError(Form("Alias %s has just %d entries!",
fAliasNames[j].Data(),aliasArr->GetEntries()));
continue;
SetName(namst.Data());
SetTitle(namst.Data());
Reset();
- for(Int_t i=0; i<4; i++){
+ for(Int_t i=0; i<22; i++){
+ fDetector[i] = 0;
fSector[i] = 0;
- fGain[i] = 0;
- fPMRefValue[i] = 0.;
- fPMRefWidth[i] = 0.;
+ fPMValue[i] = 0.;
+ fPMWidth[i] = 0.;
}
SetName(calibda.GetName());
SetTitle(calibda.GetName());
Reset();
- for(int t=0; t<2; t++){
- fSector[t] = calibda.GetSector(t);
- fGain[t] = calibda.GetGain(t);
- fPMRefValue[t] = calibda.GetPMRefValue(t);
- fPMRefWidth[t] = calibda.GetPMRefWidth(t);
+ for(int t=0; t<22; t++){
+ fDetector[t] = calibda.GetDetector(t);
+ fSector[t] = calibda.GetSector(t);
+ fPMValue[t] = calibda.GetPMValue(t);
+ fPMWidth[t] = calibda.GetPMWidth(t);
}
}
SetName(calibda.GetName());
SetTitle(calibda.GetName());
Reset();
- for(int t=0; t<4; t++){
- fSector[t] = calibda.GetSector(t);
- fGain[t] = calibda.GetGain(t);
- fPMRefValue[t] = calibda.GetPMRefValue(t);
- fPMRefWidth[t] = calibda.GetPMRefWidth(t);
+ for(int t=0; t<22; t++){
+ fDetector[t] = calibda.GetDetector(t);
+ fSector[t] = calibda.GetSector(t);
+ fPMValue[t] = calibda.GetPMValue(t);
+ fPMWidth[t] = calibda.GetPMWidth(t);
}
return *this;
void AliZDCLaserCalib::Reset()
{
// Reset
- memset(fSector,0,4*sizeof(Float_t));
- memset(fGain,0,4*sizeof(Float_t));
- memset(fPMRefValue,0,4*sizeof(Float_t));
- memset(fPMRefWidth,0,4*sizeof(Float_t));
+ memset(fDetector,0,22*sizeof(Float_t));
+ memset(fSector,0,22*sizeof(Float_t));
+ memset(fPMValue,0,22*sizeof(Float_t));
+ memset(fPMWidth,0,22*sizeof(Float_t));
}
{
// Printing of calibration object
printf("\n\n ******************* AliZDCLaserCalib object *******************\n");
- for(Int_t i=0; i<4; i++){
- if(fSector[i]==1.) printf(" side C ->");
- else if(fSector[i]==4.) printf(" side A->");
- printf(" Gain chain %1.0f",fGain[i]);
- printf(" PMRefValue = %1.0f PMRefWidth = %1.0f\n",fPMRefValue[i],fPMRefWidth[i]);
+ for(Int_t i=0; i<22; i++){
+ printf(" Detector %d, sector %d, PMValue = %1.1f +/- %1.1f\n",
+ fDetector[i], fSector[i],fPMValue[i],fPMWidth[i]);
}
printf(" ***************************************************************\n\n");
}
void Reset();
virtual void Print(Option_t *) const;
//
- Float_t GetSector(Int_t i) const {return fSector[i];}
- Float_t GetGain(Int_t i) const {return fGain[i];}
- Float_t GetPMRefValue(Int_t i) const {return fPMRefValue[i];}
- Float_t GetPMRefWidth(Int_t i) const {return fPMRefWidth[i];}
+ Int_t GetDetector(Int_t i) const {return fDetector[i];}
+ Int_t GetSector(Int_t i) const {return fSector[i];}
+ Float_t GetPMValue(Int_t i) const {return fPMValue[i];}
+ Float_t GetPMWidth(Int_t i) const {return fPMWidth[i];}
- void SetSector(Int_t i, Float_t ival) {fSector[i] = ival;}
- void SetGain(Int_t i, Float_t ival) {fGain[i] = ival;}
- void SetfPMRefValue(Int_t i, Float_t ival){fPMRefValue[i] = ival;}
- void SetfPMRefWidth(Int_t i, Float_t ival){fPMRefWidth[i] = ival;}
+ void SetDetector(Int_t i, Int_t ival) {fDetector[i] = ival;}
+ void SetSector(Int_t i, Int_t ival) {fSector[i] = ival;}
+ void SetfPMValue(Int_t i, Float_t ival) {fPMValue[i] = ival;}
+ void SetfPMWidth(Int_t i, Float_t ival) {fPMWidth[i] = ival;}
protected:
- // 2 reference ch. x 2 gain chain
- Float_t fSector[4]; // sector fSector=1(side C), 4(sideA)
- Float_t fGain[4]; // fGain=0 (high gain chain), 1 (low gain chain)
- Float_t fPMRefValue[4]; // ADC spectrum mean value
- Float_t fPMRefWidth[4]; // ADC spectrum width
+ Int_t fDetector[22];// detector code
+ Int_t fSector[22]; // sector in detector (=5 for reference PMs)
+ Float_t fPMValue[22]; // ADC spectrum mean value
+ Float_t fPMWidth[22]; // ADC spectrum width
//
- ClassDef(AliZDCLaserCalib,2) // ZDC LASER calibration data
+ ClassDef(AliZDCLaserCalib,3) // ZDC LASER calibration data
};
#endif
// *************** From DCS ******************
// Fills data into a AliZDCDataDCS object
if(!dcsAliasMap) return 1;
-
+ printf("Processing data from DCS\n");
+
// The processing of the DCS input data is forwarded to AliZDCDataDCS
Float_t dcsValues[28]; // DCSAliases=28
fData->SetCalibData(dcsValues);
metadata.SetComment("DCS data for ZDC");
Bool_t resDCSRef = kTRUE;
resDCSRef = StoreReferenceData("DCS","Data",fData,&metadata);
- //dcsAliasMap->Print("");
- //
+ dcsAliasMap->Print("");
+
// --- Writing ZDC table positions into alignment object
TClonesArray *array = new TClonesArray("AliAlignObjParams",10);
TClonesArray &alobj = *array;
Double_t dyZN2 = (Double_t) (dcsValues[2]/10.);
Double_t dyZP2 = (Double_t) (dcsValues[3]/10.);
//
- const char *n1ZDC="ZDC/NeutronZDC_C";
+
+ const char *n1ZDC="ZDC/NeutronZDC_C";
const char *p1ZDC="ZDC/ProtonZDC_C";
const char *n2ZDC="ZDC/NeutronZDC_A";
const char *p2ZDC="ZDC/ProtonZDC_A";
new(alobj[1]) AliAlignObjParams(p1ZDC, volid, dx, dyZP1, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[2]) AliAlignObjParams(n2ZDC, volid, dx, dyZN2, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[3]) AliAlignObjParams(p2ZDC, volid, dx, dyZP2, dz, dpsi, dtheta, dphi, kTRUE);
+
// save in CDB storage
AliCDBMetaData md;
md.SetResponsible("Chiara Oppedisano");
}
Log(Form("File %s connected to process data from LASER events", laserFileName));
//
- Float_t ivalRead[4][2];
- for(Int_t j=0; j<4; j++){
- for(Int_t k=0; k<2; k++){
+ Float_t ivalRead[22][4];
+ for(Int_t j=0; j<22; j++){
+ for(Int_t k=0; k<4; k++){
fscanf(file,"%f",&ivalRead[j][k]);
//printf(" %d %1.0f ",k, ivalRead[j][k]);
}
- if(j==0 || j==1){
- lCalib->SetGain(j, 0);
- if(j==0) lCalib->SetSector(j, 1);
- else lCalib->SetSector(j, 4);
- }
- else if(j==2 || j==3){
- lCalib->SetGain(j, 1);
- if(j==2) lCalib->SetSector(j, 1);
- else lCalib->SetSector(j, 4);
- }
- lCalib->SetfPMRefValue(j, ivalRead[j][0]);
- lCalib->SetfPMRefWidth(j, ivalRead[j][1]);
+ lCalib->SetDetector(j, ivalRead[j][0]);
+ lCalib->SetSector(j, ivalRead[j][1]);
+ lCalib->SetfPMValue(j, ivalRead[j][2]);
+ lCalib->SetfPMWidth(j, ivalRead[j][3]);
}
fclose(file);
}