]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Macro for reconstruction (spot) (JB, AM)
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Apr 2000 13:38:28 +0000 (13:38 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 19 Apr 2000 13:38:28 +0000 (13:38 +0000)
RICH/RICHdetect.C [new file with mode: 0644]

diff --git a/RICH/RICHdetect.C b/RICH/RICHdetect.C
new file mode 100644 (file)
index 0000000..6ade2cc
--- /dev/null
@@ -0,0 +1,62 @@
+RICHdetect (Int_t evNumber1=0,Int_t evNumber2=0) {
+// Dynamically link some shared libs
+    if (gClassTable->GetID("AliRun") < 0) {
+       gROOT->LoadMacro("loadlibs.C");
+       loadlibs();
+    }
+    else {
+      //delete gAlice;
+      gAlice = 0;
+    }
+// Connect the Root Galice file containing Geometry, Kine and Hits
+    
+    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
+    if (file) file->Close(); 
+    file = new TFile("galice.root","UPDATE");
+    file->ls();
+    
+    //printf ("I'm after Map \n");
+    
+// Get AliRun object from file or create it if not on file
+    
+    if (!gAlice) {
+       gAlice = (AliRun*)file->Get("gAlice");
+       if (gAlice) printf("AliRun object found on file\n");
+       if (!gAlice) gAlice = new AliRun("gAlice","RICH reconstruction program");
+    } else {
+      delete gAlice;
+      gAlice = (AliRun*)file->Get("gAlice");
+       if (gAlice) printf("AliRun object found on file\n");
+       if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
+    }
+    
+    //printf ("I'm after gAlice \n");
+    
+    AliRICH *RICH  = (AliRICH*) gAlice->GetDetector("RICH"); 
+    
+    // Create Recontruction algorithm object
+    AliRICHDetect *detect = new AliRICHDetect("RICH reconstruction algorithm","Reconstruction");
+    
+// Reconstruct
+    // Event Loop
+    //
+    for (int nev=0; nev<= evNumber2; nev++) {
+      Int_t nparticles = gAlice->GetEvent(nev);
+      cout <<endl<< "Processing event:" <<nev<<endl;
+      cout << "Particles       :" <<nparticles<<endl;
+      if (nev < evNumber1) continue;
+      if (nparticles <= 0) return;
+      if (RICH) detect->Detect();
+      char hname[30];
+      sprintf(hname,"TreeR%d",nev);
+      gAlice->TreeR()->Write(hname);
+      gAlice->TreeR()->Reset();
+   } // event loop  
+   
+    //delete gAlice;
+    printf("\nEnd of Macro  *************************************\n");
+}
+
+
+