From 2fc6be254bd49c99ffa6b87eb4701cd6b866ffe5 Mon Sep 17 00:00:00 2001 From: zampolli Date: Tue, 9 Sep 2014 10:59:46 +0200 Subject: [PATCH] Disabling TOF (all) and TPC (Gain calibration) if B=0 --- PWGPP/CalibMacros/CPass0/makeOCDB.C | 19 +++++++++++++++++-- PWGPP/CalibMacros/CPass1/makeOCDB.C | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/PWGPP/CalibMacros/CPass0/makeOCDB.C b/PWGPP/CalibMacros/CPass0/makeOCDB.C index c225d32ecc2..520aba0c169 100644 --- a/PWGPP/CalibMacros/CPass0/makeOCDB.C +++ b/PWGPP/CalibMacros/CPass0/makeOCDB.C @@ -66,6 +66,18 @@ void makeOCDB(Int_t runNumber, TString targetOCDBstorage="", TString sourceOCDB AliCDBManager::Instance()->SetSpecificStorage("TPC/Calib/Correction","local://"); } + // Magnetic field + AliMagF* fld = TGeoGlobalMagField::Instance()->GetField(); + Double_t bz = fld->SolenoidField(); + Bool_t isMagFieldON = kTRUE; + if (TMath::Abs(bz)>0) { + printf("Mag field is %f --> ON\n", bz); + } + else { + isMagFieldON = kFALSE; + printf("Mag field is %f --> OFF\n", bz); + } + // TPC part AliTPCPreprocessorOffline *procesTPC = 0; if (detStr.Contains("TPC")){ @@ -79,7 +91,7 @@ void makeOCDB(Int_t runNumber, TString targetOCDBstorage="", TString sourceOCDB // Make timegain calibration //proces.CalibTimeGain("CalibObjects.root", runNumber,AliCDBRunRange::Infinity(),targetOCDBstorage); - procesTPC->CalibTimeGain("CalibObjects.root", runNumber,runNumber,targetStorage); + if (isMagFieldON) procesTPC->CalibTimeGain("CalibObjects.root", runNumber,runNumber,targetStorage); // Make vdrift calibration //proces.CalibTimeVdrift("CalibObjects.root",runNumber,AliCDBRunRange::Infinity(),targetOCDBstorage); @@ -91,7 +103,10 @@ void makeOCDB(Int_t runNumber, TString targetOCDBstorage="", TString sourceOCDB if (detStr.Contains("TOF") && detStr.Contains("TPC")){ procesTOF = new AliTOFAnalysisTaskCalibPass0; Printf("\n******* Calibrating TOF *******"); - procesTOF->ProcessOutput("CalibObjects.root", targetStorage); + if (isMagFieldON) procesTOF->ProcessOutput("CalibObjects.root", targetStorage); + else { + printf("Not calibrating TOF in case of mag field OFF\n"); + } } // T0 part diff --git a/PWGPP/CalibMacros/CPass1/makeOCDB.C b/PWGPP/CalibMacros/CPass1/makeOCDB.C index 6205c9ddf3b..6586661c097 100644 --- a/PWGPP/CalibMacros/CPass1/makeOCDB.C +++ b/PWGPP/CalibMacros/CPass1/makeOCDB.C @@ -66,6 +66,18 @@ void makeOCDB(Int_t runNumber, TString targetOCDBstorage="", TString sourceOCDB AliCDBManager::Instance()->SetSpecificStorage("TPC/Calib/Correction","local://"); } + // Magnetic field + AliMagF* fld = TGeoGlobalMagField::Instance()->GetField(); + Double_t bz = fld->SolenoidField(); + Bool_t isMagFieldON = kTRUE; + if (TMath::Abs(bz)>0) { + printf("Mag field is %f --> ON\n", bz); + } + else { + isMagFieldON = kFALSE; + printf("Mag field is %f --> OFF\n", bz); + } + // TPC part AliTPCPreprocessorOffline *procesTPC = 0; if (detStr.Contains("TPC")){ @@ -77,7 +89,7 @@ void makeOCDB(Int_t runNumber, TString targetOCDBstorage="", TString sourceOCDB //procesTPC->SetMinTracksVdrift(100000); //procesTPC->SwitchOnValidation(); // Make timegain calibration - //proces.CalibTimeGain("CalibObjects.root", runNumber,AliCDBRunRange::Infinity(),targetStorage); + //if (isMagFieldON) proces.CalibTimeGain("CalibObjects.root", runNumber,AliCDBRunRange::Infinity(),targetStorage); // Make vdrift calibration //proces.CalibTimeVdrift("CalibObjects.root",runNumber,AliCDBRunRange::Infinity(),targetStorage); } @@ -87,7 +99,10 @@ void makeOCDB(Int_t runNumber, TString targetOCDBstorage="", TString sourceOCDB if (detStr.Contains("TOF") && detStr.Contains("TPC")){ procesTOF = new AliTOFAnalysisTaskCalibPass0; Printf("\n******* Calibrating TOF *******"); - procesTOF->ProcessOutput("CalibObjects.root", targetStorage); + if (isMagFieldON) procesTOF->ProcessOutput("CalibObjects.root", targetStorage); + else { + printf("Not calibrating TOF in case of mag field OFF\n"); + } } // T0 part -- 2.39.3