]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/FMDPedestalda.cxx
Added handling of background correction and event selection correction with different...
[u/mrichter/AliRoot.git] / FMD / FMDPedestalda.cxx
index b2713188446041b88e0f6cb43f26c704a50b1fdb..18ac307ce7528625ab369bf8e5af040374fbe5ea 100644 (file)
@@ -5,12 +5,13 @@
   Contact:                 canute@nbi.dk
   Link:                    fmd.nbi.dk/fmd/offline
   Run Type:                PEDESTAL
-  DA Type:                 Pedestal
+  DA Type:                 LDC
   Number of events needed: 1000
   Input Files:             raw data 
   Output Files:            peds.csv
   Trigger types used:      PEDESTAL
 */
+#include <iostream>
 #include <TSystem.h>
 #include <TString.h>
 #include <AliFMDParameters.h>
 #include "daqDA.h"
 #include "TROOT.h"
 #include "TPluginManager.h"
-
+#include <AliLog.h>
 
 
 int main(int argc, char **argv) 
 {
-
-  //#if 0
   /* magic line from Rene - for future reference! */
   gROOT->GetPluginManager()->AddHandler("TVirtualStreamerInfo",
-                                       "*",
+                                       "*",
                                        "TStreamerInfo",
                                        "RIO",
                                        "TStreamerInfo()");
-  //#endif
+  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;
-  Char_t* fileName = argv[1];
-  TString secondArgument(argv[2]);
   
-  if(secondArgument.Contains("--diagnostics=true"))
-    diagnostics = kTRUE;
-  if(secondArgument.Contains("--help")) {
-    std::cout<<"Usage: filename --diagnostics=true/false . --help this help"<<std::endl;
+  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;
   }
-  
-  if(!secondArgument.IsWhitespace()) {
-    std::cout<<"Second argument wrong. Use --help"<<std::endl;
-    return -1;
+      
+  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;
 
-
+  AliLog::EnableDebug(kFALSE);
   AliFMDParameters::Instance()->Init(kFALSE,0);
-  AliFMDParameters::Instance()->UseRcuTrailer(!old);
   AliFMDParameters::Instance()->UseCompleteHeader(old);
 
   AliRawReader *reader = 0;
-  TString fileNam(fileName);
-  if (fileNam.EndsWith(".root")) reader = new AliRawReaderRoot(fileName);
-  else if (fileNam.EndsWith(".raw")) reader = new AliRawReaderDate(fileName);
+  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 " << fileNam 
+    std::cerr << "Don't know how to make reader for " << fileName
              << std::endl;
     return -2;
   }