- // set mag field
- // waiting for mag field in CDB
- printf("Loading field map...\n");
- AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k5kG);
- AliTracker::SetFieldMap(field, kFALSE);
+ // open the ESD file
+ TFile* esdFile = TFile::Open(esdFileName);
+ if (!esdFile || !esdFile->IsOpen()) {
+ Error("MUONefficiency", "opening ESD file %s failed", esdFileName);
+ return kFALSE;
+ }
+
+ AliESDEvent* esd = new AliESDEvent();
+ TTree* tree = (TTree*) esdFile->Get("esdTree");
+ if (!tree) {
+ Error("MUONefficiency", "no ESD tree found");
+ return kFALSE;
+ }
+ esd->ReadFromTree(tree);
+
+ // get run number
+ if (tree->GetEvent(0) <= 0) {
+ Error("MUONefficiency", "no ESD object found for event 0");
+ return kFALSE;
+ }
+ Int_t runNumber = esd->GetRunNumber();
+
+ // load necessary data from OCDB
+ AliCDBManager::Instance()->SetDefaultStorage(ocdbPath);
+ AliCDBManager::Instance()->SetRun(runNumber);
+ if (!AliMUONCDB::LoadField()) return kFALSE;
+
+ // set the magnetic field for track extrapolations
+ AliMUONTrackExtrap::SetField();