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$ */

//-----------------------------------------------------------------------
// Example of task (running locally, on AliEn and CAF),
// which provides standard way of calculating acceptance and efficiency
// between different steps of the procedure.
// The ouptut of the task is a AliCFContainer from which the efficiencies
// can be calculated
//-----------------------------------------------------------------------
// Author : R. Vernet, Consorzio Cometa - Catania (it)
//-----------------------------------------------------------------------
// Modification done by X. Lopez - LPC Clermont (fr)
//-----------------------------------------------------------------------

#ifndef ALICFMUONSINGLETASK1_CXX
#define ALICFMUONSINGLETASK1_CXX

#include "AliCFMuonSingleTask1.h"
#include "AliHeader.h"
#include "AliESDHeader.h"
#include "AliStack.h"
#include "TParticle.h"
#include "TLorentzVector.h"
#include "TH1I.h"
#include "AliMCEvent.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliCFManager.h"
#include "AliCFCutBase.h"
#include "AliCFContainer.h"
#include "TChain.h"
#include "AliESDtrack.h"
#include "AliLog.h"
#include "AliESDMuonTrack.h"
#include "AliESDtrack.h"
#include "AliESDInputHandler.h"
#include "TCanvas.h"

ClassImp(AliCFMuonSingleTask1)

//__________________________________________________________________________
AliCFMuonSingleTask1::AliCFMuonSingleTask1() :
  fReadAODData(0),
  fCFManager(0x0),
  fQAHistList(0x0),
  fHistEventsProcessed(0x0),
  fNevt(0),
  fIsMC(kFALSE)
{
  //
  //Default ctor
  //
}
//___________________________________________________________________________
AliCFMuonSingleTask1::AliCFMuonSingleTask1(const Char_t* name) :
  AliAnalysisTaskSE(name),
  fReadAODData(0),
  fCFManager(0x0),
  fQAHistList(0x0),
  fHistEventsProcessed(0x0),
  fNevt(0),
  fIsMC(kFALSE)
{
  //
  // Constructor. Initialization of Inputs and Outputs
  //
  Info("AliCFMuonSingleTask1","Calling Constructor");

  fHistEventsProcessed = new TH1I("fHistEventsProcessed","",1,0,1) ;

  DefineOutput(1,TH1I::Class());
  DefineOutput(2,AliCFContainer::Class());

}

//___________________________________________________________________________
AliCFMuonSingleTask1& AliCFMuonSingleTask1::operator=(const AliCFMuonSingleTask1& c) 
{
  //
  // Assignment operator
  //
  if (this!=&c) {
    AliAnalysisTaskSE::operator=(c) ;
    fReadAODData = c.fReadAODData ;
    fCFManager  = c.fCFManager;
    fQAHistList = c.fQAHistList ;
    fHistEventsProcessed = c.fHistEventsProcessed;
    fNevt = c.fNevt ;
  }
  return *this;
}

//___________________________________________________________________________
AliCFMuonSingleTask1::AliCFMuonSingleTask1(const AliCFMuonSingleTask1& c) :
  AliAnalysisTaskSE(c),
  fReadAODData(c.fReadAODData),
  fCFManager(c.fCFManager),
  fQAHistList(c.fQAHistList),
  fHistEventsProcessed(c.fHistEventsProcessed),
  fNevt(c.fNevt),
  fIsMC(kFALSE)
{
  //
  // Copy Constructor
  //
}

//___________________________________________________________________________
AliCFMuonSingleTask1::~AliCFMuonSingleTask1() {
  //
  //destructor
  //
  Info("~AliCFMuonSingleTask1","Calling Destructor");
  if (fCFManager)           delete fCFManager ;
  if (fHistEventsProcessed) delete fHistEventsProcessed ;
  if (fQAHistList) {fQAHistList->Clear(); delete fQAHistList;}
}

//_________________________________________________
void AliCFMuonSingleTask1::UserExec(Option_t *)
{
  //
  // Main loop function
  //  

  Info("UserExec"," ") ;
  if (!fMCEvent && fIsMC) {  
    Error("UserExec","NO MC EVENT FOUND!");
    return;
  }

  fNevt++;
  fCFManager->SetEventInfo(fMCEvent);
  Double_t containerInput[18] ;

////////
//// MC
////////

// loop on the MC part

  if(fIsMC){

      for (Int_t ipart=0; ipart<fMCEvent->GetNumberOfTracks(); ipart++) { 
	  
	  AliMCParticle *mcPart  = (AliMCParticle*) fMCEvent->GetTrack(ipart);
	  TParticle *part = mcPart->Particle();

	  // rapidity and Pt cuts (default -4<y<-2.5 et 0<pt<20)
	  if (!fCFManager->CheckParticleCuts(AliCFManager::kPartAccCuts,mcPart)) continue;

	  // Selection of mu
	  Int_t pdg=part->GetPdgCode();
	  if(TMath::Abs(pdg)==13){

	      Float_t emc = part->Energy();
	      Float_t pzmc = part->Pz();           
	      Float_t rapmc = Rap(emc,pzmc);
	      Float_t phimc = part->Phi(); 
	      phimc = Phideg(phimc);
	      Float_t ptmc = part->Pt();
	      Float_t pmc = part->P();    
	      Float_t zmc = part->Vz();
	      Float_t etamc = part->Eta();
	      Float_t chargemc=0;
	      if(pdg==13) chargemc=-1;
	      if(pdg==-13) chargemc=1;
	      Float_t thetamc;
	      thetamc = TMath::Abs(-TMath::Pi()+TMath::ASin(ptmc/pmc)); // convention for EVGEN
	      Float_t ymc = part->Vy();
	      Float_t xmc = part->Vx();
	      Float_t rmc = TMath::Sqrt(xmc*xmc+ymc*ymc);   
      
	      containerInput[0] = etamc ;   
	      containerInput[1] = rapmc ;   
	      containerInput[2] = phimc ;   
	      containerInput[3] = ptmc ;   
	      containerInput[4] = pmc ;
	      containerInput[14] = zmc ;
	      containerInput[16] = chargemc ;
	      containerInput[17] = thetamc ;

	      // 10 var calculated only for ESD .i.e set at 1 in MC step
	      for(Int_t i=5; i<=13; i++){
		  containerInput[i] = 1;
	      }

	      containerInput[7] = 3;
	      containerInput[10] = rmc ; // radius at production      
	      containerInput[15] = 175. ;  // rabsmc
	      
	      // fill the container at the first step
	      fCFManager->GetParticleContainer()->Fill(containerInput,0);
	  }
      }
  }
  	      

////////
//// ESD
////////

  Int_t trig1MuL = 1 ,trig1MuH = 2, trigUSL = 4, trigUSH = 8, trigLSL = 16, trigLSH = 32;
  Int_t trig = 0;
 
  AliESDEvent *fESD; 
  AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*>
      (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
  if ( ! esdH) {
    AliError("Cannot get input event handler");    
    return;
  }    
  fESD = esdH->GetEvent();

// trigger 

  if (fESD->GetTriggerMask() & trig1MuL) trig = 1;
  if (fESD->GetTriggerMask() & trig1MuH) trig = 2;
  if (fESD->GetTriggerMask() & trigUSL)  trig = 3;
  if (fESD->GetTriggerMask() & trigUSH)  trig = 4;
  if (fESD->GetTriggerMask() & trigLSL)  trig = 5;
  if (fESD->GetTriggerMask() & trigLSH)  trig = 6;
 
// vertex 

  Float_t vx = -200 , vy = -200 , vz = -200, vt=-200;
  
  Double_t Ncont = 0.; 
  AliESDVertex* vertex = (AliESDVertex*) fESD->GetVertex();
  if (vertex->GetNContributors()) {
      vz = vertex->GetZ();
      vy = vertex->GetY();
      vx = vertex->GetX();
      vt=TMath::Sqrt(vx*vx+vy*vy);
      Ncont=vertex->GetNContributors();
  }

// tracks

  Int_t mult1 = fESD->GetNumberOfMuonTracks() ;

    for (Int_t j = 0; j<mult1; j++) {
	AliESDMuonTrack* mu1 = new AliESDMuonTrack(*(fESD->GetMuonTrack(j)));

	if (!mu1->ContainTrackerData()) { mu1=0; continue; }

	Float_t charger = mu1->Charge();
	Float_t er = mu1->E();
	Float_t pzr = mu1->Pz();
	Float_t rapr=Rap(er,pzr);
	Float_t phir = mu1->Phi(); 
	phir = Phideg(phir);
	Float_t ptr = mu1->Pt();
	Float_t pr = mu1->P();
	Float_t hit = mu1->GetNHit();	
	Float_t chi2 = mu1->GetChi2() / (2.0 * hit - 5);
	Int_t matchtrig = mu1->GetMatchTrigger();
	Float_t chi2match = mu1->GetChi2MatchTrigger();
	Float_t dcar = mu1->GetDCA();
	Float_t zr = mu1->GetZ();
	Float_t etar = mu1->Eta();
	Float_t rabs = mu1->GetRAtAbsorberEnd();
	Float_t thetar ;
	thetar = TMath::Abs(-TMath::Pi()+TMath::ASin(ptr/pr)); 

// rapidity and Pt cuts (default -4<y<-2.5 et 0<pt<20)
	if (!fCFManager->CheckParticleCuts(AliCFManager::kPartAccCuts,mu1)) continue;

        Float_t thetaAbs = 180.*(1.-TMath::ATan(rabs/505.)/TMath::Pi());
        if (thetaAbs<171 || thetaAbs>178) continue;

	containerInput[0] = etar ;   
	containerInput[1] = rapr ;   
	containerInput[2] = phir ;   
	containerInput[3] = ptr ;
	containerInput[4] = pr ;
	containerInput[5] = hit ;   
	containerInput[6] = chi2 ;   
	containerInput[7] = matchtrig ;   
	containerInput[8] = chi2match ;
	containerInput[9] = Ncont ;   
	containerInput[10] = vt ;   
	containerInput[11] = vz ;   
	containerInput[12] = trig ;
	containerInput[13] = dcar ;
	containerInput[14] = zr ;
	containerInput[15] = thetaAbs;
	containerInput[16] = charger ;
	containerInput[17] = thetar ;

// fill the container at the second step (for simu, first for data)
	if(fIsMC){
	    fCFManager->GetParticleContainer()->Fill(containerInput,1);
	}
	else{
	    fCFManager->GetParticleContainer()->Fill(containerInput,0);
	}
	

    }      // mu Loop

//  ----------
  fHistEventsProcessed->Fill(0);
  PostData(1,fHistEventsProcessed) ;
  PostData(2,fCFManager->GetParticleContainer()) ;

}
//________________________________________________________________________
Float_t AliCFMuonSingleTask1::Rap(Float_t e, Float_t pz) 
{
// calculate rapidity
    Float_t rap;
    if(e!=pz){
	rap = 0.5*TMath::Log((e+pz)/(e-pz));
	return rap;
    }
    else{
	rap = -200;
	return rap;
    }
}
//________________________________________________________________________
Float_t AliCFMuonSingleTask1::Phideg(Float_t phi) 
{
// calculate Phi in range [-180,180] 
    Float_t phideg;
    
	phideg = phi-TMath::Pi();
	phideg = phideg*57.296;
	return phideg;
}
//________________________________________________________________________
void AliCFMuonSingleTask1::Terminate(Option_t *) 
{
  // project pt (var[3]) from the two steps MC(0) and ESD(1)

    AliCFContainer *cont = dynamic_cast<AliCFContainer*> (GetOutputData(2));
    if ( ! cont ) {
      AliError("Cannot find container in file");
      return;
    }

    TH1D *kpt = cont->ShowProjection(16,0);
    TH1D *rpt = cont->ShowProjection(16,1);

    TCanvas *c1 = new TCanvas("AliCFMuonSingleTask1"," MC & ESD",10,10,510,510);
    c1->Divide(1,2);
    c1->cd(1);
    kpt->Draw("HIST");
    c1->cd(2);
    rpt->Draw("HIST");

}
//________________________________________________________________________

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