]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Correct compiler errors (Philippe C.)
authorpcrochet <pcrochet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Apr 2007 07:37:09 +0000 (07:37 +0000)
committerpcrochet <pcrochet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 20 Apr 2007 07:37:09 +0000 (07:37 +0000)
MUON/MUONTrigger.C
MUON/MUONTriggerEfficiencyPt.C

index 7ea18c4a548632977a3d5b34bb0ce443c2185b04..f023af81ebda5b7c35f916896ee334a116122210 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+/* $Id$ */
+
 // This macro is to be used to check the trigger algorithm w/o having to
 // (re-)perform simulation and digitalization. 
-// It loads the digits, erase TreeR and store the current trigger output in 
-// TreeR.
-// The different trigger outputs can be compared by looking at the GLT branch 
-// of TreeD (filled during simulation) and the TC branch of TreeR (filled from 
-// a copy of TreeD during reconstruction or with this macro).
-// Note: rec points from tracking chamber will be lost.
-//
-// usage: (to be compiled)
-// MUONTrigger("galice.root",0) -> Default Trigger Code
-// MUONTrigger("galice.root",1) -> New Trigger Code
+// see full description in the REDAME file
+// Author: P.Crochet (LPC)
 
 #if !defined(__CINT__) || defined(__MAKECINT__)
 #include "AliRun.h"
 #include "AliMUONLoader.h"
 #include "AliMUONData.h"
 #include "AliMUONDigit.h"
-#include "AliMUONTriggerDecisionV1.h"
 #include "AliMUONTriggerElectronics.h"
 #include "AliMUONCalibrationData.h"
 #include "AliCDBManager.h"
+#include <TClonesArray.h>
 #endif
-void MUONTrigger(char * FileName="galice.root", Int_t NewTriggerCode=0)
+void MUONTrigger(char * FileName="galice.root")
 {
-  // Creating Run Loader and openning file containing Digits 
+    // Creating Run Loader and openning file containing Digits 
     AliRunLoader * RunLoader = AliRunLoader::Open(FileName,"MUONLoader","UPDATE");
     if (RunLoader ==0x0) {
         printf(">>> Error : Error Opening %s file \n",FileName);
@@ -53,27 +47,21 @@ void MUONTrigger(char * FileName="galice.root", Int_t NewTriggerCode=0)
     AliLoader * MUONLoader = RunLoader->GetLoader("MUONLoader");
     MUONLoader->LoadDigits("READ");
     MUONLoader->LoadRecPoints("UPDATE"); // absolutely essential !!!
-
+    
     Int_t nevents;
     nevents = RunLoader->GetNumberOfEvents();
-
+    
     // Creating MUON data container
     AliMUONData* MUONData = new AliMUONData(MUONLoader,"MUON","MUON");
-
+    
     // Creating MUONTriggerDecision
     TTask *TriggerProcessor;
-    if (NewTriggerCode == 0) {
-       cout << " using default trigger code " << "\n";
-       TriggerProcessor = new AliMUONTriggerDecisionV1(MUONData);      
-    } else {
-       cout << " using new trigger code " << "\n";
-       AliCDBManager* cdbManager = AliCDBManager::Instance();
-       cdbManager->SetDefaultStorage("local://$ALICE_ROOT");
-       Int_t runnumber = gAlice->GetRunNumber();
-       AliMUONCalibrationData *CalibrationData = new AliMUONCalibrationData(runnumber);
-       TriggerProcessor = new AliMUONTriggerElectronics(MUONData,CalibrationData);
-    }
-
+    AliCDBManager* cdbManager = AliCDBManager::Instance();
+    cdbManager->SetDefaultStorage("local://$ALICE_ROOT");
+    Int_t runnumber = gAlice->GetRunNumber();
+    AliMUONCalibrationData *CalibrationData = new AliMUONCalibrationData(runnumber);
+    TriggerProcessor = new AliMUONTriggerElectronics(MUONData,CalibrationData);
+    
     // Testing if Trigger has already been done
     RunLoader->GetEvent(0);    
     if (MUONLoader->TreeR()) {
@@ -83,7 +71,7 @@ void MUONTrigger(char * FileName="galice.root", Int_t NewTriggerCode=0)
            printf("Recreating recpoints files\n");
        }
     }
-
+    
     AliMUONDigit * mDigit;    
     Int_t digits[7];
     
@@ -93,12 +81,11 @@ void MUONTrigger(char * FileName="galice.root", Int_t NewTriggerCode=0)
        MUONData->SetTreeAddress("D");
        
        MUONData->GetDigits();
-       for(Int_t ichamber=10; ichamber<14; ichamber++) {         
-           Int_t idigit, ndigits;
-           ndigits = (Int_t) MUONData->Digits(ichamber)->GetEntriesFast();
-
-           for(idigit=0; idigit<ndigits; idigit++) {
-               mDigit = static_cast<AliMUONDigit*>(MUONData->Digits(ichamber)->At(idigit));
+       for(Int_t ichamber=10; ichamber<14; ichamber++) {           
+           Int_t ndigits = (Int_t) MUONData->Digits(ichamber)->GetEntriesFast();
+           for(Int_t idigit=0; idigit<ndigits; idigit++) {
+               mDigit = static_cast<AliMUONDigit*>(MUONData->Digits(ichamber)->At(idigit));             
+               
                digits[0] = mDigit->PadX();
                digits[1] = mDigit->PadY();
                digits[2] = mDigit->Cathode();
@@ -107,11 +94,12 @@ void MUONTrigger(char * FileName="galice.root", Int_t NewTriggerCode=0)
                digits[5] = mDigit->Hit();
                digits[6] = mDigit->DetElemId();
                
-                printf("ichamber ix iy %d %d %d \n",ichamber,mDigit->PadX(),mDigit->PadY());
+//             printf("ichamber ix iy %d %d %d \n",ichamber,mDigit->PadX(),mDigit->PadY());
                
            } // loop on digits
        } // loop on chambers
-
+       
+       
        if (MUONLoader->TreeR() == 0x0) {       
            MUONLoader->MakeRecPointsContainer();
        } else {
index 18596d79729373bab3cfe078ebc71da0ee804d13..be1021579d33fe220d2295c6ea1885dcc41b03a8 100644 (file)
 /* $Id$ */
 
 
-/* Macro to produce trigger single muon efficiency versus pt plots for the 
-   3 pt cuts. Results are compared to the reference (red curves).   
-   To be used with (at least) 10000 events as follows
-   AliGenBox * gener = new AliGenBox(1);
-   gener->SetPtRange(0.,10.);
-   gener->SetPhiRange(0., 360.);         
-   gener->SetThetaRange(171.000,178.001);
-   gener->SetPart(13);           // or -13
-   gener->SetOrigin(0.,0., 0.);  
-   gener->SetSigma(0.0, 0.0, 0.0);     
-
-   Author: Fabien Guerin, LPC Clermont-Ferrand, Jan. 2006
-*/
-
+// Macro to produce trigger single muon efficiency versus pt plots for the 
+// 2 pt cuts. 
+// see full description in the README file
+// Author: Fabien Guerin (LPC)
 
 // ROOT includes
 #include "TBranch.h"
@@ -81,7 +71,7 @@ Double_t fitArch(Double_t *x,Double_t *par)
   return h0*TMath::TanH(h1)+par[3];
 }
 
-void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
+void MUONTriggerEfficiencyPt(char filename[10]="galice.root",  Bool_t readFromRP = 0)
 {
 
 // define style
@@ -108,7 +98,7 @@ void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
     st1->SetPadBottomMargin(0.15); 
     st1->cd();
     
-    gROOT->ForceStyle();
+//    gROOT->ForceStyle();
     //TGaxis::SetMaxDigits(3);
     
 // beginning of macro    
@@ -160,7 +150,6 @@ void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
        
        if (ievent%500==0) printf("ievent = %d \n",ievent);
 
-
 // kine
        Int_t iparticle, nparticles;
        stack = RunLoader->Stack();
@@ -173,8 +162,13 @@ void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
         }
 
 // trigger 
-        muondata.SetTreeAddress("D,GLT");
-        muondata.GetTriggerD();
+       if (!readFromRP) {
+           muondata.SetTreeAddress("D,GLT"); 
+           muondata.GetTriggerD();
+       } else {    
+           muondata.SetTreeAddress("RC,TC"); 
+           muondata.GetTrigger();
+       }
     
         globalTrigger = muondata.GlobalTrigger();
 
@@ -227,7 +221,7 @@ void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
           }
           data_hits.ResetHits();
         } // end track loop
-        
+
 // 3/4 coincidence 
         SumNbHits=NbHits[0]+NbHits[1]+NbHits[2]+NbHits[3];
 
@@ -239,8 +233,13 @@ void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
       } // end loop on event
       
       MUONLoader->UnloadHits();
-      MUONLoader->UnloadDigits();
-      MUONLoader->UnloadRecPoints();
+      if (!readFromRP) {
+         muondata.SetTreeAddress("D,GLT"); 
+         muondata.GetTriggerD();
+      } else {    
+         muondata.SetTreeAddress("RC,TC"); 
+         muondata.GetTrigger();
+      }
       RunLoader->UnloadKinematics();   
 
       delete RunLoader;
@@ -346,6 +345,5 @@ void MUONTriggerEfficiencyPt(char filename[10]="galice.root")
       leg->Draw("SAME");
       
       c1->SaveAs("MUONTriggerEfficiencyPt.gif");
-      c1->SaveAs("MUONTriggerEfficiencyPt.eps");
-      
+      c1->SaveAs("MUONTriggerEfficiencyPt.eps");      
 }