ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */


/// \ingroup macros
/// \file MUONTriggerEfficiencyPt.C
/// \brief Macro to produce trigger single muon efficiency versus pt plots for the 
/// 2 pt cuts.
/// 
/// See full description on the \ref README_trigger page.
///
/// \author Fabien Guerin (LPC)

// ROOT includes
#include "TBranch.h"
#include "TClonesArray.h"
#include "TFile.h"
#include "TF1.h"
#include "TH1.h"
#include "TH2.h"
#include "TParticle.h"
#include "TTree.h"
#include "TMath.h"
#include "TStyle.h"
#include "TCanvas.h"
#include "TLegend.h"
#include "Riostream.h"

// STEER includes
#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliHeader.h"
#include "AliLoader.h"
#include "AliStack.h"
#include "AliCDBManager.h"

// MUON includes
#include "AliMUONDataInterface.h"
#include "AliMUONMCDataInterface.h"
#include "AliMUONVHitStore.h"
#include "AliMUONVTriggerStore.h"
#include "AliMUONHit.h"
#include "AliMUONDigit.h"
#include "AliMUONGlobalTrigger.h"
#include "AliMUONTrack.h"

Double_t fitArc(Double_t *x,Double_t *par) 
{
  Double_t h1=par[1]*(x[0]+par[2]);
  return par[0]*TMath::ATan(TMath::Power(h1,6))+par[3];
}

Double_t fitArch(Double_t *x,Double_t *par) 
{
  Double_t h0=2*par[0]/(TMath::Pi());
  Double_t h1=par[1]*x[0]+par[2]*x[0]*x[0];
  return h0*TMath::TanH(h1)+par[3];
}

void MUONTriggerEfficiencyPt(const char* filenameSim="galice_sim.root", 
			     const char* filenameRec="galice.root",  
                             Bool_t readFromRP = 0)
{

// define style
    TStyle *st1 = new TStyle("st1","My STYLE");
    
    st1->SetOptStat(0);
    st1->SetOptFit(111);  
    st1->SetFrameFillColor(10);
    st1->SetCanvasColor(10);
    st1->SetFillColor(10);
    st1->SetTitleBorderSize(0);
    st1->SetTitleOffset(1.2,"XY");
    st1->SetTitleSize(0.05,"XY"); 
    st1->SetLabelSize(0.045,"XY");  
    st1->SetLabelFont(22,"XY");  
    st1->SetTitleFont(22,"XY");     
    st1->SetOptTitle(0);   
    st1->SetStatColor(10);
    st1->SetStatFont(62);     
    st1->SetFitFormat("4.4g");
    st1->SetPadLeftMargin(0.15);
    st1->SetPadRightMargin(0.06); 
    st1->SetPadTopMargin(0.06);
    st1->SetPadBottomMargin(0.15); 
    st1->cd();
    
//    gROOT->ForceStyle();
    //TGaxis::SetMaxDigits(3);
    
// beginning of macro    
    TH1F *ptlpt    = new TH1F("ptlpt","",50,0.15,5.); 
    TH1F *pthpt    = new TH1F("pthpt","",50,0.15,5.);
    TH1F *ptcoinc  = new TH1F("ptcoinc","",50,0.15,5.);  
        
    TParticle *particle;
    
    Int_t nevents;
    Double_t coincmuon=0;
    Double_t lptmuon=0;
    Double_t hptmuon=0;
    Double_t ptmu=0;

    AliCDBManager* cdbManager = AliCDBManager::Instance();
    cdbManager->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
    cdbManager->SetRun(0);

    AliMUONMCDataInterface diSim(filenameSim);
    AliMUONDataInterface diRec(filenameRec);
    
    if (!diSim.IsValid())
    {
	cerr << "Cannot access " << filenameSim << endl;
	return;
    }
    
    if (!diRec.IsValid())
    {
	cerr << "Cannot access " << filenameRec << endl;
	return;
    }
    
    FILE* fdat = fopen("MUONTriggerEfficiencyPt.out","w");          
    if (!fdat)
    {
	cerr << "Cannot create output file" << endl;
	return;
    }

    nevents = diSim.NumberOfEvents();

    AliRunLoader* runLoader = AliRunLoader::Open(filenameSim);    

    for (Int_t ievent=0; ievent<nevents; ievent++) {  // Event loop
	
	if (ievent%500==0) printf("ievent = %d \n",ievent);
// kine
	
	runLoader->GetEvent(ievent);
	runLoader->LoadKinematics();
	AliStack* stack = runLoader->Stack();
	
	Int_t nparticles = (Int_t) stack->GetNtrack();        

        for (Int_t iparticle=0; iparticle<nparticles; iparticle++) {
            particle = stack->Particle(iparticle);   
            Float_t pt = particle->Pt();	    
            Int_t pdgcode = particle->GetPdgCode();                        
	    if (pdgcode==-13 || pdgcode==13) ptmu = pt;             
        }

// global trigger
	TString tree("D");
	if ( readFromRP ) tree = "R";
	
	AliMUONVTriggerStore* triggerStore = diRec.TriggerStore(ievent,tree.Data());
	AliMUONGlobalTrigger* gloTrg = triggerStore->Global();
	
	if (gloTrg->SingleLpt()>=1 ) {
	    lptmuon++;
	    ptlpt->Fill(ptmu);
	}       
	if (gloTrg->SingleHpt()>=1 ) {
	    hptmuon++;
	    pthpt->Fill(ptmu);
	}

// Hits
        Int_t itrack, ntracks, NbHits[4];
        Int_t SumNbHits;
	
        for (Int_t j=0; j<4; j++) NbHits[j]=0;
 
	ntracks = (Int_t) diSim.NumberOfTracks(ievent);
   
        for (itrack=0; itrack<ntracks; itrack++) { // track loop
	    AliMUONVHitStore* hitStore = diSim.HitStore(ievent,itrack);      
	    AliMUONHit* mHit;
	    TIter next(hitStore->CreateIterator());

	    while ( ( mHit = static_cast<AliMUONHit*>(next()) ) )
	    {
		Int_t Nch        = mHit->Chamber(); 
		Int_t hittrack   = mHit->Track();
		Float_t IdPart   = mHit->Particle();	    
	    
		for (Int_t j=0;j<4;j++) {
		    Int_t kch=11+j;
		    if (hittrack==0) {
			if (Nch==kch && (IdPart==-13 || IdPart==13) && NbHits[j]==0) NbHits[j]++; 
		    }               
		}    
	    }
        } // end track loop


// 3/4 coincidence 
        SumNbHits=NbHits[0]+NbHits[1]+NbHits[2]+NbHits[3];

        if (SumNbHits==3 || SumNbHits==4) {
            coincmuon++;
            ptcoinc->Fill(ptmu);
        }            
                

    } // end loop on event

    if (coincmuon==0) {
	cout << " >>> <E> coincmuon = 0 after event loop " << "\n";
	cout << " >>> this probably means that input does not contain one (and only one) " << "\n";
        cout << " >>> muon track per event as it should " << "\n";
	cout << " >>> see README for further information " << "\n";
	cout << " >>> exiting now ! " << "\n";
	return;
    }


    fprintf(fdat,"\n");    
    fprintf(fdat,"\n");
    fprintf(fdat," Number of events = %d \n",nevents);  
    fprintf(fdat," Number of events with 3/4 coinc = %d \n",(Int_t)coincmuon);
    fprintf(fdat," Nomber of dimuons with 3/4 coinc Lpt cut = %d \n",(Int_t)lptmuon); 
    fprintf(fdat," Number of dimuons with 3/4 coinc Hpt cut = %d \n",(Int_t)hptmuon);  
    fprintf(fdat,"\n"); 
    
    Double_t efficiency,error;
    
    efficiency=lptmuon/coincmuon;  
    error=efficiency*TMath::Sqrt((lptmuon+coincmuon)/(lptmuon*coincmuon));  
    fprintf(fdat," Efficiency Lpt cut = %4.4f +/- %4.4f\n",efficiency,error);
    
    efficiency=hptmuon/coincmuon; 
    error=efficiency*TMath::Sqrt((hptmuon+coincmuon)/(hptmuon*coincmuon)); 
    fprintf(fdat," Efficiency Hpt cut = %4.4f +/- %4.4f\n",efficiency,error);
    
    fclose(fdat);
    
    Double_t x1,x2,xval,xerr;
    
    for (Int_t i=0;i<50;i++) {
	x1=ptcoinc->GetBinContent(i+1);
	
	x2=ptlpt->GetBinContent(i+1);
	if (x1!=0 && x2!=0) {
	    xval=x2/x1;
	    xerr=xval*TMath::Sqrt((x1+x2)/x1*x2);   
	    ptlpt->SetBinContent(i+1,xval);
	    ptlpt->SetBinError(i+1,0);
	} else {
	    ptlpt->SetBinContent(i+1,0.);
	    ptlpt->SetBinError(i+1,0.);     
	} 
	
	x2=pthpt->GetBinContent(i+1);
	if (x1!=0 && x2!=0) {
	    xval=x2/x1;
	    xerr=xval*TMath::Sqrt((x1+x2)/x1*x2);   
	    pthpt->SetBinContent(i+1,xval);
	    pthpt->SetBinError(i+1,0);
	} else {
	    pthpt->SetBinContent(i+1,0.);
	    pthpt->SetBinError(i+1,0.);     
	}              
    }      
    
    TF1 *fitlpt = new TF1("fitlpt",fitArc,0.,5.,4); 
    TF1 *fithpt = new TF1("fithpt",fitArc,0.,5.,4);      
    
    TCanvas *c1 = new TCanvas("c1","Trigger efficiency vs pt and y for single muon",200,0,900,400); 
    c1->Divide(2,1);      
    
    c1->cd(1);
    ptlpt->SetMinimum(0.);
    ptlpt->SetMaximum(1.05);   
    ptlpt->SetTitle("");
    ptlpt->GetXaxis()->SetTitle("P_{T} (GeV/c)");
    ptlpt->GetYaxis()->SetTitle("Efficiency");     
    //ptlpt->GetXaxis()->SetRange(3);
    ptlpt->Draw(""); 
    fitlpt->SetParameters(0.602,0.774,0.273,0.048);  
    fitlpt->SetLineColor(2);
    fitlpt->SetLineWidth(2);
    fitlpt->Draw("SAME");    
    TLegend * leg = new TLegend(0.5,0.38,0.85,0.53); 
    leg = new TLegend(0.5,0.38,0.85,0.53); 
    leg->SetBorderSize(0);
    leg->SetFillColor(0);
    leg->SetTextSize(0.05);
    leg->SetTextFont(22);
    leg->SetHeader("Lpt trigger pt cut");
    leg->AddEntry(fitlpt,"Ref.","l");
    leg->AddEntry(ptlpt,"New","l");                 
    leg->Draw("SAME");
    
    c1->cd(2);
    pthpt->SetMinimum(0.);
    pthpt->SetMaximum(1.05);   
    pthpt->SetTitle("");
    pthpt->GetXaxis()->SetTitle("P_{T} (GeV/c)");  
    pthpt->GetYaxis()->SetTitle("Efficiency");     
    //pthpt->GetXaxis()->SetRange(3);
    pthpt->Draw(""); 
    fithpt->SetParameters(0.627,0.393,0.855,0.0081); 
    fithpt->SetLineColor(2);
    fithpt->SetLineWidth(2);
    fithpt->Draw("SAME");    
    leg = new TLegend(0.5,0.38,0.85,0.53); 
    leg->SetBorderSize(0);
    leg->SetFillColor(0);
    leg->SetTextSize(0.05);
    leg->SetTextFont(22);
    leg->SetHeader("Hpt trigger pt cut");
    leg->AddEntry(fithpt,"Ref.","l");
    leg->AddEntry(pthpt,"New","l");                 
    leg->Draw("SAME");
    
    c1->SaveAs("MUONTriggerEfficiencyPt.gif");
    c1->SaveAs("MUONTriggerEfficiencyPt.eps");      

}
 MUONTriggerEfficiencyPt.C:1
 MUONTriggerEfficiencyPt.C:2
 MUONTriggerEfficiencyPt.C:3
 MUONTriggerEfficiencyPt.C:4
 MUONTriggerEfficiencyPt.C:5
 MUONTriggerEfficiencyPt.C:6
 MUONTriggerEfficiencyPt.C:7
 MUONTriggerEfficiencyPt.C:8
 MUONTriggerEfficiencyPt.C:9
 MUONTriggerEfficiencyPt.C:10
 MUONTriggerEfficiencyPt.C:11
 MUONTriggerEfficiencyPt.C:12
 MUONTriggerEfficiencyPt.C:13
 MUONTriggerEfficiencyPt.C:14
 MUONTriggerEfficiencyPt.C:15
 MUONTriggerEfficiencyPt.C:16
 MUONTriggerEfficiencyPt.C:17
 MUONTriggerEfficiencyPt.C:18
 MUONTriggerEfficiencyPt.C:19
 MUONTriggerEfficiencyPt.C:20
 MUONTriggerEfficiencyPt.C:21
 MUONTriggerEfficiencyPt.C:22
 MUONTriggerEfficiencyPt.C:23
 MUONTriggerEfficiencyPt.C:24
 MUONTriggerEfficiencyPt.C:25
 MUONTriggerEfficiencyPt.C:26
 MUONTriggerEfficiencyPt.C:27
 MUONTriggerEfficiencyPt.C:28
 MUONTriggerEfficiencyPt.C:29
 MUONTriggerEfficiencyPt.C:30
 MUONTriggerEfficiencyPt.C:31
 MUONTriggerEfficiencyPt.C:32
 MUONTriggerEfficiencyPt.C:33
 MUONTriggerEfficiencyPt.C:34
 MUONTriggerEfficiencyPt.C:35
 MUONTriggerEfficiencyPt.C:36
 MUONTriggerEfficiencyPt.C:37
 MUONTriggerEfficiencyPt.C:38
 MUONTriggerEfficiencyPt.C:39
 MUONTriggerEfficiencyPt.C:40
 MUONTriggerEfficiencyPt.C:41
 MUONTriggerEfficiencyPt.C:42
 MUONTriggerEfficiencyPt.C:43
 MUONTriggerEfficiencyPt.C:44
 MUONTriggerEfficiencyPt.C:45
 MUONTriggerEfficiencyPt.C:46
 MUONTriggerEfficiencyPt.C:47
 MUONTriggerEfficiencyPt.C:48
 MUONTriggerEfficiencyPt.C:49
 MUONTriggerEfficiencyPt.C:50
 MUONTriggerEfficiencyPt.C:51
 MUONTriggerEfficiencyPt.C:52
 MUONTriggerEfficiencyPt.C:53
 MUONTriggerEfficiencyPt.C:54
 MUONTriggerEfficiencyPt.C:55
 MUONTriggerEfficiencyPt.C:56
 MUONTriggerEfficiencyPt.C:57
 MUONTriggerEfficiencyPt.C:58
 MUONTriggerEfficiencyPt.C:59
 MUONTriggerEfficiencyPt.C:60
 MUONTriggerEfficiencyPt.C:61
 MUONTriggerEfficiencyPt.C:62
 MUONTriggerEfficiencyPt.C:63
 MUONTriggerEfficiencyPt.C:64
 MUONTriggerEfficiencyPt.C:65
 MUONTriggerEfficiencyPt.C:66
 MUONTriggerEfficiencyPt.C:67
 MUONTriggerEfficiencyPt.C:68
 MUONTriggerEfficiencyPt.C:69
 MUONTriggerEfficiencyPt.C:70
 MUONTriggerEfficiencyPt.C:71
 MUONTriggerEfficiencyPt.C:72
 MUONTriggerEfficiencyPt.C:73
 MUONTriggerEfficiencyPt.C:74
 MUONTriggerEfficiencyPt.C:75
 MUONTriggerEfficiencyPt.C:76
 MUONTriggerEfficiencyPt.C:77
 MUONTriggerEfficiencyPt.C:78
 MUONTriggerEfficiencyPt.C:79
 MUONTriggerEfficiencyPt.C:80
 MUONTriggerEfficiencyPt.C:81
 MUONTriggerEfficiencyPt.C:82
 MUONTriggerEfficiencyPt.C:83
 MUONTriggerEfficiencyPt.C:84
 MUONTriggerEfficiencyPt.C:85
 MUONTriggerEfficiencyPt.C:86
 MUONTriggerEfficiencyPt.C:87
 MUONTriggerEfficiencyPt.C:88
 MUONTriggerEfficiencyPt.C:89
 MUONTriggerEfficiencyPt.C:90
 MUONTriggerEfficiencyPt.C:91
 MUONTriggerEfficiencyPt.C:92
 MUONTriggerEfficiencyPt.C:93
 MUONTriggerEfficiencyPt.C:94
 MUONTriggerEfficiencyPt.C:95
 MUONTriggerEfficiencyPt.C:96
 MUONTriggerEfficiencyPt.C:97
 MUONTriggerEfficiencyPt.C:98
 MUONTriggerEfficiencyPt.C:99
 MUONTriggerEfficiencyPt.C:100
 MUONTriggerEfficiencyPt.C:101
 MUONTriggerEfficiencyPt.C:102
 MUONTriggerEfficiencyPt.C:103
 MUONTriggerEfficiencyPt.C:104
 MUONTriggerEfficiencyPt.C:105
 MUONTriggerEfficiencyPt.C:106
 MUONTriggerEfficiencyPt.C:107
 MUONTriggerEfficiencyPt.C:108
 MUONTriggerEfficiencyPt.C:109
 MUONTriggerEfficiencyPt.C:110
 MUONTriggerEfficiencyPt.C:111
 MUONTriggerEfficiencyPt.C:112
 MUONTriggerEfficiencyPt.C:113
 MUONTriggerEfficiencyPt.C:114
 MUONTriggerEfficiencyPt.C:115
 MUONTriggerEfficiencyPt.C:116
 MUONTriggerEfficiencyPt.C:117
 MUONTriggerEfficiencyPt.C:118
 MUONTriggerEfficiencyPt.C:119
 MUONTriggerEfficiencyPt.C:120
 MUONTriggerEfficiencyPt.C:121
 MUONTriggerEfficiencyPt.C:122
 MUONTriggerEfficiencyPt.C:123
 MUONTriggerEfficiencyPt.C:124
 MUONTriggerEfficiencyPt.C:125
 MUONTriggerEfficiencyPt.C:126
 MUONTriggerEfficiencyPt.C:127
 MUONTriggerEfficiencyPt.C:128
 MUONTriggerEfficiencyPt.C:129
 MUONTriggerEfficiencyPt.C:130
 MUONTriggerEfficiencyPt.C:131
 MUONTriggerEfficiencyPt.C:132
 MUONTriggerEfficiencyPt.C:133
 MUONTriggerEfficiencyPt.C:134
 MUONTriggerEfficiencyPt.C:135
 MUONTriggerEfficiencyPt.C:136
 MUONTriggerEfficiencyPt.C:137
 MUONTriggerEfficiencyPt.C:138
 MUONTriggerEfficiencyPt.C:139
 MUONTriggerEfficiencyPt.C:140
 MUONTriggerEfficiencyPt.C:141
 MUONTriggerEfficiencyPt.C:142
 MUONTriggerEfficiencyPt.C:143
 MUONTriggerEfficiencyPt.C:144
 MUONTriggerEfficiencyPt.C:145
 MUONTriggerEfficiencyPt.C:146
 MUONTriggerEfficiencyPt.C:147
 MUONTriggerEfficiencyPt.C:148
 MUONTriggerEfficiencyPt.C:149
 MUONTriggerEfficiencyPt.C:150
 MUONTriggerEfficiencyPt.C:151
 MUONTriggerEfficiencyPt.C:152
 MUONTriggerEfficiencyPt.C:153
 MUONTriggerEfficiencyPt.C:154
 MUONTriggerEfficiencyPt.C:155
 MUONTriggerEfficiencyPt.C:156
 MUONTriggerEfficiencyPt.C:157
 MUONTriggerEfficiencyPt.C:158
 MUONTriggerEfficiencyPt.C:159
 MUONTriggerEfficiencyPt.C:160
 MUONTriggerEfficiencyPt.C:161
 MUONTriggerEfficiencyPt.C:162
 MUONTriggerEfficiencyPt.C:163
 MUONTriggerEfficiencyPt.C:164
 MUONTriggerEfficiencyPt.C:165
 MUONTriggerEfficiencyPt.C:166
 MUONTriggerEfficiencyPt.C:167
 MUONTriggerEfficiencyPt.C:168
 MUONTriggerEfficiencyPt.C:169
 MUONTriggerEfficiencyPt.C:170
 MUONTriggerEfficiencyPt.C:171
 MUONTriggerEfficiencyPt.C:172
 MUONTriggerEfficiencyPt.C:173
 MUONTriggerEfficiencyPt.C:174
 MUONTriggerEfficiencyPt.C:175
 MUONTriggerEfficiencyPt.C:176
 MUONTriggerEfficiencyPt.C:177
 MUONTriggerEfficiencyPt.C:178
 MUONTriggerEfficiencyPt.C:179
 MUONTriggerEfficiencyPt.C:180
 MUONTriggerEfficiencyPt.C:181
 MUONTriggerEfficiencyPt.C:182
 MUONTriggerEfficiencyPt.C:183
 MUONTriggerEfficiencyPt.C:184
 MUONTriggerEfficiencyPt.C:185
 MUONTriggerEfficiencyPt.C:186
 MUONTriggerEfficiencyPt.C:187
 MUONTriggerEfficiencyPt.C:188
 MUONTriggerEfficiencyPt.C:189
 MUONTriggerEfficiencyPt.C:190
 MUONTriggerEfficiencyPt.C:191
 MUONTriggerEfficiencyPt.C:192
 MUONTriggerEfficiencyPt.C:193
 MUONTriggerEfficiencyPt.C:194
 MUONTriggerEfficiencyPt.C:195
 MUONTriggerEfficiencyPt.C:196
 MUONTriggerEfficiencyPt.C:197
 MUONTriggerEfficiencyPt.C:198
 MUONTriggerEfficiencyPt.C:199
 MUONTriggerEfficiencyPt.C:200
 MUONTriggerEfficiencyPt.C:201
 MUONTriggerEfficiencyPt.C:202
 MUONTriggerEfficiencyPt.C:203
 MUONTriggerEfficiencyPt.C:204
 MUONTriggerEfficiencyPt.C:205
 MUONTriggerEfficiencyPt.C:206
 MUONTriggerEfficiencyPt.C:207
 MUONTriggerEfficiencyPt.C:208
 MUONTriggerEfficiencyPt.C:209
 MUONTriggerEfficiencyPt.C:210
 MUONTriggerEfficiencyPt.C:211
 MUONTriggerEfficiencyPt.C:212
 MUONTriggerEfficiencyPt.C:213
 MUONTriggerEfficiencyPt.C:214
 MUONTriggerEfficiencyPt.C:215
 MUONTriggerEfficiencyPt.C:216
 MUONTriggerEfficiencyPt.C:217
 MUONTriggerEfficiencyPt.C:218
 MUONTriggerEfficiencyPt.C:219
 MUONTriggerEfficiencyPt.C:220
 MUONTriggerEfficiencyPt.C:221
 MUONTriggerEfficiencyPt.C:222
 MUONTriggerEfficiencyPt.C:223
 MUONTriggerEfficiencyPt.C:224
 MUONTriggerEfficiencyPt.C:225
 MUONTriggerEfficiencyPt.C:226
 MUONTriggerEfficiencyPt.C:227
 MUONTriggerEfficiencyPt.C:228
 MUONTriggerEfficiencyPt.C:229
 MUONTriggerEfficiencyPt.C:230
 MUONTriggerEfficiencyPt.C:231
 MUONTriggerEfficiencyPt.C:232
 MUONTriggerEfficiencyPt.C:233
 MUONTriggerEfficiencyPt.C:234
 MUONTriggerEfficiencyPt.C:235
 MUONTriggerEfficiencyPt.C:236
 MUONTriggerEfficiencyPt.C:237
 MUONTriggerEfficiencyPt.C:238
 MUONTriggerEfficiencyPt.C:239
 MUONTriggerEfficiencyPt.C:240
 MUONTriggerEfficiencyPt.C:241
 MUONTriggerEfficiencyPt.C:242
 MUONTriggerEfficiencyPt.C:243
 MUONTriggerEfficiencyPt.C:244
 MUONTriggerEfficiencyPt.C:245
 MUONTriggerEfficiencyPt.C:246
 MUONTriggerEfficiencyPt.C:247
 MUONTriggerEfficiencyPt.C:248
 MUONTriggerEfficiencyPt.C:249
 MUONTriggerEfficiencyPt.C:250
 MUONTriggerEfficiencyPt.C:251
 MUONTriggerEfficiencyPt.C:252
 MUONTriggerEfficiencyPt.C:253
 MUONTriggerEfficiencyPt.C:254
 MUONTriggerEfficiencyPt.C:255
 MUONTriggerEfficiencyPt.C:256
 MUONTriggerEfficiencyPt.C:257
 MUONTriggerEfficiencyPt.C:258
 MUONTriggerEfficiencyPt.C:259
 MUONTriggerEfficiencyPt.C:260
 MUONTriggerEfficiencyPt.C:261
 MUONTriggerEfficiencyPt.C:262
 MUONTriggerEfficiencyPt.C:263
 MUONTriggerEfficiencyPt.C:264
 MUONTriggerEfficiencyPt.C:265
 MUONTriggerEfficiencyPt.C:266
 MUONTriggerEfficiencyPt.C:267
 MUONTriggerEfficiencyPt.C:268
 MUONTriggerEfficiencyPt.C:269
 MUONTriggerEfficiencyPt.C:270
 MUONTriggerEfficiencyPt.C:271
 MUONTriggerEfficiencyPt.C:272
 MUONTriggerEfficiencyPt.C:273
 MUONTriggerEfficiencyPt.C:274
 MUONTriggerEfficiencyPt.C:275
 MUONTriggerEfficiencyPt.C:276
 MUONTriggerEfficiencyPt.C:277
 MUONTriggerEfficiencyPt.C:278
 MUONTriggerEfficiencyPt.C:279
 MUONTriggerEfficiencyPt.C:280
 MUONTriggerEfficiencyPt.C:281
 MUONTriggerEfficiencyPt.C:282
 MUONTriggerEfficiencyPt.C:283
 MUONTriggerEfficiencyPt.C:284
 MUONTriggerEfficiencyPt.C:285
 MUONTriggerEfficiencyPt.C:286
 MUONTriggerEfficiencyPt.C:287
 MUONTriggerEfficiencyPt.C:288
 MUONTriggerEfficiencyPt.C:289
 MUONTriggerEfficiencyPt.C:290
 MUONTriggerEfficiencyPt.C:291
 MUONTriggerEfficiencyPt.C:292
 MUONTriggerEfficiencyPt.C:293
 MUONTriggerEfficiencyPt.C:294
 MUONTriggerEfficiencyPt.C:295
 MUONTriggerEfficiencyPt.C:296
 MUONTriggerEfficiencyPt.C:297
 MUONTriggerEfficiencyPt.C:298
 MUONTriggerEfficiencyPt.C:299
 MUONTriggerEfficiencyPt.C:300
 MUONTriggerEfficiencyPt.C:301
 MUONTriggerEfficiencyPt.C:302
 MUONTriggerEfficiencyPt.C:303
 MUONTriggerEfficiencyPt.C:304
 MUONTriggerEfficiencyPt.C:305
 MUONTriggerEfficiencyPt.C:306
 MUONTriggerEfficiencyPt.C:307
 MUONTriggerEfficiencyPt.C:308
 MUONTriggerEfficiencyPt.C:309
 MUONTriggerEfficiencyPt.C:310
 MUONTriggerEfficiencyPt.C:311
 MUONTriggerEfficiencyPt.C:312
 MUONTriggerEfficiencyPt.C:313
 MUONTriggerEfficiencyPt.C:314
 MUONTriggerEfficiencyPt.C:315
 MUONTriggerEfficiencyPt.C:316
 MUONTriggerEfficiencyPt.C:317
 MUONTriggerEfficiencyPt.C:318
 MUONTriggerEfficiencyPt.C:319
 MUONTriggerEfficiencyPt.C:320
 MUONTriggerEfficiencyPt.C:321
 MUONTriggerEfficiencyPt.C:322
 MUONTriggerEfficiencyPt.C:323
 MUONTriggerEfficiencyPt.C:324
 MUONTriggerEfficiencyPt.C:325
 MUONTriggerEfficiencyPt.C:326
 MUONTriggerEfficiencyPt.C:327
 MUONTriggerEfficiencyPt.C:328
 MUONTriggerEfficiencyPt.C:329
 MUONTriggerEfficiencyPt.C:330
 MUONTriggerEfficiencyPt.C:331
 MUONTriggerEfficiencyPt.C:332
 MUONTriggerEfficiencyPt.C:333
 MUONTriggerEfficiencyPt.C:334
 MUONTriggerEfficiencyPt.C:335
 MUONTriggerEfficiencyPt.C:336