#include "AliFastMuonTriggerEff.h"
#include "TROOT.h"
#include "TFile.h"
#include "stdlib.h"
#include "TH3.h"
#include "TObjString.h"
#define PLIN printf("%s: %d: ",__FILE__,__LINE__)
ClassImp(AliFastMuonTriggerEff)
AliFastMuonTriggerEff::AliFastMuonTriggerEff():
AliFastResponse("Efficiency", "Muon Trigger Efficiency"),
fPtMin(0.),
fPtMax(0.),
fDpt(0.),
fnptb(0),
fPhiMin(0.),
fPhiMax(0.),
fDphi(0.),
fnphib(0),
fThetaMin(0.),
fThetaMax(0.),
fDtheta(0.),
fnthetab(0),
fCut(kLow),
fZones(0),
fhEffAPt(0),
fhEffLPt(0),
fhEffHPt(0),
fhLX(0),
fhLY(0),
fhLZ(0),
fBkg(0.),
fTableTitle(0),
fDescription(0),
fInt(0),
fibx(0),
fiby(0),
fibz(0)
{
}
AliFastMuonTriggerEff::AliFastMuonTriggerEff(const char* Name, const char* Title):
AliFastResponse(Name, Title),
fPtMin(0.),
fPtMax(0.),
fDpt(0.),
fnptb(0),
fPhiMin(0.),
fPhiMax(0.),
fDphi(0.),
fnphib(0),
fThetaMin(0.),
fThetaMax(0.),
fDtheta(0.),
fnthetab(0),
fCut(kLow),
fZones(0),
fhEffAPt(0),
fhEffLPt(0),
fhEffHPt(0),
fhLX(0),
fhLY(0),
fhLZ(0),
fBkg(0.),
fTableTitle(0),
fDescription(0),
fInt(0),
fibx(0),
fiby(0),
fibz(0)
{
}
AliFastMuonTriggerEff::AliFastMuonTriggerEff(const AliFastMuonTriggerEff& eff)
:AliFastResponse(eff),
fPtMin(0.),
fPtMax(0.),
fDpt(0.),
fnptb(0),
fPhiMin(0.),
fPhiMax(0.),
fDphi(0.),
fnphib(0),
fThetaMin(0.),
fThetaMax(0.),
fDtheta(0.),
fnthetab(0),
fCut(kLow),
fZones(0),
fhEffAPt(0),
fhEffLPt(0),
fhEffHPt(0),
fhLX(0),
fhLY(0),
fhLZ(0),
fBkg(0.),
fTableTitle(0),
fDescription(0),
fInt(0),
fibx(0),
fiby(0),
fibz(0)
{
eff.Copy(*this);
}
void AliFastMuonTriggerEff::SetCut(Int_t cut)
{
if(cut==kLow){
printf("Selecting Low Pt cut\n");
}else if(cut==kHigh){
printf("Selecting High Pt cut\n");
}else if(cut==kAny){
printf("Selecting Lowest Pt cut\n");
}else{
printf("Don't know cut %d! Selecting Low Pt cut\n",cut);
cut=kLow;
}
fCut = cut;
}
Int_t AliFastMuonTriggerEff::SetBkgLevel(Float_t Bkg)
{
if((Bkg!=0.)) {
printf("%s: Warning: requested Bkg: %f\n",
__FILE__,Bkg);
fBkg=0.;
printf("A consistent treatement of the trigger probability\n");
printf("within the framework of the fast simulation requires\n");
printf("requires background 0\n");
printf("%s: fBkg: set to %f\n",
__FILE__,fBkg);
} else {
fBkg=Bkg;
}
if(fZones!=0.) {
Init();
}
return 0;
}
Int_t AliFastMuonTriggerEff::ForceBkgLevel(Float_t Bkg)
{
if((Bkg!=0.)) {
printf("%s: Warning: requested Bkg: %f\n",
__FILE__,Bkg);
printf("A consistent treatement of the trigger probability\n");
printf("within the framework of the fast simulation\n");
printf("requires background 0");
printf("%s: Continue with fBkg: %f\n",
__FILE__,Bkg);
}
fBkg=Bkg;
if(fZones!=0.) {
Init();
}
return 0;
}
Int_t AliFastMuonTriggerEff::LoadTables(const Char_t *namet){
Char_t hNameA[100],hNameL[100],hNameH[100];
snprintf(hNameA, 100, "hEffAPt%s",namet);
snprintf(hNameL, 100, "hEffLPt%s",namet);
snprintf(hNameH, 100, "hEffHPt%s",namet);
fhEffAPt = (TH3F*)gDirectory->Get(hNameA);
fhEffLPt = (TH3F*)gDirectory->Get(hNameL);
fhEffHPt = (TH3F*)gDirectory->Get(hNameH);
if(!fhEffAPt){
PLIN; printf("%s: histogram %s not found\n",__FILE__,hNameA);
return -1;
}
if(!fhEffLPt){
PLIN; printf("%s: histogram %s not found\n",__FILE__,hNameL);
return -2;
}
if(!fhEffHPt){
PLIN; printf("%s: histogram %s not found\n",__FILE__,hNameH);
return -3;
}
return 0;
}
void AliFastMuonTriggerEff::Init()
{
fZones=0;
Char_t file[100]="$(ALICE_ROOT)/FASTSIM/data/MUONtriggerLUT_V2.4nvdn.root";
printf("Initializing %s / %s\n", fName.Data(), fTitle.Data());
printf("using data from file: %s\n",file);
printf("AliFastMuonTriggerEff: Initialization with background level: %f\n",fBkg);
TFile *f = new TFile(file);
if(f->IsZombie()) {
PLIN; printf("Cannot open file: %s\n",file);
return;
}
f->ls();
Int_t intb=0;
Char_t namet[10];
if(TMath::Abs(fBkg)<0.00001){
snprintf(namet, 10, "00");
}else if(TMath::Abs(fBkg-0.5)<0.00001){
snprintf(namet, 10, "05");
}else if(TMath::Abs(fBkg-1.0)<0.00001){
snprintf(namet, 10, "10");
}else{
PLIN; printf("A table for Bkg level: %f does not exists\n",fBkg);
intb=1;
}
if(intb){
PLIN; printf("Interpolating Bkg level: %f\n",fBkg);
TH3F* ha1,*hl1,*hh1,*ha2,*hl2,*hh2,*ha0,*hl0,*hh0;
Char_t name1[10],name2[10]; Float_t b1,b2;
if(fBkg>0&&fBkg<0.5){
snprintf(name1,10, "00");
snprintf(name2,10, "05");
b1=0.;
b2=0.5;
}else if(fBkg>0.5){
snprintf(name1, 10, "05");
snprintf(name2, 10, "10");
b1=0.5;
b2=1.0;
if(fBkg>1.0){
for(Int_t i=0; i<10;i++){
PLIN; printf("WARNING!!!! You are extrapolating above background 1.0\n");
}
}
}else{
PLIN; printf("Bkg level: %f is not supported\n",fBkg);
return;
}
if(LoadTables(name1)){
PLIN; printf("Error in loading trigger tables\n");
return;
}
PLIN; printf("We use tables for %f and %f to interpolate %f Bkg level\n",b1,b2,fBkg);
ha0=(TH3F*)fhEffAPt->Clone("hEffAPtXX"); ha0->Reset();
hl0=(TH3F*)fhEffLPt->Clone("hEffLPtXX"); hl0->Reset();
hh0=(TH3F*)fhEffHPt->Clone("hEffHPtXX"); hh0->Reset();
ha1=fhEffAPt;
hl1=fhEffLPt;
hh1=fhEffHPt;
if(LoadTables(name2)){
PLIN; printf("Error in loading trigger tables\n");
return;
}
ha2=fhEffAPt;
hl2=fhEffLPt;
hh2=fhEffHPt;
fhEffAPt=ha0;
fhEffLPt=hl0;
fhEffHPt=hh0;
Int_t nnx=ha0->GetNbinsX()+1;
Int_t nny=ha0->GetNbinsY()+1;
Int_t nnz=ha0->GetNbinsZ()+1;
for(Int_t ix=0; ix<=nnx; ix++){
for(Int_t iy=0; iy<=nny; iy++){
for(Int_t iz=0; iz<=nnz; iz++){
Double_t y1,y2; Float_t cont;
y1=ha1->GetBinContent(ix,iy,iz); y2=ha2->GetBinContent(ix,iy,iz);
cont=Float_t(y1+(y2-y1)/(b2-b1)*(fBkg-b1)); if(cont>1)cont=1; if(cont<0)cont=0;
fhEffAPt->SetBinContent(ix,iy,iz,cont);
y1=hl1->GetBinContent(ix,iy,iz); y2=hl2->GetBinContent(ix,iy,iz);
cont=Float_t(y1+(y2-y1)/(b2-b1)*(fBkg-b1)); if(cont>1)cont=1; if(cont<0)cont=0;
fhEffLPt->SetBinContent(ix,iy,iz,cont);
y1=hh1->GetBinContent(ix,iy,iz); y2=hh2->GetBinContent(ix,iy,iz);
cont=Float_t(y1+(y2-y1)/(b2-b1)*(fBkg-b1)); if(cont>1)cont=1; if(cont<0)cont=0;
fhEffHPt->SetBinContent(ix,iy,iz,cont);
}
}
}
}else{
printf("Loading tables for background level: %f\n",fBkg);
if(LoadTables(namet)){
PLIN; printf("Error in loading trigger tables\n");
return;
}
}
fhEffAPt->SetDirectory(0);
fhEffLPt->SetDirectory(0);
fhEffHPt->SetDirectory(0);
fhLX=fhEffLPt->GetXaxis();
fhLY=fhEffLPt->GetYaxis();
fhLZ=fhEffLPt->GetZaxis();
if(f->Get("Description"))
{
fDescription=((TObjString*)f->Get("Description"))->GetString();
printf("%s\n",fDescription.Data());
}
fThetaMin = fhEffLPt->GetXaxis()->GetXmin();
fThetaMax = fhEffLPt->GetXaxis()->GetXmax();
fnthetab=fhEffLPt->GetNbinsX();
fDtheta = (fThetaMax-fThetaMin)/fnthetab;
fPhiMin = fhEffLPt->GetYaxis()->GetXmin();
fPhiMax = fhEffLPt->GetYaxis()->GetXmax();
fnphib=fhEffLPt->GetNbinsY();
fDphi = (fPhiMax-fPhiMin)/fnphib;
fPtMin=fhEffLPt->GetZaxis()->GetXmin();
fPtMax=fhEffLPt->GetZaxis()->GetXmax();
fnptb=fhEffLPt->GetNbinsZ();
fDpt = (fPtMax-fPtMin)/fnptb;
printf("***** This version of AliFastMuonTriggerEff can use both *****\n");
printf("***** new and old ALICE reference frames depending on *****\n");
printf("***** which LUT has been loaded. You can find below some *****\n");
printf("***** information on the current parametrization: *****\n");
printf("%4d bins in theta [%f:%f]\n",fnthetab,fThetaMin,fThetaMax);
printf("%4d bins in phi [%f:%f]\n",fnphib,fPhiMin,fPhiMax);
printf("%4d bins in pt [%f:%f]\n",fnptb,fPtMin,fPtMax);
fZones=fnthetab*fnphib;
f->Close();
if(fInt==0) {
printf("Interpolation of trigger efficiencies is off!\n");
} else {
printf("Interpolation of trigger efficiencies is on!\n");
}
}
void AliFastMuonTriggerEff::Evaluate(Float_t charge, Float_t pt,Float_t theta,
Float_t phi, Float_t& effLow, Float_t& effHigh, Float_t& effAny)
{
#ifdef MYTRIGDEBUG
printf("Evaluate(ch=%2.0f, pt=%10.6f, theta=%7.2f, phi=%8.2f ...)\n",charge,pt,theta,phi);
#endif
effLow=0.;
effHigh=0.;
effAny=0;
if(fZones==0) {
printf("Call to uninitialized object of class: AliFastMuonTriggerEff\n");
return;
}
if(pt<0) {
printf("Warning: pt: %f < 0. GeV/c\n",pt);
return;
}
Int_t iPt = fhLZ->FindBin((Double_t)pt);
if(iPt>fnptb)iPt=fnptb;
Int_t iPhi = Int_t((phi-fPhiMin)/fDphi);
if(phi<fPhiMin)iPhi=iPhi-1;
Int_t iTheta = fhLX->FindBin((Double_t)theta);
#ifdef MYTRIGDEBUG
printf("Evaluate(ch=%2.0f, pt=%10.6f, theta=%7.2f, phi=%8.2f ...)\n",charge,pt,theta,phi);
printf(" 0:%1d iPt iTheta iPhi: %d %d %d\n",fInt,iPt,iTheta,iPhi);
#endif
iPhi=iPhi-2*fnphib*(iPhi/(2*fnphib));
#ifdef MYTRIGDEBUG
printf(" 1:%1d iPhi converted to: %d for angle equivalence\n",fInt,iPhi);
#endif
if(iPhi<0)iPhi=-iPhi-1;
if(iPhi>(fnphib-1))iPhi=2*fnphib-1-iPhi;
#ifdef MYTRIGDEBUG
printf(" 2:%1d iPhi converted to: %d for the symmetry of the spectrometer\n",fInt,iPhi);
#endif
if(charge==1.){
} else if(charge==-1.) {
iPhi=fnphib-1-iPhi;
#ifdef MYTRIGDEBUG
printf(" 3:%1d iPhi converted to: %d for the charge symmetry\n",fInt,iPhi);
#endif
} else {
printf("Warning: not understand charge: %f\n",charge);
return;
}
if(iTheta<=0||iTheta>fnthetab) {
printf("Warning: theta: %f outside acceptance\n",theta);
return;
}
if(iPt<0) {
printf("Warning: what do you mean with pt: %f <0?\n",pt);
return;
}
iPhi++;
#ifdef MYTRIGDEBUG
printf(" 4:%1d Getting: iTheta, iPhi, iPt: %d %d %d\n",
fInt,iTheta,iPhi,iPt);
#endif
effLow =fhEffLPt->GetBinContent(iTheta,iPhi,iPt);
effHigh=fhEffHPt->GetBinContent(iTheta,iPhi,iPt);
effAny =fhEffAPt->GetBinContent(iTheta,iPhi,iPt);
#ifdef MYTRIGDEBUG
printf(" 4:%1d Result: charge, iTheta, iPhi, iPt: %f %d %d %d effLow: %f, effHigh: %f, effAny: %f\n",
fInt,charge,iTheta,iPhi,iPt,effLow,effHigh,effAny);
#endif
if(fInt==1) {
Float_t angl,angh,anga;
Float_t effLowp,effHighp,effAnyp;
Float_t ptc=(iPt+0.5)*fDpt;
#ifdef MYTRIGDEBUG
printf(" 5:1 The center of current bin iPt: %d is: %f\n",iPt,ptc);
#endif
if(iPt==fnptb) {
#ifdef MYTRIGDEBUG
printf(" 6:1 No more points above! No interpolation is needed!\n");
#endif
return;
}else if(TMath::Abs(ptc-pt) < 1.e-10){
#ifdef MYTRIGDEBUG
printf(" 6:1 No interpolation is needed!\n");
#endif
return;
}else if(ptc>pt){
if(iPt>1) {
effLowp =fhEffLPt->GetBinContent(iTheta,iPhi,iPt-1);
effHighp=fhEffHPt->GetBinContent(iTheta,iPhi,iPt-1);
effAnyp =fhEffAPt->GetBinContent(iTheta,iPhi,iPt-1);
#ifdef MYTRIGDEBUG
printf(" 7:1 A simple look to previous point: %d: %f %f\n",iPt-1,effLowp,effHighp);
#endif
} else {
effLowp=0.;
effHighp=0.;
effAnyp=0;
#ifdef MYTRIGDEBUG
printf(" 8:1 result is: %f %f %f\n",effLowp,effHighp,effAnyp);
#endif
}
angl=(effLow-effLowp)/fDpt;
angh=(effHigh-effHighp)/fDpt;
anga=(effAny-effAnyp)/fDpt;
}else{
if(iPt<fnptb) {
effLowp =fhEffLPt->GetBinContent(iTheta,iPhi,iPt+1);
effHighp=fhEffHPt->GetBinContent(iTheta,iPhi,iPt+1);
effAnyp =fhEffAPt->GetBinContent(iTheta,iPhi,iPt+1);
#ifdef MYTRIGDEBUG
printf(" 7:1 A simple look to next point: %d: %f %f %f\n",iPt-1,effLowp,effHighp,effAnyp);
#endif
} else {
effLowp=effLow;
effHighp=effHigh;
effAnyp=effAny;
#ifdef MYTRIGDEBUG
printf(" 8:1 result is: pt: %f %f %f\n",effLowp,effHighp,effAnyp);
#endif
}
angl=(effLowp-effLow)/fDpt;
angh=(effHighp-effHigh)/fDpt;
anga=(effAnyp-effAny)/fDpt;
}
effLow=effLow+angl*(pt-ptc);
effHigh=effHigh+angh*(pt-ptc);
effAny=effAny+anga*(pt-ptc);
#ifdef MYTRIGDEBUG
printf(" 9:1 the interpolation coefficients are: %f %f %f\n",angl,angh,anga);
#endif
}
#ifdef MYTRIGDEBUG
printf("10:%1d effLow, effHigh=%f %f %f\n",fInt,effLow,effHigh,effAny);
#endif
return;
}
Float_t AliFastMuonTriggerEff::Evaluate(Float_t charge, Float_t pt,
Float_t theta, Float_t phi)
{
if(fZones==0) {
printf("Call to uninitialized object of class: AliFastMuonTriggerEff\n");
return 0.;
}
Float_t eff;
Float_t effLow, effHigh, effAny;
Evaluate(charge,pt,theta,phi,effLow,effHigh,effAny);
if (fCut == kLow)
eff = effLow;
else if (fCut == kHigh)
eff = effHigh;
else if (fCut == kAny)
eff = effAny;
else
eff = 0;
return eff;
}
AliFastMuonTriggerEff& AliFastMuonTriggerEff::operator=(const AliFastMuonTriggerEff& rhs)
{
rhs.Copy(*this);
return *this;
}
AliFastMuonTriggerEff.cxx:1 AliFastMuonTriggerEff.cxx:2 AliFastMuonTriggerEff.cxx:3 AliFastMuonTriggerEff.cxx:4 AliFastMuonTriggerEff.cxx:5 AliFastMuonTriggerEff.cxx:6 AliFastMuonTriggerEff.cxx:7 AliFastMuonTriggerEff.cxx:8 AliFastMuonTriggerEff.cxx:9 AliFastMuonTriggerEff.cxx:10 AliFastMuonTriggerEff.cxx:11 AliFastMuonTriggerEff.cxx:12 AliFastMuonTriggerEff.cxx:13 AliFastMuonTriggerEff.cxx:14 AliFastMuonTriggerEff.cxx:15 AliFastMuonTriggerEff.cxx:16 AliFastMuonTriggerEff.cxx:17 AliFastMuonTriggerEff.cxx:18 AliFastMuonTriggerEff.cxx:19 AliFastMuonTriggerEff.cxx:20 AliFastMuonTriggerEff.cxx:21 AliFastMuonTriggerEff.cxx:22 AliFastMuonTriggerEff.cxx:23 AliFastMuonTriggerEff.cxx:24 AliFastMuonTriggerEff.cxx:25 AliFastMuonTriggerEff.cxx:26 AliFastMuonTriggerEff.cxx:27 AliFastMuonTriggerEff.cxx:28 AliFastMuonTriggerEff.cxx:29 AliFastMuonTriggerEff.cxx:30 AliFastMuonTriggerEff.cxx:31 AliFastMuonTriggerEff.cxx:32 AliFastMuonTriggerEff.cxx:33 AliFastMuonTriggerEff.cxx:34 AliFastMuonTriggerEff.cxx:35 AliFastMuonTriggerEff.cxx:36 AliFastMuonTriggerEff.cxx:37 AliFastMuonTriggerEff.cxx:38 AliFastMuonTriggerEff.cxx:39 AliFastMuonTriggerEff.cxx:40 AliFastMuonTriggerEff.cxx:41 AliFastMuonTriggerEff.cxx:42 AliFastMuonTriggerEff.cxx:43 AliFastMuonTriggerEff.cxx:44 AliFastMuonTriggerEff.cxx:45 AliFastMuonTriggerEff.cxx:46 AliFastMuonTriggerEff.cxx:47 AliFastMuonTriggerEff.cxx:48 AliFastMuonTriggerEff.cxx:49 AliFastMuonTriggerEff.cxx:50 AliFastMuonTriggerEff.cxx:51 AliFastMuonTriggerEff.cxx:52 AliFastMuonTriggerEff.cxx:53 AliFastMuonTriggerEff.cxx:54 AliFastMuonTriggerEff.cxx:55 AliFastMuonTriggerEff.cxx:56 AliFastMuonTriggerEff.cxx:57 AliFastMuonTriggerEff.cxx:58 AliFastMuonTriggerEff.cxx:59 AliFastMuonTriggerEff.cxx:60 AliFastMuonTriggerEff.cxx:61 AliFastMuonTriggerEff.cxx:62 AliFastMuonTriggerEff.cxx:63 AliFastMuonTriggerEff.cxx:64 AliFastMuonTriggerEff.cxx:65 AliFastMuonTriggerEff.cxx:66 AliFastMuonTriggerEff.cxx:67 AliFastMuonTriggerEff.cxx:68 AliFastMuonTriggerEff.cxx:69 AliFastMuonTriggerEff.cxx:70 AliFastMuonTriggerEff.cxx:71 AliFastMuonTriggerEff.cxx:72 AliFastMuonTriggerEff.cxx:73 AliFastMuonTriggerEff.cxx:74 AliFastMuonTriggerEff.cxx:75 AliFastMuonTriggerEff.cxx:76 AliFastMuonTriggerEff.cxx:77 AliFastMuonTriggerEff.cxx:78 AliFastMuonTriggerEff.cxx:79 AliFastMuonTriggerEff.cxx:80 AliFastMuonTriggerEff.cxx:81 AliFastMuonTriggerEff.cxx:82 AliFastMuonTriggerEff.cxx:83 AliFastMuonTriggerEff.cxx:84 AliFastMuonTriggerEff.cxx:85 AliFastMuonTriggerEff.cxx:86 AliFastMuonTriggerEff.cxx:87 AliFastMuonTriggerEff.cxx:88 AliFastMuonTriggerEff.cxx:89 AliFastMuonTriggerEff.cxx:90 AliFastMuonTriggerEff.cxx:91 AliFastMuonTriggerEff.cxx:92 AliFastMuonTriggerEff.cxx:93 AliFastMuonTriggerEff.cxx:94 AliFastMuonTriggerEff.cxx:95 AliFastMuonTriggerEff.cxx:96 AliFastMuonTriggerEff.cxx:97 AliFastMuonTriggerEff.cxx:98 AliFastMuonTriggerEff.cxx:99 AliFastMuonTriggerEff.cxx:100 AliFastMuonTriggerEff.cxx:101 AliFastMuonTriggerEff.cxx:102 AliFastMuonTriggerEff.cxx:103 AliFastMuonTriggerEff.cxx:104 AliFastMuonTriggerEff.cxx:105 AliFastMuonTriggerEff.cxx:106 AliFastMuonTriggerEff.cxx:107 AliFastMuonTriggerEff.cxx:108 AliFastMuonTriggerEff.cxx:109 AliFastMuonTriggerEff.cxx:110 AliFastMuonTriggerEff.cxx:111 AliFastMuonTriggerEff.cxx:112 AliFastMuonTriggerEff.cxx:113 AliFastMuonTriggerEff.cxx:114 AliFastMuonTriggerEff.cxx:115 AliFastMuonTriggerEff.cxx:116 AliFastMuonTriggerEff.cxx:117 AliFastMuonTriggerEff.cxx:118 AliFastMuonTriggerEff.cxx:119 AliFastMuonTriggerEff.cxx:120 AliFastMuonTriggerEff.cxx:121 AliFastMuonTriggerEff.cxx:122 AliFastMuonTriggerEff.cxx:123 AliFastMuonTriggerEff.cxx:124 AliFastMuonTriggerEff.cxx:125 AliFastMuonTriggerEff.cxx:126 AliFastMuonTriggerEff.cxx:127 AliFastMuonTriggerEff.cxx:128 AliFastMuonTriggerEff.cxx:129 AliFastMuonTriggerEff.cxx:130 AliFastMuonTriggerEff.cxx:131 AliFastMuonTriggerEff.cxx:132 AliFastMuonTriggerEff.cxx:133 AliFastMuonTriggerEff.cxx:134 AliFastMuonTriggerEff.cxx:135 AliFastMuonTriggerEff.cxx:136 AliFastMuonTriggerEff.cxx:137 AliFastMuonTriggerEff.cxx:138 AliFastMuonTriggerEff.cxx:139 AliFastMuonTriggerEff.cxx:140 AliFastMuonTriggerEff.cxx:141 AliFastMuonTriggerEff.cxx:142 AliFastMuonTriggerEff.cxx:143 AliFastMuonTriggerEff.cxx:144 AliFastMuonTriggerEff.cxx:145 AliFastMuonTriggerEff.cxx:146 AliFastMuonTriggerEff.cxx:147 AliFastMuonTriggerEff.cxx:148 AliFastMuonTriggerEff.cxx:149 AliFastMuonTriggerEff.cxx:150 AliFastMuonTriggerEff.cxx:151 AliFastMuonTriggerEff.cxx:152 AliFastMuonTriggerEff.cxx:153 AliFastMuonTriggerEff.cxx:154 AliFastMuonTriggerEff.cxx:155 AliFastMuonTriggerEff.cxx:156 AliFastMuonTriggerEff.cxx:157 AliFastMuonTriggerEff.cxx:158 AliFastMuonTriggerEff.cxx:159 AliFastMuonTriggerEff.cxx:160 AliFastMuonTriggerEff.cxx:161 AliFastMuonTriggerEff.cxx:162 AliFastMuonTriggerEff.cxx:163 AliFastMuonTriggerEff.cxx:164 AliFastMuonTriggerEff.cxx:165 AliFastMuonTriggerEff.cxx:166 AliFastMuonTriggerEff.cxx:167 AliFastMuonTriggerEff.cxx:168 AliFastMuonTriggerEff.cxx:169 AliFastMuonTriggerEff.cxx:170 AliFastMuonTriggerEff.cxx:171 AliFastMuonTriggerEff.cxx:172 AliFastMuonTriggerEff.cxx:173 AliFastMuonTriggerEff.cxx:174 AliFastMuonTriggerEff.cxx:175 AliFastMuonTriggerEff.cxx:176 AliFastMuonTriggerEff.cxx:177 AliFastMuonTriggerEff.cxx:178 AliFastMuonTriggerEff.cxx:179 AliFastMuonTriggerEff.cxx:180 AliFastMuonTriggerEff.cxx:181 AliFastMuonTriggerEff.cxx:182 AliFastMuonTriggerEff.cxx:183 AliFastMuonTriggerEff.cxx:184 AliFastMuonTriggerEff.cxx:185 AliFastMuonTriggerEff.cxx:186 AliFastMuonTriggerEff.cxx:187 AliFastMuonTriggerEff.cxx:188 AliFastMuonTriggerEff.cxx:189 AliFastMuonTriggerEff.cxx:190 AliFastMuonTriggerEff.cxx:191 AliFastMuonTriggerEff.cxx:192 AliFastMuonTriggerEff.cxx:193 AliFastMuonTriggerEff.cxx:194 AliFastMuonTriggerEff.cxx:195 AliFastMuonTriggerEff.cxx:196 AliFastMuonTriggerEff.cxx:197 AliFastMuonTriggerEff.cxx:198 AliFastMuonTriggerEff.cxx:199 AliFastMuonTriggerEff.cxx:200 AliFastMuonTriggerEff.cxx:201 AliFastMuonTriggerEff.cxx:202 AliFastMuonTriggerEff.cxx:203 AliFastMuonTriggerEff.cxx:204 AliFastMuonTriggerEff.cxx:205 AliFastMuonTriggerEff.cxx:206 AliFastMuonTriggerEff.cxx:207 AliFastMuonTriggerEff.cxx:208 AliFastMuonTriggerEff.cxx:209 AliFastMuonTriggerEff.cxx:210 AliFastMuonTriggerEff.cxx:211 AliFastMuonTriggerEff.cxx:212 AliFastMuonTriggerEff.cxx:213 AliFastMuonTriggerEff.cxx:214 AliFastMuonTriggerEff.cxx:215 AliFastMuonTriggerEff.cxx:216 AliFastMuonTriggerEff.cxx:217 AliFastMuonTriggerEff.cxx:218 AliFastMuonTriggerEff.cxx:219 AliFastMuonTriggerEff.cxx:220 AliFastMuonTriggerEff.cxx:221 AliFastMuonTriggerEff.cxx:222 AliFastMuonTriggerEff.cxx:223 AliFastMuonTriggerEff.cxx:224 AliFastMuonTriggerEff.cxx:225 AliFastMuonTriggerEff.cxx:226 AliFastMuonTriggerEff.cxx:227 AliFastMuonTriggerEff.cxx:228 AliFastMuonTriggerEff.cxx:229 AliFastMuonTriggerEff.cxx:230 AliFastMuonTriggerEff.cxx:231 AliFastMuonTriggerEff.cxx:232 AliFastMuonTriggerEff.cxx:233 AliFastMuonTriggerEff.cxx:234 AliFastMuonTriggerEff.cxx:235 AliFastMuonTriggerEff.cxx:236 AliFastMuonTriggerEff.cxx:237 AliFastMuonTriggerEff.cxx:238 AliFastMuonTriggerEff.cxx:239 AliFastMuonTriggerEff.cxx:240 AliFastMuonTriggerEff.cxx:241 AliFastMuonTriggerEff.cxx:242 AliFastMuonTriggerEff.cxx:243 AliFastMuonTriggerEff.cxx:244 AliFastMuonTriggerEff.cxx:245 AliFastMuonTriggerEff.cxx:246 AliFastMuonTriggerEff.cxx:247 AliFastMuonTriggerEff.cxx:248 AliFastMuonTriggerEff.cxx:249 AliFastMuonTriggerEff.cxx:250 AliFastMuonTriggerEff.cxx:251 AliFastMuonTriggerEff.cxx:252 AliFastMuonTriggerEff.cxx:253 AliFastMuonTriggerEff.cxx:254 AliFastMuonTriggerEff.cxx:255 AliFastMuonTriggerEff.cxx:256 AliFastMuonTriggerEff.cxx:257 AliFastMuonTriggerEff.cxx:258 AliFastMuonTriggerEff.cxx:259 AliFastMuonTriggerEff.cxx:260 AliFastMuonTriggerEff.cxx:261 AliFastMuonTriggerEff.cxx:262 AliFastMuonTriggerEff.cxx:263 AliFastMuonTriggerEff.cxx:264 AliFastMuonTriggerEff.cxx:265 AliFastMuonTriggerEff.cxx:266 AliFastMuonTriggerEff.cxx:267 AliFastMuonTriggerEff.cxx:268 AliFastMuonTriggerEff.cxx:269 AliFastMuonTriggerEff.cxx:270 AliFastMuonTriggerEff.cxx:271 AliFastMuonTriggerEff.cxx:272 AliFastMuonTriggerEff.cxx:273 AliFastMuonTriggerEff.cxx:274 AliFastMuonTriggerEff.cxx:275 AliFastMuonTriggerEff.cxx:276 AliFastMuonTriggerEff.cxx:277 AliFastMuonTriggerEff.cxx:278 AliFastMuonTriggerEff.cxx:279 AliFastMuonTriggerEff.cxx:280 AliFastMuonTriggerEff.cxx:281 AliFastMuonTriggerEff.cxx:282 AliFastMuonTriggerEff.cxx:283 AliFastMuonTriggerEff.cxx:284 AliFastMuonTriggerEff.cxx:285 AliFastMuonTriggerEff.cxx:286 AliFastMuonTriggerEff.cxx:287 AliFastMuonTriggerEff.cxx:288 AliFastMuonTriggerEff.cxx:289 AliFastMuonTriggerEff.cxx:290 AliFastMuonTriggerEff.cxx:291 AliFastMuonTriggerEff.cxx:292 AliFastMuonTriggerEff.cxx:293 AliFastMuonTriggerEff.cxx:294 AliFastMuonTriggerEff.cxx:295 AliFastMuonTriggerEff.cxx:296 AliFastMuonTriggerEff.cxx:297 AliFastMuonTriggerEff.cxx:298 AliFastMuonTriggerEff.cxx:299 AliFastMuonTriggerEff.cxx:300 AliFastMuonTriggerEff.cxx:301 AliFastMuonTriggerEff.cxx:302 AliFastMuonTriggerEff.cxx:303 AliFastMuonTriggerEff.cxx:304 AliFastMuonTriggerEff.cxx:305 AliFastMuonTriggerEff.cxx:306 AliFastMuonTriggerEff.cxx:307 AliFastMuonTriggerEff.cxx:308 AliFastMuonTriggerEff.cxx:309 AliFastMuonTriggerEff.cxx:310 AliFastMuonTriggerEff.cxx:311 AliFastMuonTriggerEff.cxx:312 AliFastMuonTriggerEff.cxx:313 AliFastMuonTriggerEff.cxx:314 AliFastMuonTriggerEff.cxx:315 AliFastMuonTriggerEff.cxx:316 AliFastMuonTriggerEff.cxx:317 AliFastMuonTriggerEff.cxx:318 AliFastMuonTriggerEff.cxx:319 AliFastMuonTriggerEff.cxx:320 AliFastMuonTriggerEff.cxx:321 AliFastMuonTriggerEff.cxx:322 AliFastMuonTriggerEff.cxx:323 AliFastMuonTriggerEff.cxx:324 AliFastMuonTriggerEff.cxx:325 AliFastMuonTriggerEff.cxx:326 AliFastMuonTriggerEff.cxx:327 AliFastMuonTriggerEff.cxx:328 AliFastMuonTriggerEff.cxx:329 AliFastMuonTriggerEff.cxx:330 AliFastMuonTriggerEff.cxx:331 AliFastMuonTriggerEff.cxx:332 AliFastMuonTriggerEff.cxx:333 AliFastMuonTriggerEff.cxx:334 AliFastMuonTriggerEff.cxx:335 AliFastMuonTriggerEff.cxx:336 AliFastMuonTriggerEff.cxx:337 AliFastMuonTriggerEff.cxx:338 AliFastMuonTriggerEff.cxx:339 AliFastMuonTriggerEff.cxx:340 AliFastMuonTriggerEff.cxx:341 AliFastMuonTriggerEff.cxx:342 AliFastMuonTriggerEff.cxx:343 AliFastMuonTriggerEff.cxx:344 AliFastMuonTriggerEff.cxx:345 AliFastMuonTriggerEff.cxx:346 AliFastMuonTriggerEff.cxx:347 AliFastMuonTriggerEff.cxx:348 AliFastMuonTriggerEff.cxx:349 AliFastMuonTriggerEff.cxx:350 AliFastMuonTriggerEff.cxx:351 AliFastMuonTriggerEff.cxx:352 AliFastMuonTriggerEff.cxx:353 AliFastMuonTriggerEff.cxx:354 AliFastMuonTriggerEff.cxx:355 AliFastMuonTriggerEff.cxx:356 AliFastMuonTriggerEff.cxx:357 AliFastMuonTriggerEff.cxx:358 AliFastMuonTriggerEff.cxx:359 AliFastMuonTriggerEff.cxx:360 AliFastMuonTriggerEff.cxx:361 AliFastMuonTriggerEff.cxx:362 AliFastMuonTriggerEff.cxx:363 AliFastMuonTriggerEff.cxx:364 AliFastMuonTriggerEff.cxx:365 AliFastMuonTriggerEff.cxx:366 AliFastMuonTriggerEff.cxx:367 AliFastMuonTriggerEff.cxx:368 AliFastMuonTriggerEff.cxx:369 AliFastMuonTriggerEff.cxx:370 AliFastMuonTriggerEff.cxx:371 AliFastMuonTriggerEff.cxx:372 AliFastMuonTriggerEff.cxx:373 AliFastMuonTriggerEff.cxx:374 AliFastMuonTriggerEff.cxx:375 AliFastMuonTriggerEff.cxx:376 AliFastMuonTriggerEff.cxx:377 AliFastMuonTriggerEff.cxx:378 AliFastMuonTriggerEff.cxx:379 AliFastMuonTriggerEff.cxx:380 AliFastMuonTriggerEff.cxx:381 AliFastMuonTriggerEff.cxx:382 AliFastMuonTriggerEff.cxx:383 AliFastMuonTriggerEff.cxx:384 AliFastMuonTriggerEff.cxx:385 AliFastMuonTriggerEff.cxx:386 AliFastMuonTriggerEff.cxx:387 AliFastMuonTriggerEff.cxx:388 AliFastMuonTriggerEff.cxx:389 AliFastMuonTriggerEff.cxx:390 AliFastMuonTriggerEff.cxx:391 AliFastMuonTriggerEff.cxx:392 AliFastMuonTriggerEff.cxx:393 AliFastMuonTriggerEff.cxx:394 AliFastMuonTriggerEff.cxx:395 AliFastMuonTriggerEff.cxx:396 AliFastMuonTriggerEff.cxx:397 AliFastMuonTriggerEff.cxx:398 AliFastMuonTriggerEff.cxx:399 AliFastMuonTriggerEff.cxx:400 AliFastMuonTriggerEff.cxx:401 AliFastMuonTriggerEff.cxx:402 AliFastMuonTriggerEff.cxx:403 AliFastMuonTriggerEff.cxx:404 AliFastMuonTriggerEff.cxx:405 AliFastMuonTriggerEff.cxx:406 AliFastMuonTriggerEff.cxx:407 AliFastMuonTriggerEff.cxx:408 AliFastMuonTriggerEff.cxx:409 AliFastMuonTriggerEff.cxx:410 AliFastMuonTriggerEff.cxx:411 AliFastMuonTriggerEff.cxx:412 AliFastMuonTriggerEff.cxx:413 AliFastMuonTriggerEff.cxx:414 AliFastMuonTriggerEff.cxx:415 AliFastMuonTriggerEff.cxx:416 AliFastMuonTriggerEff.cxx:417 AliFastMuonTriggerEff.cxx:418 AliFastMuonTriggerEff.cxx:419 AliFastMuonTriggerEff.cxx:420 AliFastMuonTriggerEff.cxx:421 AliFastMuonTriggerEff.cxx:422 AliFastMuonTriggerEff.cxx:423 AliFastMuonTriggerEff.cxx:424 AliFastMuonTriggerEff.cxx:425 AliFastMuonTriggerEff.cxx:426 AliFastMuonTriggerEff.cxx:427 AliFastMuonTriggerEff.cxx:428 AliFastMuonTriggerEff.cxx:429 AliFastMuonTriggerEff.cxx:430 AliFastMuonTriggerEff.cxx:431 AliFastMuonTriggerEff.cxx:432 AliFastMuonTriggerEff.cxx:433 AliFastMuonTriggerEff.cxx:434 AliFastMuonTriggerEff.cxx:435 AliFastMuonTriggerEff.cxx:436 AliFastMuonTriggerEff.cxx:437 AliFastMuonTriggerEff.cxx:438 AliFastMuonTriggerEff.cxx:439 AliFastMuonTriggerEff.cxx:440 AliFastMuonTriggerEff.cxx:441 AliFastMuonTriggerEff.cxx:442 AliFastMuonTriggerEff.cxx:443 AliFastMuonTriggerEff.cxx:444 AliFastMuonTriggerEff.cxx:445 AliFastMuonTriggerEff.cxx:446 AliFastMuonTriggerEff.cxx:447 AliFastMuonTriggerEff.cxx:448 AliFastMuonTriggerEff.cxx:449 AliFastMuonTriggerEff.cxx:450 AliFastMuonTriggerEff.cxx:451 AliFastMuonTriggerEff.cxx:452 AliFastMuonTriggerEff.cxx:453 AliFastMuonTriggerEff.cxx:454 AliFastMuonTriggerEff.cxx:455 AliFastMuonTriggerEff.cxx:456 AliFastMuonTriggerEff.cxx:457 AliFastMuonTriggerEff.cxx:458 AliFastMuonTriggerEff.cxx:459 AliFastMuonTriggerEff.cxx:460 AliFastMuonTriggerEff.cxx:461 AliFastMuonTriggerEff.cxx:462 AliFastMuonTriggerEff.cxx:463 AliFastMuonTriggerEff.cxx:464 AliFastMuonTriggerEff.cxx:465 AliFastMuonTriggerEff.cxx:466 AliFastMuonTriggerEff.cxx:467 AliFastMuonTriggerEff.cxx:468 AliFastMuonTriggerEff.cxx:469 AliFastMuonTriggerEff.cxx:470 AliFastMuonTriggerEff.cxx:471 AliFastMuonTriggerEff.cxx:472 AliFastMuonTriggerEff.cxx:473 AliFastMuonTriggerEff.cxx:474 AliFastMuonTriggerEff.cxx:475 AliFastMuonTriggerEff.cxx:476 AliFastMuonTriggerEff.cxx:477 AliFastMuonTriggerEff.cxx:478 AliFastMuonTriggerEff.cxx:479 AliFastMuonTriggerEff.cxx:480 AliFastMuonTriggerEff.cxx:481 AliFastMuonTriggerEff.cxx:482 AliFastMuonTriggerEff.cxx:483 AliFastMuonTriggerEff.cxx:484 AliFastMuonTriggerEff.cxx:485 AliFastMuonTriggerEff.cxx:486 AliFastMuonTriggerEff.cxx:487 AliFastMuonTriggerEff.cxx:488 AliFastMuonTriggerEff.cxx:489 AliFastMuonTriggerEff.cxx:490 AliFastMuonTriggerEff.cxx:491 AliFastMuonTriggerEff.cxx:492 AliFastMuonTriggerEff.cxx:493 AliFastMuonTriggerEff.cxx:494 AliFastMuonTriggerEff.cxx:495 AliFastMuonTriggerEff.cxx:496 AliFastMuonTriggerEff.cxx:497 AliFastMuonTriggerEff.cxx:498 AliFastMuonTriggerEff.cxx:499 AliFastMuonTriggerEff.cxx:500 AliFastMuonTriggerEff.cxx:501 AliFastMuonTriggerEff.cxx:502 AliFastMuonTriggerEff.cxx:503 AliFastMuonTriggerEff.cxx:504 AliFastMuonTriggerEff.cxx:505 AliFastMuonTriggerEff.cxx:506 AliFastMuonTriggerEff.cxx:507 AliFastMuonTriggerEff.cxx:508 AliFastMuonTriggerEff.cxx:509 AliFastMuonTriggerEff.cxx:510 AliFastMuonTriggerEff.cxx:511 AliFastMuonTriggerEff.cxx:512 AliFastMuonTriggerEff.cxx:513 AliFastMuonTriggerEff.cxx:514 AliFastMuonTriggerEff.cxx:515 AliFastMuonTriggerEff.cxx:516 AliFastMuonTriggerEff.cxx:517 AliFastMuonTriggerEff.cxx:518 AliFastMuonTriggerEff.cxx:519 AliFastMuonTriggerEff.cxx:520 AliFastMuonTriggerEff.cxx:521 AliFastMuonTriggerEff.cxx:522 AliFastMuonTriggerEff.cxx:523 AliFastMuonTriggerEff.cxx:524 AliFastMuonTriggerEff.cxx:525 AliFastMuonTriggerEff.cxx:526 AliFastMuonTriggerEff.cxx:527 AliFastMuonTriggerEff.cxx:528 AliFastMuonTriggerEff.cxx:529 AliFastMuonTriggerEff.cxx:530 AliFastMuonTriggerEff.cxx:531 AliFastMuonTriggerEff.cxx:532 AliFastMuonTriggerEff.cxx:533 AliFastMuonTriggerEff.cxx:534 AliFastMuonTriggerEff.cxx:535 AliFastMuonTriggerEff.cxx:536 AliFastMuonTriggerEff.cxx:537 AliFastMuonTriggerEff.cxx:538 AliFastMuonTriggerEff.cxx:539 AliFastMuonTriggerEff.cxx:540 AliFastMuonTriggerEff.cxx:541 AliFastMuonTriggerEff.cxx:542 AliFastMuonTriggerEff.cxx:543 AliFastMuonTriggerEff.cxx:544 AliFastMuonTriggerEff.cxx:545 AliFastMuonTriggerEff.cxx:546 AliFastMuonTriggerEff.cxx:547 AliFastMuonTriggerEff.cxx:548 AliFastMuonTriggerEff.cxx:549 AliFastMuonTriggerEff.cxx:550 AliFastMuonTriggerEff.cxx:551