]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/MUONTriggerTracker.C
Correction of coding conventions: comments for all data members were added.
[u/mrichter/AliRoot.git] / MUON / MUONTriggerTracker.C
index 2d0579870cbc989e593809d26e6dbba9b1ca9f35..2ff84d8d92119dd65db521a7ed95b4371f53f750 100644 (file)
 // The output is a TClonesArray of AliMUONTriggerTracks.
 
 #if !defined(__CINT__) || defined(__MAKECINT__)
-#include <TClonesArray.h>
 
 #include "AliRun.h"
 #include "AliMUON.h"
 #include "AliMUONData.h"
 #include "AliMUONEventReconstructor.h"
-#include "AliMUONTriggerTrack.h"
 #endif
 
 void MUONTriggerTracker (Text_t *FileName = "galice.root", Int_t FirstEvent = 0, Int_t LastEvent = 9999)
@@ -39,73 +37,59 @@ void MUONTriggerTracker (Text_t *FileName = "galice.root", Int_t FirstEvent = 0,
   cout << "FileName ``" << FileName << "''" << endl;
   
   // Creating Run Loader and openning file containing Hits, Digits and RecPoints
-  AliRunLoader * RunLoader = AliRunLoader::Open(FileName,"Event","UPDATE");
+  AliRunLoader * RunLoader = AliRunLoader::Open(FileName,"MUONLoader","UPDATE");
   if (RunLoader ==0x0) {
     printf(">>> Error : Error Opening %s file \n",FileName);
     return;
   }
+  
   // Loading AliRun master
-  RunLoader->LoadgAlice();
+  if (RunLoader->GetAliRun() == 0x0) RunLoader->LoadgAlice();
   gAlice = RunLoader->GetAliRun();
-  RunLoader->LoadKinematics("READ");
+  // RunLoader->LoadKinematics("READ");
   
   // Loading MUON subsystem
-  AliMUON * MUON = (AliMUON *) gAlice->GetDetector("MUON");
   AliLoader * MUONLoader = RunLoader->GetLoader("MUONLoader");
-  //  MUONLoader->LoadHits("READ");
-  MUONLoader->LoadRecPoints("READ");
-  MUONLoader->LoadTracks("UPDATE"); 
-  AliMUONData * muondata = MUON->GetMUONData();
-  muondata->SetLoader(MUONLoader);
-  
   Int_t nevents;
   nevents = RunLoader->GetNumberOfEvents();
-  
-  AliMUONEventReconstructor *Reco = new AliMUONEventReconstructor();
-  
-  Reco->SetPrintLevel(0);
-  cout << "AliMUONEventReconstructor: actual parameters" << endl;
-//  Reco->Dump();
-  //   gObjectTable->Print();
-  
+
   MUONLoader->LoadRecPoints("READ");
-  
-  if  (LastEvent>nevents) LastEvent=nevents;
-  // Loop over events
-  for (Int_t event = FirstEvent; event < LastEvent; event++) {
-      //MUONLoader->LoadHits("READ");
-    cout << "Event: " << event << endl;
-    RunLoader->GetEvent(event);
-    
-// Test if track has already been done before
-    if (MUONLoader->TreeT() == 0x0) {  
-       MUONLoader->MakeTracksContainer();      
-    } else {
-         if (muondata->IsTriggerTrackBranchesInTree()){ // Test if trigger track has already been done before
-             if (event==FirstEvent) MUONLoader->UnloadTracks();
-             MUONLoader->MakeTracksContainer();  // Redoing trigger tracks
-             Info("TrackContainer","Recreating TrackContainer and deleting previous ones");
-         }
-      }
+  MUONLoader->LoadTracks("UPDATE"); 
+
+
+  AliMUONEventReconstructor *Reco = new AliMUONEventReconstructor(MUONLoader);
+  AliMUONData* muondata = Reco->GetMUONData();
 
-    muondata->MakeBranch("RL");
-    muondata->SetTreeAddress("RL");
-    Reco->EventReconstructTrigger();
-    // Dump current event
-    // Reco->EventDumpTrigger();
+  // Testing if Trigger Tracking has already been done
+  RunLoader->GetEvent(0);
+  if (MUONLoader->TreeT()) {
+      if (muondata->IsTriggerTrackBranchesInTree()) {
+      MUONLoader->UnloadTracks();
+      MUONLoader->LoadTracks("RECREATE");
+      printf("Recreating Tracks files\n");
+    }
+  }
 
-     // Duplicating rectriggertrack data in muondata for output
-     for(Int_t i=0; i<Reco->GetNRecTriggerTracks(); i++) {
-        AliMUONTriggerTrack * triggertrack = (AliMUONTriggerTrack*) Reco->GetRecTriggerTracksPtr()->At(i);
-        muondata->AddRecTriggerTrack(*triggertrack);
-//      printf(">>> TEST TEST event %d Number of hits in the track %d is %d \n",event,i,track->GetNTrackHits());
-     }
+  Reco->SetPrintLevel(0);    
+  if  (LastEvent>nevents) LastEvent=nevents;
 
-     muondata->Fill("RL");
-    MUONLoader->WriteTracks("OVERWRITE");  
-    muondata->ResetRecTriggerTracks();
-    muondata->ResetTrigger();
+  // Loop over events
+  for (Int_t event = FirstEvent; event < LastEvent; event++) {
+      cout << "Event: " << event << endl;
+      RunLoader->GetEvent(event);
+      if (MUONLoader->TreeT() == 0x0) MUONLoader->MakeTracksContainer();      
+      
+      muondata->MakeBranch("RL");
+      muondata->SetTreeAddress("RL");
+      Reco->EventReconstructTrigger();
+      muondata->Fill("RL");
+      MUONLoader->WriteTracks("OVERWRITE");  
+      muondata->ResetRecTriggerTracks();
+      muondata->ResetTrigger();
   } // Event loop
-    MUONLoader->UnloadRecPoints();
-    MUONLoader->UnloadTracks();
+
+  MUONLoader->UnloadRecPoints();
+  MUONLoader->UnloadTracks();
 }