Concomitant RawClusterisation and TriggerDecisionner
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 10 Sep 2003 16:23:30 +0000 (16:23 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 10 Sep 2003 16:23:30 +0000 (16:23 +0000)
MUON/AliMUON.cxx
MUON/AliMUONTriggerDecision.cxx
MUON/MUONrawclusters.C
MUON/MUONtrigger.C
MUON/README

index 0a7ad8477d0c24342e7fd0aba7f69c36892182c9..7c8a11ea24d9fa27681e42512e947a853215ab4b 100644 (file)
@@ -408,14 +408,14 @@ void AliMUON::Trigger(Int_t nev){
   }
   
   delete decision;
-  
+
   fLoader->TreeR()->Fill();
   //  char hname[30];
   //  sprintf(hname,"TreeR%d",nev);
   //  fLoader->TreeR()->Write(hname,TObject::kOverwrite);
-  //  fLoader->TreeR()->Reset();
+    //  fLoader->TreeR()->Reset();
   fLoader->WriteRecPoints("OVERWRITE");
-  ResetTrigger();
   
   printf("\n End of trigger for event %d", nev);
 }
index de99927a6791ebb7ce8477231fded0d3a35c1d6a..40d98d88537038a3dbe902f458b2cfac72cc0de5 100644 (file)
@@ -205,7 +205,7 @@ void AliMUONTriggerDecision::SetBit(){
       gime->TreeD()->GetEvent(cathode-1);
       TClonesArray *muonDigits = pMUON->GetMUONData()->Digits(chamber-1,0);
       Int_t ndigits = muonDigits->GetEntriesFast();
-//      printf("\n 1 Found %d digits in %p %d \n ", ndigits, muonDigits,chamber-1);
+      printf("\n 1 Found %d digits in %p %d \n ", ndigits, muonDigits,chamber-1);
 //    if (ndigits == 0) return;
       
 //      iChamber = &(pMUON->Chamber(chamber-1));
@@ -217,6 +217,7 @@ void AliMUONTriggerDecision::SetBit(){
 // get the center of the pad Id 
        Int_t ix=mdig->PadX();
        Int_t iy=mdig->PadY();
+       printf("digits %d ix %d iy %d \n",digit,ix,iy);
 
 // get the sum of the coded charge 
 // see coding convention in AliMUONChamberTrigger::DisIntegration      
@@ -323,7 +324,7 @@ void AliMUONTriggerDecision::SetBit(){
          } // if cathode
        }  // remove soft background
       }   // end loop on digit
-      pMUON->ResetDigits();
+      pMUON->GetMUONData()->ResetDigits();
     }    // end loop on cathode
   }     // end loop on chamber
 }  
index 76cf4929a41ba3c24b4569b1e1201d04f6d639cd..392c58263f9f668280d5a07749ba906d5bfe9d27 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "AliMUONClusterFinderVS.h"
 
-void MUONrawclusters (char* filename, Int_t evNumber1=0,Int_t evNumber2=0
+void MUONrawclusters (char* filename="galice.root", Int_t evNumber1=0,Int_t evNumber2=9999
 {
   //////////////////////////////////////
   //                                  //
@@ -77,6 +77,7 @@ void MUONrawclusters (char* filename, Int_t evNumber1=0,Int_t evNumber2=0)
     Int_t Nh=0;
     Int_t Nh1=0;
     //    gAlice->RunReco("MUON", evNumber1, evNumber2);
+    if (evNumber2>nevents) evNumber2=nevents;
     for(Int_t ievent=evNumber1; ievent<evNumber2; ievent++) {
       printf("event %d\n",ievent);
       RunLoader->GetEvent(ievent);
index d0eb93f0a34f75b29e4362990d0ef4074cbe0fa4..5cbf1d7a7f1172e40aeab28df4045f99a5d43ff8 100644 (file)
@@ -2,7 +2,7 @@
 //get trigger decision and write it in TreeR of MUON.RecPoints.root
 
 void MUONtrigger (char* filename="galice.root", 
-                 Int_t evNumber1=0, Int_t evNumber2=0)
+                 Int_t evNumber1=0, Int_t evNumber2=9999)
 {
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 // Creating Run Loader and openning file containing Hits
@@ -27,17 +27,23 @@ void MUONtrigger (char* filename="galice.root",
   nevents = RunLoader->GetNumberOfEvents();
 
   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");
+       if (MUONLoader->TreeR() == 0x0) { 
+        MUONLoader->MakeTree("R");
+       }
        muondata->MakeBranch("GLT");
        muondata->SetTreeAddress("D,GLT");
-       MUON->Trigger(ievent);       
+       MUON->Trigger(ievent); 
+       muondata->ResetDigits();
+       muondata->ResetTrigger();
    } // event loop 
    MUONLoader->UnloadDigits();
+   MUONLoader->UnloadRecPoints();
 }
 
 
index 05a82de575b4cbd7c81b61d95ab53711cd65d779..0609e9107dacdf19177b832023f7f571f6676347 100644 (file)
@@ -36,7 +36,9 @@ aliroot -b << EOF
 .includepath $ALICE_ROOT/STEER
 .includepath $ALICE_ROOT/MUON
 .L $ALICE_ROOT/MUON/MUONrawclusters.C++
-MUONrawclusters("galice.root",0,10); 
+MUONrawclusters("galice.root",0,9999); 
+to Load
+gSystem->Load("$ALICE_ROOT/MUON/MUONrawclusters_C.so")
 
 First event and last event are given by hand, but this will change.
 
@@ -44,13 +46,7 @@ First event and last event are given by hand, but this will change.
  How to run MUON Trigger
 ============================================================
 .L $ALICE_ROOT/MUON/MUONtrigger.C
-MUONtrigger("galice.root",0,10); 
->> IMPORTANT NOTE: in the present version, one can only have either
->> rawclusters or trigger information written in MUON.RecPoints.root
->> but not both of them i.e. running MUONtrigger after MUONrawclusters
->> will erase rawclusters from TreeR and vice versa.
-
-First event and last event are given by hand, but this will change.
+MUONtrigger("galice.root",0,9999); 
 
 ============================================================
  How to run MUON Tracking reconstruction (old output)
@@ -68,7 +64,7 @@ First event and last event are given by hand, but this will change.
 .includepath $ALICE_ROOT/STEER
 .includepath $ALICE_ROOT/MUON
 .L $ALICE_ROOT/MUON/MUONTracker.C++
-MUONTracker(0,10,"galice.root")    
+MUONTracker("galice.root",0,9999);    
 
 Output in MUON.Tracks.root using the new IO 
 as a TClonesArray of AliMUONTrack
@@ -83,6 +79,8 @@ To compile MUONCheck.C
 .includepath $ALICE_ROOT/STEER
 .includepath $ALICE_ROOT/MUON
 .L $ALICE_ROOT/MUON/MUONCheck.C++
+To Load
+gSystem->Load("$ALICE_ROOT/MUON/MUONCheck_C.so")
 
 To print Kine : (default file is galice.root )
 MUONkine()