runCalibTrain("104892");
*/
-void runCalibTrain(TString runNumberString, const char *inFileName = "AliESDs.root", const char *ocdb="raw://")
+void runCalibTrain(Int_t runNumber, const char *inFileName = "AliESDs.root", const char *ocdb="raw://")
{
//
// macro to run TPC calibration train
//
AliLog::SetGlobalLogLevel(AliLog::kError);
- gROOT->Macro("LoadLibraries.C");
- gROOT->LoadMacro("ConfigCalibTrain.C");
+ gROOT->Macro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/LoadLibraries.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/ConfigCalibTrain.C");
// detector tasks
- gROOT->LoadMacro("AddTaskTPCCalib.C");
- gROOT->LoadMacro("AddTaskTRDCalib.C");
- gROOT->LoadMacro("AddTOFAnalysisTaskCalibPass0.C");
- gROOT->LoadMacro("AddTaskT0Calib.C");
- gROOT->LoadMacro("AddTaskMeanVertexCalib.C");
- gROOT->LoadMacro("AddTaskSDDCalib.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/AddTaskTPCCalib.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/AddTaskTRDCalib.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/AddTOFAnalysisTaskCalibPass0.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/AddTaskT0Calib.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/AddTaskMeanVertexCalib.C");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/AddTaskSDDCalib.C");
// switch off debug
AliLog::SetClassDebugLevel("AliESDEvent",0);
// config calibration train
// setting geometry and B-field from GRP
- Int_t runNumber = runNumberString.Atoi();
printf("runNumber from runCalibTrain = %d\n",runNumber);
printf("ocdb from runCalibTrain = %s\n",ocdb);
ConfigCalibTrain(runNumber, ocdb);
//
+ // check the presence of the detectors
+ AliCDBEntry* entry = AliCDBManager::Instance()->Get("GRP/GRP/Data");
+ AliGRPObject* grpData = dynamic_cast<AliGRPObject*>(entry->GetObject());
+ if (!grpData) {printf("Failed to get GRP data for run",runNumber); return;}
+ Int_t activeDetectors = grpData->GetDetectorMask();
+ TString detStr = AliDAQ::ListOfTriggeredDetectors(activeDetectors);
+ printf("Detectors in the data:\n%s\n",detStr.Data());
+
// setup analysis
//
AliAnalysisManager *mgr = new AliAnalysisManager("ESD to ESD", "Analysis Manager");
// mgr->SetDebugLevel(3);
-
+ mgr->SetNSysInfo(50);
// Input
AliESDInputHandler* inpHandler = new AliESDInputHandler();
inpHandler->SetReadFriends(1);
mgr->SetCommonFileName(outFile);
//
// Detector Tasks
- AliAnalysisTask* tTPC = AddTaskTPCCalib(runNumber);
- AliAnalysisTask* tTRD = AddTaskTRDCalib(runNumber);
- AliTOFAnalysisTaskCalibPass0 *thisTask = AddTOFAnalysisTaskCalibPass0();
- AliAnalysisTask* tT0 = AddTaskT0Calib(runNumber);
- AliMeanVertexCalibTask *tMeanVtx = AddTaskMeanVertexCalib();
//
- Bool_t useTPCcrv = kTRUE;
+ if ( detStr.Contains("TPC")) AddTaskTPCCalib(runNumber);
+ if ( detStr.Contains("TRD") && detStr.Contains("TPC")) AddTaskTRDCalib(runNumber);
+ if ( detStr.Contains("TOF") && detStr.Contains("TPC")) AddTOFAnalysisTaskCalibPass0();
+ if ( detStr.Contains("T0")) AddTaskT0Calib(runNumber);
+ if ( detStr.Contains("ITSSPD")) AddTaskMeanVertexCalib();
+
+
+ //
+ Bool_t okTPC = detStr.Contains("TPC");
+ Bool_t useTPCcrv=kTRUE;
Bool_t writeITSTP = kFALSE;
+ if (!okTPC) useTPCcrv = kFALSE;
AliAnalysisTaskITSAlignQA *itsAlign = AddTaskSDDCalib(0,writeITSTP,useTPCcrv);
-
+ if (!okTPC) itsAlign->SetUseITSstandaloneTracks(kTRUE);
+ if (grpData->GetL3Current()[0] < 300) itsAlign->SetMinPt(0.001);
+ //
// Run the analysis
if (!mgr->InitAnalysis()) {
printf("Analysis cannot be started, returning\n");