]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/runDataReconstruction.C
Go from pointer to ifstream to ifstream.
[u/mrichter/AliRoot.git] / MUON / runDataReconstruction.C
index 7d069d6052ddf35be68972af918a5c7664b6a738..6d0da1d3f4d79c946cb476676ee5ec89034f134c 100644 (file)
 /// \author Laurent Aphecetche, Nicole Bastid, Bogdan Vulpescu, ...
 
 #if !defined(__CINT__) || defined(__MAKECINT__)
-#include "AliMUONReconstructor.h"
-#include "AliMUONRecoParam.h"
-#include "AliRecoParam.h"
 #include "AliCDBManager.h"
-#include "AliMagFMaps.h"
-#include "AliTracker.h"
 #include "AliReconstruction.h"
-#include <TRandom.h>
 #include <TGrid.h>
-//#include <TObjectTable.h>
+#include <TSystem.h>
 #endif
 
-// Data file, OCDB on Grid
-#TString input="alien:///alice/data/2007/LHC07w/000014493/raw/07000014493001.10.root";
-TString input="alien:///alice/data/2008/LHC08a/000021931/raw/08000021931001.50.root";
-TString ocdbPath = "alien://folder=/alice/data/2008/LHC08a/OCDB";
+void runDataReconstruction(const char* input = "raw://run124360",
+                           const char* ocdbPath = "raw://",
+                           const char* recoptions="SAVEDIGITS",
+                           Int_t numberOfEvents=1000)
+{ 
+  AliCDBManager* man = AliCDBManager::Instance();
+  man->SetDefaultStorage(ocdbPath);
 
-// Data file, OCDB locally
-//TString input="$ALICE_ROOT/MUON/test_out.100/raw.root";
-//TString ocdbPath = "local://$ALICE_ROOT";
+  AliReconstruction rec;
+  
+  rec.SetRunReconstruction("MUON");
 
-TString caliboption1 = "NOGAIN";
-TString caliboption2 = "GAINCONSTANTCAPA";
-TString recoptions = "SAVEDIGITS";
-Int_t seed = 1234567;
+  rec.SetRunQA("MUON:ALL");
 
-void runDataReconstruction(Int_t calib = 1)
-{ 
-  TGrid::Connect("alien://");
+  rec.SetQARefDefaultStorage("local://$ALICE_ROOT/QAref") ;
 
-  AliCDBManager* man = AliCDBManager::Instance();
-  man->SetDefaultStorage(ocdbPath.Data());
-  //man->SetSpecificStorage("MUON/Calib/Mapping","local://$ALICE_ROOT");
-  //man->SetSpecificStorage("MUON/Calib/DDLStore","local://$ALICE_ROOT");
-  //man->SetSpecificStorage("MUON/Calib/Gains","local://$ALICE_ROOT");
+  rec.SetWriteESDfriend(kTRUE);
+  rec.SetWriteAlignmentData();
 
-  gRandom->SetSeed(seed);
-  
-  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k5kG);
-  AliTracker::SetFieldMap(field, kFALSE);
-  AliReconstruction *MuonRec = new AliReconstruction();
-
-  MuonRec->SetInput(input.Data());
-  MuonRec->SetRunVertexFinder(kFALSE);
-  MuonRec->SetRunLocalReconstruction("MUON");
-  MuonRec->SetRunTracking("MUON");
-  MuonRec->SetFillESD(" ");
-  MuonRec->SetLoadAlignData("MUON");
-  MuonRec->SetNumberOfEventsPerFile(1000);
-  MuonRec->SetOption("MUON",recoptions.Data());
-  //  MuonRec->SetEventRange(319,319);
-  MuonRec->SetWriteAOD();
-  //MuonRec.SetEventRange(0,100); 
-  AliMUONRecoParam *muonRecoParam = AliMUONRecoParam::GetLowFluxParam();
-  muonRecoParam->CombineClusterTrackReco(kFALSE);
-  TString caliboption = caliboption1;
-  if ( calib == 2 ) caliboption = caliboption2;
-  muonRecoParam->SetCalibrationMode(caliboption.Data());
-  //muonRecoParam->SetClusteringMode("PEAKFIT");
-  //muonRecoParam->SetClusteringMode("PEAKCOG");
-  muonRecoParam->Print("FULL");
-  AliRecoParam::Instance()->RegisterRecoParam(muonRecoParam);
-  
-  MuonRec->Run();
-  
-  delete MuonRec;
+  rec.SetInput(gSystem->ExpandPathName(input));
+
+  rec.SetUseTrackingErrorsForAlignment("ITS");
+
+  rec.SetCleanESD(kFALSE);
+
+  rec.SetStopOnError(kFALSE);
+
+  rec.SetOption("MUON",recoptions);  
+
+  rec.SetQAWriteExpert(AliQAv1::kMUON);
+
+  if ( numberOfEvents > 0 )
+  {
+    rec.SetEventRange(0,numberOfEvents);
+  }
+
+  AliLog::Flush();
+  rec.Run();
   
-  //gObjectTable->Print();
 }