Independent Trigger and rawcluster reconstruction
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 17 Sep 2003 14:07:15 +0000 (14:07 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 17 Sep 2003 14:07:15 +0000 (14:07 +0000)
MUON/AliMUONData.cxx
MUON/MUONrawclusters.C
MUON/MUONtrigger.C

index ec89bdf6b6c7340dee24f8a4d0532c0992ba764f..a3e3d707c01f33ee555175730e3501991f2e5db1 100644 (file)
@@ -219,7 +219,7 @@ void AliMUONData::Fill(Option_t* option)
  //
   // filling trigger 
   if ( TreeR()  && cGLT) {
-    if (IsTriggerBranchesInTree()) {
+    if (IsRawClusterBranchesInTree()) {
       // Branch per branch filling
       sprintf(branchname,"%sLocalTrigger",GetName());
       branch = TreeR()->GetBranch(branchname); 
index 392c58263f9f668280d5a07749ba906d5bfe9d27..f3f6aa7fa8ae3a143957654bf076d927be19af56 100644 (file)
@@ -70,7 +70,10 @@ void MUONrawclusters (char* filename="galice.root", Int_t evNumber1=0,Int_t evNu
     // RecModel->SetTracks(266,267);    
     RecModel->SetGhostChi2Cut(10);
     MUON->SetReconstructionModel(i,RecModel);
-  }
+  } 
+
+  MUONLoader->LoadDigits("READ");
+  MUONLoader->LoadRecPoints("UPDATE");
 //
 //   Loop over events              
   //
@@ -81,15 +84,22 @@ void MUONrawclusters (char* filename="galice.root", Int_t evNumber1=0,Int_t evNu
     for(Int_t ievent=evNumber1; ievent<evNumber2; ievent++) {
       printf("event %d\n",ievent);
       RunLoader->GetEvent(ievent);
-      MUONLoader->LoadDigits("read");
-      if (MUONLoader->TreeR() == 0x0) MUONLoader->MakeTree("R");
+
+      // Test if rawcluster has already been done before
+      if (MUONLoader->TreeR() == 0x0) 
+       MUONLoader->MakeRecPointsContainer();
+      else {
+       if (muondata->IsRawClusterBranchesInTree()){ // Test if rawcluster has already been done before
+         MUONLoader->MakeRecPointsContainer();  // Redoing clusterisation
+         Info("RecPointsContainer","Recreating RecPointsContainer and deleting previous ones");
+       }
+      }
       muondata->MakeBranch("RC");
       muondata->SetTreeAddress("D,RC");
       MUON->Digits2Reco(); 
-      MUONLoader->UnloadDigits();
-      MUONLoader->UnloadRecPoints();
     }
-
+    MUONLoader->UnloadDigits();
+    MUONLoader->UnloadRecPoints();
 }
 
 
index c62e74b2cc53c5d24a54b2585aba7ddc8715a4c8..778ce2679ff9072176c6ab210c57158c369e19cf 100644 (file)
@@ -36,13 +36,22 @@ void MUONtrigger (char* filename="galice.root",
 
   MUONLoader->LoadDigits("READ");
   MUONLoader->LoadRecPoints("UPDATE");
+
+
+
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   if (evNumber2>nevents) evNumber2=nevents;
    for (Int_t ievent=evNumber1; ievent<evNumber2; ievent++) { // event loop
        printf("event %d\n",ievent);
        RunLoader->GetEvent(ievent);       
-       if (MUONLoader->TreeR() == 0x0) { 
-        MUONLoader->MakeTree("R");
+       // Test if rawcluster has already been done before
+       if (MUONLoader->TreeR() == 0x0) 
+        MUONLoader->MakeRecPointsContainer();
+       else {
+        if (muondata->IsTriggerBranchesInTree()){ // Test if rawcluster has already been done before
+          MUONLoader->MakeRecPointsContainer();  // Redoing clusterisation
+          Info("RecPointsContainer","Recreating RecPointsContainer and deleting previous ones");
+        }
        }
        muondata->MakeBranch("GLT");
        muondata->SetTreeAddress("D,GLT");