#include "AliT0Dqclass.h"
#include "TClass.h"
-// #include "iostream.h"
ClassImp(AliT0Preprocessor)
//constructor
AddRunType("PHYSICS");
AddRunType("STANDALONE");
- // AddRunType("LASER");
+ AddRunType("AMPLITUDE_CALIBRATION");
}
//____________________________________________________
TString runType = GetRunType();
Log(Form("ProcessDCS - RunType: %s",runType.Data()));
- if((runType == "STANDALONE")||
- (runType == "PHYSICS")){
- // (runType == "LASER")){
+ if(runType == "PHYSICS" )
+ return kTRUE;
+ else
return kFALSE;
- // return kTRUE;
- }else{
- return kFALSE;
- }
+
}
//____________________________________________________
return 0;
}
//____________________________________________________
-/*
-UInt_t AliT0Preprocessor::ProcessLaser(){
- // Processing data from DAQ Standalone run
- Log("Processing Laser calibration - Walk Correction");
-
- //Retrieve the last T0 calibration object
-
- Float_t parqtcold[24][2], parledold[24][2],parqtcnew[24][2], parlednew[24][2] , goodled[24][2], goodqtc[24][2];
-
- // std::cout<<"sizeof "<<sizeof(parqtcold)<<std::endl;
- memset(parqtcold, 0, sizeof(parqtcold));
- memset(parqtcnew, 0, sizeof(parqtcnew));
- memset(parledold, 0, sizeof(parledold));
- memset(parlednew, 0, sizeof(parlednew));
- Int_t iStore=0;
- Bool_t clbold = true;
-
- AliT0CalibWalk* clb=0;
- AliCDBEntry* entryCalib = GetFromOCDB("Calib", "Slewing_Walk");
- if(!entryCalib)
- Log(Form("Cannot find any AliCDBEntry for [Calib, SlewingWalk]!"));
- else {
- clb =dynamic_cast<AliT0CalibWalk*>(entryCalib->GetObject());
- for(Int_t i=0; i<24; i++)
- {
- for(Int_t ipar=0; ipar<2; ipar++)
- {
- // std::cout<<"parqtcold "<<parqtcold[i][ipar]<<std::endl;
- parqtcold[i][ipar] = clb->GetQTCpar(i,ipar);
- parledold[i][ipar] = clb->GetLEDpar(i, ipar);
- goodqtc[i][ipar] = 999;
- goodled[i][ipar] = 999;
- // cout<<" old "<<i<<" "<<ipar<<" qtc "<< parqtcold[i][ipar]<<" led "<<parledold[i][ipar]<<endl;
- }
- }
- }
-
- Bool_t resultLaser=kFALSE;
- //processing DAQ
- TList* list = GetFileSources(kDAQ, "LASER");
- if (list)
- {
- TIter iter(list);
- TObjString *source;
- while ((source = dynamic_cast<TObjString *> (iter.Next())))
- {
- const char *laserFile = GetFile(kDAQ, "LASER", source->GetName());
- if (laserFile)
- {
- Log(Form("File with Id LASER found in source %s!", source->GetName()));
- AliT0CalibWalk *laser = new AliT0CalibWalk();
- laser->MakeWalkCorrGraph(laserFile);
- //check difference with what was before
- if(laser && clb ){
- iStore = 1;
- for(Int_t i=0; i<24; i++)
- {
- for(Int_t ifit=0; ifit<2; ifit++)
- {
- parqtcnew[i][ifit] = laser->GetQTCpar(i,ifit);
- if( parqtcold[i][ifit] != 0 && parqtcnew[i][ifit] !=0)
- {
- goodqtc[i][ifit] =
- (parqtcnew[i][ifit] - parqtcold[i][ifit])/parqtcold[i][ifit];
- // cout<<"qtc "<<i<<" "<<ifit<<" "<< goodqtc[i][ifit]<<endl;
- }
- parlednew[i][ifit] = laser->GetLEDpar(i,ifit);
- if(parledold[i][ifit] != 0 && parlednew[i][ifit]!= 0 )
- {
- goodled[i][ifit]=
- (parlednew[i][ifit] - parledold[i][ifit])/parledold[i][ifit];
- // cout<<"led "<<i<<" "<<ifit<<" "<< goodled[i][ifit]<<endl;
- }
- if(TMath::Abs(goodqtc[i][ifit])>0.1 ||
- TMath::Abs(goodled[i][ifit])>0.1)
- iStore = 0;
- }
- }
- }
-
- AliCDBMetaData metaData;
- metaData.SetBeamPeriod(0);
- metaData.SetResponsible("Tomek&Michal");
- metaData.SetComment("Walk correction from laser runs.");
- if( iStore>0)
- resultLaser=Store("Calib","Slewing_Walk", laser, &metaData, 0, 1);
- delete laser;
- Log(Form("resultLaser = %d",resultLaser));
- }
- else
- {
- Log(Form("Could not find file with Id LASER in source %s!", source->GetName()));
- return 1;
- }
- }
- if (!resultLaser)
- {
- Log("No Laser Data stored");
- return 3;//return error code for failure in storing Laser Data
- }
- } else {
- Log("No sources found for id LASER!");
- return 1;
- }
+UInt_t AliT0Preprocessor::ProcessLaser()
+{
+ // Processing data from DAQ Standalone run
+ Log("Processing Laser calibration - Walk Correction");
+ Bool_t resultLaser = kFALSE;
+ Bool_t writeok = kFALSE;
+ //processing DAQ
+ TList* list = GetFileSources(kDAQ, "AMPLITUDE_CALIBRATION");
+ AliT0CalibWalk *laser = new AliT0CalibWalk();
+ TObjString *source;
+ if (list)
+ {
+ TIter iter(list);
+ while ((source = dynamic_cast<TObjString *> (iter.Next())))
+ {
+ const char *laserFile = GetFile(kDAQ, "AMPLITUDE_CALIBRATION", source->GetName());
+ if (laserFile)
+ {
+ Log(Form("File with Id AMPLITUDE_CALIBRAION found in source %s!", source->GetName()));
+ writeok = laser->MakeWalkCorrGraph(laserFile);
+
+ }
+ }
+
+ AliCDBMetaData metaData;
+ metaData.SetBeamPeriod(0);
+ metaData.SetResponsible("Alla");
+ metaData.SetComment("Walk correction from laser runs.");
+ if (writeok) resultLaser=Store("Calib","Slewing_Walk", laser, &metaData, 0, 1);
+ else {
+
+ Log(Form("writeok = %d no peaks in CFD spectra",writeok));
return 0;
+ }
+ Log(Form("resultLaser = %d",resultLaser));
+ if (!resultLaser)
+ {
+ Log("No Laser Data stored");
+ return 3;//return error code for failure in storing Laser Data
+ }
+ }
+ else
+ {
+ Log(Form("Could not find file with Id AMPLITUDE_CALIBRAION "));
+ return 1;
+ }
+
+ return 0;
}
-*/
+
//____________________________________________________
UInt_t AliT0Preprocessor::ProcessPhysics(){
//Processing data from DAQ Physics run
Log("Processing Physics");
-
+
Bool_t resultOnline=kFALSE;
//processing DAQ
TList* listPhys = GetFileSources(kDAQ, "PHYSICS");
{
AliT0CalibTimeEq *online = new AliT0CalibTimeEq();
online->Reset();
- online->ComputeOnlineParams(filePhys);
+ Bool_t writeok = online->ComputeOnlineParams(filePhys);
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
- metaData.SetResponsible("Tomek&Michal");
+ metaData.SetResponsible("Alla Maevskaya");
metaData.SetComment("Time equalizing result.");
- resultOnline = Store("Calib","TimeDelay", online, &metaData, 0, 1);
+
+ if (writeok) resultOnline = Store("Calib","TimeDelay", online, &metaData, 0, 1);
+ else {
+
+ Log(Form("writeok = %d not enough data for equalizing",resultOnline));
+ return 0;
+ }
Log(Form("resultOnline = %d",resultOnline));
delete online;
}
// return=5 : no DAQ input for OCDB
// return=6 : failed to retrieve DAQ data from OCDB
// return=7 : failed to store T0 OCDB data
- Bool_t dcsDP = ProcessDCS();
- Log(Form("dcsDP = %d",dcsDP));
- TString runType = GetRunType();
- Log(Form("RunType: %s",runType.Data()));
- //processing
- if(runType == "STANDALONE"){
- if(dcsDP==1){
- Int_t iresultDCS = ProcessDCSDataPoints(dcsAliasMap);
- return iresultDCS;
- }
- }
- /*if(runType == "LASER"){
- Int_t iresultLaser = ProcessLaser();
- if(dcsDP==1){
- Int_t iresultDCS = ProcessDCSDataPoints(dcsAliasMap);
- return iresultDCS;
- }
- Log(Form("iresultLaser = %d",iresultLaser));
- return iresultLaser;
- }
- */
- else if(runType == "PHYSICS"){
- Int_t iresultPhysics = ProcessPhysics();
- // Int_t iresultCosmic = ProcessCosmic();
- if(dcsDP==1){
- Int_t iresultDCS = ProcessDCSDataPoints(dcsAliasMap);
- return iresultDCS;
- }
- Log(Form("iresultPhysics = %d",iresultPhysics));
+ // return=8 : not enough data for equalizing
+ Bool_t dcsDP = ProcessDCS();
+ Log(Form("dcsDP = %d",dcsDP));
+ TString runType = GetRunType();
+ Log(Form("RunType: %s",runType.Data()));
+ //processing
+ if(runType == "STANDALONE"){
+ if(dcsDP==1){
+ Int_t iresultDCS = ProcessDCSDataPoints(dcsAliasMap);
+ return iresultDCS;
+ }
+ }
+
+ if(runType == "AMPLITUDE_CALIBRATION"){
+ Int_t iresultLaser = ProcessLaser();
+ if(dcsDP==1){
+ Int_t iresultDCS = ProcessDCSDataPoints(dcsAliasMap);
+ return iresultDCS;
+ }
+
+ Log(Form("iresultLaser = %d",iresultLaser));
+ return iresultLaser;
+ }
+
+ else if(runType == "PHYSICS"){
+ Int_t iresultPhysics = ProcessPhysics();
+ if(dcsDP==1){
+ Int_t iresultDCS = ProcessDCSDataPoints(dcsAliasMap);
+ return iresultDCS;
+ }
+ Log(Form("iresultPhysics = %d",iresultPhysics));
return iresultPhysics;
- // Log(Form("iresultPhysics =iresultCosmic %d",iresultCosmic));
- // return iresultCosmic;
- }
+ }
+
+
return 0;
}