8 if (fff.IsZombie()) fileok=
false;
9 TTree *
t=(TTree*)fff.Get(
"pndsim");
10 if (t==0
x0) fileok=
false;
12 if (!fileok) cout <<
"Skipping broken file '"<<fn<<
"'"<<endl;
22 for (
int i=min;
i<=
max;++
i) {
23 TString fname = TString::Format(
"%s_%d_pid.root",pref.Data(),
i);
26 if (firstfile) fRun->SetInputFile(fname);
27 else fRun->AddFile(fname);
38 FairRunAna *
fRun=
new FairRunAna();
45 inParFile =
"simparams.root";
47 fRun->SetInputFile(pref);
52 OutFile = TString::Format(
"%s_ana_%d_%d.root",pref.Data(),
min,
max);
53 inParFile = TString::Format(
"%s_%d_par.root",pref.Data(),
min);
59 TString pidParFile =
TString(gSystem->Getenv(
"VMCWORKDIR"))+
"/macro/params/all.par";
62 FairLogger::GetLogger()->SetLogToFile(kFALSE);
63 FairRuntimeDb*
rtdb = fRun->GetRuntimeDb();
66 FairParRootFileIo* parIO =
new FairParRootFileIo();
67 parIO->open(inParFile);
68 FairParAsciiFileIo* parIOPid =
new FairParAsciiFileIo();
69 parIOPid->open(pidParFile.Data(),
"in");
71 rtdb->setFirstInput(parIO);
72 rtdb->setSecondInput(parIOPid);
73 rtdb->setOutput(parIO);
75 fRun->SetOutputFile(
"dummyout.root");
79 TFile *
out = TFile::Open(OutFile,
"RECREATE");
83 if (nevts==0) nevts= theAnalysis->
GetEntries();
88 while (theAnalysis->
GetEvent() && i++<nevts)
90 if ((i%100)==0) cout<<
"evt " << i << endl;
void attachFiles(FairRunAna *fRun, TString pref, int min, int max)
bool checkfile(TString fn)
void tut_ana(TString pref="pid_complete.root", int min=-1, int max=1, int nevts=0)
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Int_t GetEvent(Int_t n=-1)