Minor change to allow the use of files that are already open. grun.C macro
authornilsen <nilsen@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 31 Jan 2002 18:52:09 +0000 (18:52 +0000)
committernilsen <nilsen@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 31 Jan 2002 18:52:09 +0000 (18:52 +0000)
that also does ITS digitizationa and Reconstruction all in one go.

ITS/AliITSreconstruction.cxx
ITS/grunITS.C [new file with mode: 0644]

index ae7efa1..8a4fb39 100644 (file)
  
 /*
 $Log$
+Revision 1.1  2002/01/30 22:20:22  nilsen
+New TTask based method to do Digits To clusters. Works with files of multiple
+events in the file. Macro added to show how to use. Also the changes made
+in the nessesary complilation files.
+
 */
 #include <TROOT.h>
 #include <TFile.h>
@@ -59,7 +64,10 @@ AliITSreconstruction::AliITSreconstruction(const char* filename){
     // Standard constructor.
     // Inputs:
     //  const char* filename    filename containing the digits to be
-    //                          reconstructed
+    //                          reconstructed. If filename = 0 (nil)
+    //                          then no file is opened but a file is
+    //                          assumed to already be opened. This 
+    //                          already opened file will be used.
     // Outputs:
     //   none.
     // Return:
@@ -67,17 +75,19 @@ AliITSreconstruction::AliITSreconstruction(const char* filename){
 
     fFilename = filename;
 
-    fFile = (TFile*)gROOT->GetListOfFiles()->FindObject(fFilename.Data());
-    if(fFile) fFile->Close();
-    fFile = new TFile(fFilename.Data(),"UPDATE");
-    //
-    if(gAlice) delete gAlice;
-    gAlice = (AliRun*)fFile->Get("gAlice");
-    if(!gAlice) {
-       cout << "gAlice not found on file. Aborting." << endl;
-       fInit = kFALSE;
-       return;
-    } // end if !gAlice
+    if(filename){
+       fFile = (TFile*)gROOT->GetListOfFiles()->FindObject(fFilename.Data());
+       if(fFile) fFile->Close();
+       fFile = new TFile(fFilename.Data(),"UPDATE");
+       //
+       if(gAlice) delete gAlice;
+       gAlice = (AliRun*)fFile->Get("gAlice");
+       if(!gAlice) {
+           cout << "gAlice not found on file. Aborting." << endl;
+           fInit = kFALSE;
+           return;
+       } // end if !gAlice
+    } // end if !filename.
 
     Init();
 }
diff --git a/ITS/grunITS.C b/ITS/grunITS.C
new file mode 100644 (file)
index 0000000..a4c6104
--- /dev/null
@@ -0,0 +1,20 @@
+void grunITS (Int_t nevent=1, const char *config="Config.C")
+{
+  //
+  // Simple macro to run aliroot in a batch mode
+  //
+  gAlice->Init(config);
+  TStopwatch timer;
+  timer.Start();
+  gAlice->Run(nevent);
+  timer.Stop();
+  timer.Print();
+  timer.Reset();
+  timer.Start();
+  gAlice->Hits2Digits("ITS");
+  timer.Stop(); timer.Print(); 
+  AliITSreconstruction *itsr = new AliITSreconstruction(0);
+  itsr->Exec();
+  delete itsr;
+  
+}