AliZDCCalibData *calibdata = new AliZDCCalibData("ZDC");
- // *************** From DAQ ******************
- // [a] PEDESTALS
+// *************** From DAQ ******************
+// *****************************************************
+// [a] PEDESTALS -> Pedestal subtraction
+// *****************************************************
TString runType = GetRunType();
-if (runType = "PEDESTAL_RUN") {
+printf("\n\t AliZDCPreprocessor -> runType detected %s\n\n",runType.Data());
+if(runType == "PEDESTAL_RUN") {
TList* daqSources = GetFileSources(kDAQ, "PEDESTALS");
if(!daqSources){
Log(Form("No source for PEDESTALS run %d !", fRun));
}
delete daqSources; daqSources = 0;
}
- // [b] EMD EVENTS
-else if (runType == "PHYSICS") {
- TList* daqSources = GetFileSources(kDAQ, "PHYSICS");
+// *****************************************************
+// [b] EMD EVENTS -> Energy calibration and equalization
+// *****************************************************
+else if(runType == "PULSER_RUN"){
+ TList* daqSources = GetFileSources(kDAQ, "EMDCALIB");
if(!daqSources){
- AliError(Form("No sources for PHYSICS run %d !", fRun));
+ AliError(Form("No sources for PULSER_RUN run %d !", fRun));
return 1;
}
- Log("\t List of sources for PHYSICS");
+ Log("\t List of sources for PULSER_RUN");
daqSources->Print();
//
TIter iter2(daqSources);
Int_t j=0;
while((source = dynamic_cast<TObjString*> (iter2.Next()))){
Log(Form("\n\t Getting file #%d\n",++j));
- TString stringEMDFileName = GetFile(kDAQ, "PHYSICS", source->GetName());
+ TString stringEMDFileName = GetFile(kDAQ, "EMDCALIB", source->GetName());
if(stringEMDFileName.Length() <= 0){
- Log(Form("No PHYSICS file from source %s!", source->GetName()));
+ Log(Form("No EMDCALIB file from source %s!", source->GetName()));
return 1;
}
const char* EMDFileName = stringEMDFileName.Data();
return 1;
}
Log(Form("File %s connected to analyze EM dissociation events", EMDFileName));
- Float_t EMDFitVal[2];
- for(Int_t j=0; j<2; j++){
- fscanf(file,"%f",&EMDFitVal[j]);
+ Float_t fitValEMD[6]; Float_t equalCoeff[5][4];
+ Float_t CalibVal[4];
+ for(Int_t j=0; j<10; j++){
+ if(j<6){
+ fscanf(file,"%f",&fitValEMD[j]);
+ if(j<4){
+ CalibVal[j] = fitValEMD[j]/2.76;
+ calibdata->SetEnCalib(j,CalibVal[j]);
+ }
+ else calibdata->SetEnCalib(j,fitValEMD[j]);
+ }
+ else{
+ for(Int_t k=0; k<5; k++){
+ fscanf(file,"%f",&equalCoeff[j][k]);
+ if(j==6) calibdata->SetZN1EqualCoeff(k, equalCoeff[j][k]);
+ else if(j==7) calibdata->SetZP1EqualCoeff(k, equalCoeff[j][k]);
+ else if(j==8) calibdata->SetZN2EqualCoeff(k, equalCoeff[j][k]);
+ else if(j==9) calibdata->SetZP2EqualCoeff(k, equalCoeff[j][k]);
+ }
+ }
}
- calibdata->SetEnCalib(EMDFitVal);
}
else{
Log(Form("File %s not found", EMDFileName));
Log(Form("Nothing to do: run type is %s", runType.Data()));
return 0;
}
+
// note that the parameters are returned as character strings!
const char* nEvents = GetRunParameter("totalEvents");
if(nEvents) Log(Form("Number of events for run %d: %s",fRun, nEvents));