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;
}
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());
+ Int_t retvalConditions =
+ daqDA_FES_storeFile("conditions.csv",
+ AliFMDParameters::Instance()->GetConditionsShuttleID());
+ Int_t retvalPeds =
+ daqDA_FES_storeFile("peds.csv",
+ AliFMDParameters::Instance()->GetPedestalShuttleID());
if(retvalConditions!=0 || retvalPeds!=0)
std::cerr << "Pedestal DA failed" << std::endl;