]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/FMDPedestalda.cxx
cleanup: remove unused classes and dependencies
[u/mrichter/AliRoot.git] / FMD / FMDPedestalda.cxx
index 516056580cd9b5b1b6e455d46ad193b39e7feafb..0ce1d53eff01aef3ae86058b51628f423e96071f 100644 (file)
@@ -1,5 +1,4 @@
 /*
-
   FMD DA for online calibration of conditions
 
   Contact:                 canute@nbi.dk
   Output Files:            peds.csv
   Trigger types used:      PEDESTAL
 */
-#include <iostream>
-#include <TSystem.h>
-#include <TString.h>
-#include <AliFMDParameters.h>
-#include <AliRawReader.h>
-#include <TStopwatch.h>
 #include <AliFMDPedestalDA.h>
-#include <AliRawReaderDate.h>
-#include <AliRawReaderRoot.h>
-#include "daqDA.h"
-#include "TROOT.h"
-#include "TPluginManager.h"
-#include <AliLog.h>
-#ifdef ALI_AMORE
-# include <AmoreDA.h>
-# include <TH2.h>
-#endif
+#include <AliFMDParameters.h>
+#include "FMDUtilda.h"
+#include <iostream>
 
 int main(int argc, char **argv) 
 {
-  /* magic line from Rene - for future reference! */
-  gROOT->GetPluginManager()->AddHandler("TVirtualStreamerInfo",
-                                       "*",
-                                       "TStreamerInfo",
-                                       "RIO",
-                                       "TStreamerInfo()");
-  gROOT->GetPluginManager()->AddHandler("ROOT::Math::Minimizer", "Minuit", 
-                                       "TMinuitMinimizer",
-                                       "Minuit", 
-                                       "TMinuitMinimizer(const char *)");
-  gROOT->GetPluginManager()->AddHandler("ROOT::Math::Minimizer", 
-                                       "GSLMultiMin", 
-                                       "ROOT::Math::GSLMinimizer",
-                                       "MathMore", 
-                                       "GSLMinimizer(const char *)");
-  gROOT->GetPluginManager()->AddHandler("ROOT::Math::Minimizer", 
-                                       "GSLMultiFit", 
-                                       "ROOT::Math::GSLNLSMinimizer",
-                                       "MathMore", "GSLNLSMinimizer(int)");
-  gROOT->GetPluginManager()->AddHandler("ROOT::Math::Minimizer", 
-                                       "GSLSimAn", 
-                                       "ROOT::Math::GSLSimAnMinimizer",
-                                       "MathMore", 
-                                       "GSLSimAnMinimizer(int)");
-  gROOT->GetPluginManager()->AddHandler("ROOT::Math::Minimizer", 
-                                       "Linear", 
-                                       "TLinearMinimizer",
-                                       "Minuit", 
-                                       "TLinearMinimizer(const char *)");
-  gROOT->GetPluginManager()->AddHandler("ROOT::Math::Minimizer", 
-                                       "Fumili", 
-                                       "TFumiliMinimizer",
-                                       "Fumili", 
-                                       "TFumiliMinimizer(int)");
-
-
-  
-  
-  Bool_t diagnostics = kFALSE;
-  if (argc < 2) { 
-    std::cerr << "No input file given" << std::endl;
-    return 1;
-  }
-  TString fileName(argv[1]);
-  if (fileName.Contains("--help")) { 
-    std::cout << "Usage: " << argv[0] << " FILENAME [OPTIONS]\n\n"
-             << "Options:\n" 
-             << "    --diagnostics=BOOL Make diagnostics ROOT file\n"
-             << std::endl;
-    return 0;
-  }
-      
-  for (int i = 2; i < argc; i++) { 
-    TString arg(argv[i]);
-    if      (arg.Contains("--diagnostics=true")) diagnostics = kTRUE;
-    else if (arg.Contains("--help")) { 
-      std::cout << "Usage: " << argv[0] << " FILENAME [OPTIONS]\n\n"
-               << "Options:\n" 
-               << "    --diagnostics=BOOL Make diagnostics ROOT file\n"
-               << std::endl;
-      return 0;
-    }
-    else { 
-      std::cerr << "Unknown option: " << arg << "\n"
-               << "Try '" << argv[0] << " --help" << std::endl;
-      return 1;
-    }
-  }
-  Bool_t old = kTRUE;
+  AliFMDBaseDA::Runner r;
 
-  AliLog::EnableDebug(kFALSE);
-  AliFMDParameters::Instance()->Init(kFALSE,0);
-  AliFMDParameters::Instance()->UseCompleteHeader(old);
+  Int_t ret = r.Init(argc, argv);
+  if (ret < 0) return -ret;
+  if (ret > 0) return 0;
 
-  AliRawReader *reader = 0;
-  if (fileName.EndsWith(".root")) 
-    reader = new AliRawReaderRoot(fileName.Data());
-  else 
-    reader = new AliRawReaderDate(fileName.Data());
-  if (!reader) { 
-    std::cerr << "Don't know how to make reader for " << fileName
-             << std::endl;
-    return -2;
-  }
-  TStopwatch timer;
-  timer.Start();
   AliFMDPedestalDA pedDA;
-  pedDA.SetSaveDiagnostics(diagnostics);
 #ifdef ALI_AMORE
   pedDA.SetMakeSummaries(kTRUE);
 #endif
-  pedDA.Run(reader);
-  
-  timer.Stop();
-  timer.Print();
-  Int_t  retvalConditions = 
-    daqDA_FES_storeFile("conditions.csv", 
-                       AliFMDParameters::Instance()->GetConditionsShuttleID());
-  Int_t  retvalPeds = 
-    daqDA_FES_storeFile("peds.csv", 
-                       AliFMDParameters::Instance()->GetPedestalShuttleID());
+  r.Exec(pedDA);
 
-  if(retvalConditions!=0 || retvalPeds!=0)
-    std::cerr << "Pedestal DA failed" << std::endl;
-  
-#ifdef ALI_AMORE
-  try { 
-    amore::da::AmoreDA myAmore(amore::da::AmoreDA::kSender);
+  const char* files[] = { "conditions.csv", 
+                         "peds.csv", 
+                         0 };
+  const char* ids[] = { AliFMDParameters::Instance()->GetConditionsShuttleID(),
+                       AliFMDParameters::Instance()->GetPedestalShuttleID(), 
+                       0 };
+  ret = UploadFiles(files, ids);
 
-    UShort_t det = 0;
-    for (det = 1; det <= 3; det++) 
-      if (pedDA.HasSeenDetector(det)) break;
-    if (det >= 1 && det <= 3) { 
-      TObject* runNo = new TObject;
-      runNo->SetUniqueID(reader->GetRunNumber());
-      myAmore.Send(Form("pedRunNoFMD%d", det), runNo);
-    }
-
-    TIter     next(&pedDA.GetSummaries());
-    TObject*  obj = 0;
-    while ((obj = next())) 
-      myAmore.Send(obj->GetName(), obj);
-  }
-  catch (std::exception& e) {
-    std::cerr << "Failed to make AMORE instance: " << e.what() << std::endl;
-  }
-                              
-#endif
-  if(retvalPeds != 0) return retvalPeds;
-  return retvalConditions;
+  if(ret > 0) std::cerr << "Pedestal DA failed" << std::endl;
 
+  PostSummaries(pedDA, "ped", r.RunNumber());
+  
+  return ret;
 }
+//
+// EOF
+//
+