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$

#include "AliMUONTriggerEfficiencyCells.h"

#include "AliLog.h"
#include "AliMpConstants.h"

#include "TH1.h"
#include "TList.h"
#include "TFile.h"

#include <fstream>
#include <cassert>


//-----------------------------------------------------------------------------
/// \class AliMUONTriggerEfficiencyCells
/// A class to store and give access to the numerator and denominator 
/// histograms for the trigger chamber efficiency calculation.
///
/// \author Diego Stocco; Subatech, Nantes
//-----------------------------------------------------------------------------

/// \cond CLASSIMP
ClassImp(AliMUONTriggerEfficiencyCells)
/// \endcond

//__________________________________________________________________________
AliMUONTriggerEfficiencyCells::AliMUONTriggerEfficiencyCells()
:
TObject(),
fCountHistoList(0x0),
fNoCountHistoList(0x0),
fFiredStrips(0x0)
{
///  Default constructor.
  CheckConstants();
  ResetHistos();
}

//__________________________________________________________________________
AliMUONTriggerEfficiencyCells::AliMUONTriggerEfficiencyCells(const Char_t* filename,
							     const Char_t* listname)
:
TObject(),
fCountHistoList(0x0),
fNoCountHistoList(0x0),
fFiredStrips(0x0)
{
///  Constructor using an ASCII file.
  CheckConstants();
  ResetHistos();
  ReadFile(filename, listname);
}

//__________________________________________________________________________
AliMUONTriggerEfficiencyCells::AliMUONTriggerEfficiencyCells(TList *countHistoList)
:
TObject(),
fCountHistoList(countHistoList),
fNoCountHistoList(0x0),
fFiredStrips(0x0)
{
///  Constructor using a list of histograms with counts.
  CheckConstants();
  ResetHistos();
}

//_____________________________________________________________________________
AliMUONTriggerEfficiencyCells::AliMUONTriggerEfficiencyCells(const AliMUONTriggerEfficiencyCells& other)
:
TObject(other),
fCountHistoList(other.fCountHistoList),
fNoCountHistoList(other.fNoCountHistoList),
fFiredStrips(other.fFiredStrips)
{
/// Copy constructor

  for(Int_t chCath=0; chCath<fgkNplanes; chCath++){
    fBoardEfficiency[chCath] = other.fBoardEfficiency[chCath];
    fSlatEfficiency[chCath] = other.fSlatEfficiency[chCath];
  }
}

//_____________________________________________________________________________
AliMUONTriggerEfficiencyCells& AliMUONTriggerEfficiencyCells::operator=(const AliMUONTriggerEfficiencyCells& other)
{
  /// Asignment operator
  // check assignement to self
  if (this == &other)
    return *this;

  for(Int_t chCath=0; chCath<fgkNplanes; chCath++){
    fBoardEfficiency[chCath] = other.fBoardEfficiency[chCath];
    fSlatEfficiency[chCath] = other.fSlatEfficiency[chCath];
  }

  fCountHistoList = other.fCountHistoList;
  fNoCountHistoList = other.fNoCountHistoList;
  fFiredStrips = other.fFiredStrips;
    
  return *this;
}

//__________________________________________________________________________
AliMUONTriggerEfficiencyCells::~AliMUONTriggerEfficiencyCells()
{
///  Destructor.
  //delete [] fBoardEfficiency;
  //delete [] fSlatEfficiency;
  ResetHistos(kTRUE);
  delete fCountHistoList;
  delete fNoCountHistoList;
  delete fFiredStrips;
}


//_____________________________________________________________________________
void AliMUONTriggerEfficiencyCells::CheckConstants() const
{
/// Check consistence of redefined constants 

  assert(fgkNcathodes == AliMpConstants::NofCathodes());    
  assert(fgkNchambers == AliMpConstants::NofTriggerChambers());    
  assert(fgkNplanes == AliMpConstants::NofTriggerChambers() * fgkNcathodes);    
}


//__________________________________________________________________________
void
AliMUONTriggerEfficiencyCells::ResetHistos(Bool_t deleteObjects)
{
///  Sets our internal array contents to zero.

  for(Int_t chCath=0; chCath<fgkNplanes; chCath++){
    if ( deleteObjects ) {
      delete fBoardEfficiency[chCath];
      delete fSlatEfficiency[chCath];
    }
    fBoardEfficiency[chCath] = 0x0;
    fSlatEfficiency[chCath] = 0x0;
  }
}


//__________________________________________________________________________
void AliMUONTriggerEfficiencyCells::ReadFile(const Char_t* filename, const Char_t* listname)
{
///  Structure of file (.root) containing local board efficency
    TFile *file = TFile::Open(filename);
    if(!file || !file->IsOpen()) {
      AliError(Form("Can't read file %s",filename));
      return;
    }

    if ( ! fCountHistoList ) {
      fCountHistoList = new TList();
      fCountHistoList->SetOwner();
    }

    TH1F *histo = 0x0;
    const Char_t* histoName;

    TList* listInFile = 0x0;
    TString listNameString(listname);
    if ( ! listNameString.IsNull() )
      listInFile = (TList*)file->FindObjectAny(listname);

    for ( Int_t ide=0; ide<=kHchamberCount; ide++){
      for(Int_t ich=0; ich<fgkNchambers; ich++){

	// Efficiency per chamber is provided by 1 histogram only
	if ( ide == kHchamberCount ) ich = fgkNchambers;

	for(Int_t hType=0; hType<kNcounts; hType++){
	  histoName = GetHistoName(ide, hType, ich);
	  histo = ( listInFile ) ? (TH1F*)listInFile->FindObject(histoName) : (TH1F*)file->Get(histoName);
	  if ( ! histo ) {
	    AliWarning(Form("Cannot find %s in file. Skip histogram", histoName));
	    continue;
	  }
	  histo->SetDirectory(0);
	  fCountHistoList->Add(histo);

	  AliDebug(5,Form("Adding histogram %s\n",histoName));

	  // Do not fill efficiency per chamber histos
	  if ( ide == kHchamberCount )
	    continue;

	  // Fill old historgrams for consistency
	  if ( hType < kBothPlanesEff ){
	    TString newName = histoName;
	    newName.ReplaceAll("Counts","Eff");
	    TH1F* auxHisto = (TH1F*)histo->Clone(newName.Data());
	    auxHisto->SetDirectory(0);
	    if ( ide == kHboardCount )
	      fBoardEfficiency[fgkNchambers*hType+ich] = auxHisto;
	    else if ( ide == kHslatCount )
	      fSlatEfficiency[fgkNchambers*hType+ich] = auxHisto;

	    AliDebug(5,Form("Creating histogram %s\n",auxHisto->GetName()));
	  }
	  else if ( hType == kAllTracks ){
	    for ( Int_t icath=0; icath<2; icath++){
	      if ( ide == kHboardCount )
		fBoardEfficiency[fgkNchambers*icath+ich]->Divide(histo);
	      else if ( ide == kHslatCount )
		fSlatEfficiency[fgkNchambers*icath+ich]->Divide(histo);
	    }
	  }
	} // loop on count types
      } // loop on chambers
    } // loop on detection element type

    file->Close();
}


//__________________________________________________________________________
const Char_t*
AliMUONTriggerEfficiencyCells::GetHistoName(Int_t histoType, Int_t countType, 
					    Int_t chamber)
{
  //
  /// Return the name of the histogram for efficiency calculation
  //
  TString histoTypeName[kNcounts] = {"bendPlane", "nonBendPlane", "bothPlanes", "allTracks"};

  switch ( histoType ) {
  case kHchamberCount:
    return Form("%sCountChamber", histoTypeName[countType].Data());
  case kHslatCount:
    return Form("%sCountSlatCh%i", histoTypeName[countType].Data(), 11+chamber);
  case kHboardCount:
    return Form("%sCountBoardCh%i", histoTypeName[countType].Data(), 11+chamber);
  }

  return 0x0;
}

//__________________________________________________________________________
TH1F* AliMUONTriggerEfficiencyCells::GetOldEffHisto(Int_t histoType,
						    Int_t ich, Int_t icath) const
{
  //
  /// Compatibility with old class
  /// Gets the efficiency from the array
  /// (which are empty in the new implementation)

  switch ( histoType ) {
  case kHboardCount:
    return fBoardEfficiency[fgkNchambers*icath+ich];
  case kHslatCount:
    return fSlatEfficiency[fgkNchambers*icath+ich];
  }
  return 0x0;
}
 AliMUONTriggerEfficiencyCells.cxx:1
 AliMUONTriggerEfficiencyCells.cxx:2
 AliMUONTriggerEfficiencyCells.cxx:3
 AliMUONTriggerEfficiencyCells.cxx:4
 AliMUONTriggerEfficiencyCells.cxx:5
 AliMUONTriggerEfficiencyCells.cxx:6
 AliMUONTriggerEfficiencyCells.cxx:7
 AliMUONTriggerEfficiencyCells.cxx:8
 AliMUONTriggerEfficiencyCells.cxx:9
 AliMUONTriggerEfficiencyCells.cxx:10
 AliMUONTriggerEfficiencyCells.cxx:11
 AliMUONTriggerEfficiencyCells.cxx:12
 AliMUONTriggerEfficiencyCells.cxx:13
 AliMUONTriggerEfficiencyCells.cxx:14
 AliMUONTriggerEfficiencyCells.cxx:15
 AliMUONTriggerEfficiencyCells.cxx:16
 AliMUONTriggerEfficiencyCells.cxx:17
 AliMUONTriggerEfficiencyCells.cxx:18
 AliMUONTriggerEfficiencyCells.cxx:19
 AliMUONTriggerEfficiencyCells.cxx:20
 AliMUONTriggerEfficiencyCells.cxx:21
 AliMUONTriggerEfficiencyCells.cxx:22
 AliMUONTriggerEfficiencyCells.cxx:23
 AliMUONTriggerEfficiencyCells.cxx:24
 AliMUONTriggerEfficiencyCells.cxx:25
 AliMUONTriggerEfficiencyCells.cxx:26
 AliMUONTriggerEfficiencyCells.cxx:27
 AliMUONTriggerEfficiencyCells.cxx:28
 AliMUONTriggerEfficiencyCells.cxx:29
 AliMUONTriggerEfficiencyCells.cxx:30
 AliMUONTriggerEfficiencyCells.cxx:31
 AliMUONTriggerEfficiencyCells.cxx:32
 AliMUONTriggerEfficiencyCells.cxx:33
 AliMUONTriggerEfficiencyCells.cxx:34
 AliMUONTriggerEfficiencyCells.cxx:35
 AliMUONTriggerEfficiencyCells.cxx:36
 AliMUONTriggerEfficiencyCells.cxx:37
 AliMUONTriggerEfficiencyCells.cxx:38
 AliMUONTriggerEfficiencyCells.cxx:39
 AliMUONTriggerEfficiencyCells.cxx:40
 AliMUONTriggerEfficiencyCells.cxx:41
 AliMUONTriggerEfficiencyCells.cxx:42
 AliMUONTriggerEfficiencyCells.cxx:43
 AliMUONTriggerEfficiencyCells.cxx:44
 AliMUONTriggerEfficiencyCells.cxx:45
 AliMUONTriggerEfficiencyCells.cxx:46
 AliMUONTriggerEfficiencyCells.cxx:47
 AliMUONTriggerEfficiencyCells.cxx:48
 AliMUONTriggerEfficiencyCells.cxx:49
 AliMUONTriggerEfficiencyCells.cxx:50
 AliMUONTriggerEfficiencyCells.cxx:51
 AliMUONTriggerEfficiencyCells.cxx:52
 AliMUONTriggerEfficiencyCells.cxx:53
 AliMUONTriggerEfficiencyCells.cxx:54
 AliMUONTriggerEfficiencyCells.cxx:55
 AliMUONTriggerEfficiencyCells.cxx:56
 AliMUONTriggerEfficiencyCells.cxx:57
 AliMUONTriggerEfficiencyCells.cxx:58
 AliMUONTriggerEfficiencyCells.cxx:59
 AliMUONTriggerEfficiencyCells.cxx:60
 AliMUONTriggerEfficiencyCells.cxx:61
 AliMUONTriggerEfficiencyCells.cxx:62
 AliMUONTriggerEfficiencyCells.cxx:63
 AliMUONTriggerEfficiencyCells.cxx:64
 AliMUONTriggerEfficiencyCells.cxx:65
 AliMUONTriggerEfficiencyCells.cxx:66
 AliMUONTriggerEfficiencyCells.cxx:67
 AliMUONTriggerEfficiencyCells.cxx:68
 AliMUONTriggerEfficiencyCells.cxx:69
 AliMUONTriggerEfficiencyCells.cxx:70
 AliMUONTriggerEfficiencyCells.cxx:71
 AliMUONTriggerEfficiencyCells.cxx:72
 AliMUONTriggerEfficiencyCells.cxx:73
 AliMUONTriggerEfficiencyCells.cxx:74
 AliMUONTriggerEfficiencyCells.cxx:75
 AliMUONTriggerEfficiencyCells.cxx:76
 AliMUONTriggerEfficiencyCells.cxx:77
 AliMUONTriggerEfficiencyCells.cxx:78
 AliMUONTriggerEfficiencyCells.cxx:79
 AliMUONTriggerEfficiencyCells.cxx:80
 AliMUONTriggerEfficiencyCells.cxx:81
 AliMUONTriggerEfficiencyCells.cxx:82
 AliMUONTriggerEfficiencyCells.cxx:83
 AliMUONTriggerEfficiencyCells.cxx:84
 AliMUONTriggerEfficiencyCells.cxx:85
 AliMUONTriggerEfficiencyCells.cxx:86
 AliMUONTriggerEfficiencyCells.cxx:87
 AliMUONTriggerEfficiencyCells.cxx:88
 AliMUONTriggerEfficiencyCells.cxx:89
 AliMUONTriggerEfficiencyCells.cxx:90
 AliMUONTriggerEfficiencyCells.cxx:91
 AliMUONTriggerEfficiencyCells.cxx:92
 AliMUONTriggerEfficiencyCells.cxx:93
 AliMUONTriggerEfficiencyCells.cxx:94
 AliMUONTriggerEfficiencyCells.cxx:95
 AliMUONTriggerEfficiencyCells.cxx:96
 AliMUONTriggerEfficiencyCells.cxx:97
 AliMUONTriggerEfficiencyCells.cxx:98
 AliMUONTriggerEfficiencyCells.cxx:99
 AliMUONTriggerEfficiencyCells.cxx:100
 AliMUONTriggerEfficiencyCells.cxx:101
 AliMUONTriggerEfficiencyCells.cxx:102
 AliMUONTriggerEfficiencyCells.cxx:103
 AliMUONTriggerEfficiencyCells.cxx:104
 AliMUONTriggerEfficiencyCells.cxx:105
 AliMUONTriggerEfficiencyCells.cxx:106
 AliMUONTriggerEfficiencyCells.cxx:107
 AliMUONTriggerEfficiencyCells.cxx:108
 AliMUONTriggerEfficiencyCells.cxx:109
 AliMUONTriggerEfficiencyCells.cxx:110
 AliMUONTriggerEfficiencyCells.cxx:111
 AliMUONTriggerEfficiencyCells.cxx:112
 AliMUONTriggerEfficiencyCells.cxx:113
 AliMUONTriggerEfficiencyCells.cxx:114
 AliMUONTriggerEfficiencyCells.cxx:115
 AliMUONTriggerEfficiencyCells.cxx:116
 AliMUONTriggerEfficiencyCells.cxx:117
 AliMUONTriggerEfficiencyCells.cxx:118
 AliMUONTriggerEfficiencyCells.cxx:119
 AliMUONTriggerEfficiencyCells.cxx:120
 AliMUONTriggerEfficiencyCells.cxx:121
 AliMUONTriggerEfficiencyCells.cxx:122
 AliMUONTriggerEfficiencyCells.cxx:123
 AliMUONTriggerEfficiencyCells.cxx:124
 AliMUONTriggerEfficiencyCells.cxx:125
 AliMUONTriggerEfficiencyCells.cxx:126
 AliMUONTriggerEfficiencyCells.cxx:127
 AliMUONTriggerEfficiencyCells.cxx:128
 AliMUONTriggerEfficiencyCells.cxx:129
 AliMUONTriggerEfficiencyCells.cxx:130
 AliMUONTriggerEfficiencyCells.cxx:131
 AliMUONTriggerEfficiencyCells.cxx:132
 AliMUONTriggerEfficiencyCells.cxx:133
 AliMUONTriggerEfficiencyCells.cxx:134
 AliMUONTriggerEfficiencyCells.cxx:135
 AliMUONTriggerEfficiencyCells.cxx:136
 AliMUONTriggerEfficiencyCells.cxx:137
 AliMUONTriggerEfficiencyCells.cxx:138
 AliMUONTriggerEfficiencyCells.cxx:139
 AliMUONTriggerEfficiencyCells.cxx:140
 AliMUONTriggerEfficiencyCells.cxx:141
 AliMUONTriggerEfficiencyCells.cxx:142
 AliMUONTriggerEfficiencyCells.cxx:143
 AliMUONTriggerEfficiencyCells.cxx:144
 AliMUONTriggerEfficiencyCells.cxx:145
 AliMUONTriggerEfficiencyCells.cxx:146
 AliMUONTriggerEfficiencyCells.cxx:147
 AliMUONTriggerEfficiencyCells.cxx:148
 AliMUONTriggerEfficiencyCells.cxx:149
 AliMUONTriggerEfficiencyCells.cxx:150
 AliMUONTriggerEfficiencyCells.cxx:151
 AliMUONTriggerEfficiencyCells.cxx:152
 AliMUONTriggerEfficiencyCells.cxx:153
 AliMUONTriggerEfficiencyCells.cxx:154
 AliMUONTriggerEfficiencyCells.cxx:155
 AliMUONTriggerEfficiencyCells.cxx:156
 AliMUONTriggerEfficiencyCells.cxx:157
 AliMUONTriggerEfficiencyCells.cxx:158
 AliMUONTriggerEfficiencyCells.cxx:159
 AliMUONTriggerEfficiencyCells.cxx:160
 AliMUONTriggerEfficiencyCells.cxx:161
 AliMUONTriggerEfficiencyCells.cxx:162
 AliMUONTriggerEfficiencyCells.cxx:163
 AliMUONTriggerEfficiencyCells.cxx:164
 AliMUONTriggerEfficiencyCells.cxx:165
 AliMUONTriggerEfficiencyCells.cxx:166
 AliMUONTriggerEfficiencyCells.cxx:167
 AliMUONTriggerEfficiencyCells.cxx:168
 AliMUONTriggerEfficiencyCells.cxx:169
 AliMUONTriggerEfficiencyCells.cxx:170
 AliMUONTriggerEfficiencyCells.cxx:171
 AliMUONTriggerEfficiencyCells.cxx:172
 AliMUONTriggerEfficiencyCells.cxx:173
 AliMUONTriggerEfficiencyCells.cxx:174
 AliMUONTriggerEfficiencyCells.cxx:175
 AliMUONTriggerEfficiencyCells.cxx:176
 AliMUONTriggerEfficiencyCells.cxx:177
 AliMUONTriggerEfficiencyCells.cxx:178
 AliMUONTriggerEfficiencyCells.cxx:179
 AliMUONTriggerEfficiencyCells.cxx:180
 AliMUONTriggerEfficiencyCells.cxx:181
 AliMUONTriggerEfficiencyCells.cxx:182
 AliMUONTriggerEfficiencyCells.cxx:183
 AliMUONTriggerEfficiencyCells.cxx:184
 AliMUONTriggerEfficiencyCells.cxx:185
 AliMUONTriggerEfficiencyCells.cxx:186
 AliMUONTriggerEfficiencyCells.cxx:187
 AliMUONTriggerEfficiencyCells.cxx:188
 AliMUONTriggerEfficiencyCells.cxx:189
 AliMUONTriggerEfficiencyCells.cxx:190
 AliMUONTriggerEfficiencyCells.cxx:191
 AliMUONTriggerEfficiencyCells.cxx:192
 AliMUONTriggerEfficiencyCells.cxx:193
 AliMUONTriggerEfficiencyCells.cxx:194
 AliMUONTriggerEfficiencyCells.cxx:195
 AliMUONTriggerEfficiencyCells.cxx:196
 AliMUONTriggerEfficiencyCells.cxx:197
 AliMUONTriggerEfficiencyCells.cxx:198
 AliMUONTriggerEfficiencyCells.cxx:199
 AliMUONTriggerEfficiencyCells.cxx:200
 AliMUONTriggerEfficiencyCells.cxx:201
 AliMUONTriggerEfficiencyCells.cxx:202
 AliMUONTriggerEfficiencyCells.cxx:203
 AliMUONTriggerEfficiencyCells.cxx:204
 AliMUONTriggerEfficiencyCells.cxx:205
 AliMUONTriggerEfficiencyCells.cxx:206
 AliMUONTriggerEfficiencyCells.cxx:207
 AliMUONTriggerEfficiencyCells.cxx:208
 AliMUONTriggerEfficiencyCells.cxx:209
 AliMUONTriggerEfficiencyCells.cxx:210
 AliMUONTriggerEfficiencyCells.cxx:211
 AliMUONTriggerEfficiencyCells.cxx:212
 AliMUONTriggerEfficiencyCells.cxx:213
 AliMUONTriggerEfficiencyCells.cxx:214
 AliMUONTriggerEfficiencyCells.cxx:215
 AliMUONTriggerEfficiencyCells.cxx:216
 AliMUONTriggerEfficiencyCells.cxx:217
 AliMUONTriggerEfficiencyCells.cxx:218
 AliMUONTriggerEfficiencyCells.cxx:219
 AliMUONTriggerEfficiencyCells.cxx:220
 AliMUONTriggerEfficiencyCells.cxx:221
 AliMUONTriggerEfficiencyCells.cxx:222
 AliMUONTriggerEfficiencyCells.cxx:223
 AliMUONTriggerEfficiencyCells.cxx:224
 AliMUONTriggerEfficiencyCells.cxx:225
 AliMUONTriggerEfficiencyCells.cxx:226
 AliMUONTriggerEfficiencyCells.cxx:227
 AliMUONTriggerEfficiencyCells.cxx:228
 AliMUONTriggerEfficiencyCells.cxx:229
 AliMUONTriggerEfficiencyCells.cxx:230
 AliMUONTriggerEfficiencyCells.cxx:231
 AliMUONTriggerEfficiencyCells.cxx:232
 AliMUONTriggerEfficiencyCells.cxx:233
 AliMUONTriggerEfficiencyCells.cxx:234
 AliMUONTriggerEfficiencyCells.cxx:235
 AliMUONTriggerEfficiencyCells.cxx:236
 AliMUONTriggerEfficiencyCells.cxx:237
 AliMUONTriggerEfficiencyCells.cxx:238
 AliMUONTriggerEfficiencyCells.cxx:239
 AliMUONTriggerEfficiencyCells.cxx:240
 AliMUONTriggerEfficiencyCells.cxx:241
 AliMUONTriggerEfficiencyCells.cxx:242
 AliMUONTriggerEfficiencyCells.cxx:243
 AliMUONTriggerEfficiencyCells.cxx:244
 AliMUONTriggerEfficiencyCells.cxx:245
 AliMUONTriggerEfficiencyCells.cxx:246
 AliMUONTriggerEfficiencyCells.cxx:247
 AliMUONTriggerEfficiencyCells.cxx:248
 AliMUONTriggerEfficiencyCells.cxx:249
 AliMUONTriggerEfficiencyCells.cxx:250
 AliMUONTriggerEfficiencyCells.cxx:251
 AliMUONTriggerEfficiencyCells.cxx:252
 AliMUONTriggerEfficiencyCells.cxx:253
 AliMUONTriggerEfficiencyCells.cxx:254
 AliMUONTriggerEfficiencyCells.cxx:255
 AliMUONTriggerEfficiencyCells.cxx:256
 AliMUONTriggerEfficiencyCells.cxx:257
 AliMUONTriggerEfficiencyCells.cxx:258
 AliMUONTriggerEfficiencyCells.cxx:259
 AliMUONTriggerEfficiencyCells.cxx:260
 AliMUONTriggerEfficiencyCells.cxx:261
 AliMUONTriggerEfficiencyCells.cxx:262
 AliMUONTriggerEfficiencyCells.cxx:263
 AliMUONTriggerEfficiencyCells.cxx:264
 AliMUONTriggerEfficiencyCells.cxx:265
 AliMUONTriggerEfficiencyCells.cxx:266
 AliMUONTriggerEfficiencyCells.cxx:267
 AliMUONTriggerEfficiencyCells.cxx:268
 AliMUONTriggerEfficiencyCells.cxx:269
 AliMUONTriggerEfficiencyCells.cxx:270
 AliMUONTriggerEfficiencyCells.cxx:271
 AliMUONTriggerEfficiencyCells.cxx:272
 AliMUONTriggerEfficiencyCells.cxx:273