ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2007, 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$ */

// Analysis Task for the Quality Assurance of Cosmic Data
// Two track segments in the are matched in angle and charged. T
// The quality of the matching in is checked by comparing 
// the tarnsverse momenta and starting points of the track segments
//
// Author
// Andreas Morsch
// andreas.morsch@cern.ch

#include "TChain.h"
#include "TTree.h"

#include "TH1F.h"
#include "TH2F.h"
#include "TProfile.h"
#include "TList.h"

#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliAnalysisTaskCosmic.h"

ClassImp(AliAnalysisTaskCosmic)

//________________________________________________________________________
AliAnalysisTaskCosmic::AliAnalysisTaskCosmic(const char *name) 
    : AliAnalysisTaskSE(name),
      fHists(0),
      fhDZvsZ(0),
      fhDZvsPhi(0),
      fhCh1Ch2(0),
      fhPh1Ph2(0),
      fhCl1Cl2G(0),
      fhCl1Cl2B(0)
{
  //
  // Constructor
  //
    
    for (Int_t i = 0; i < 6; i++) {
	fhPt[i]      = 0;
	fhTheta[i]   = 0;
	fhPhi[i]     = 0;
	fhDPhi[i]    = 0;
	fhDTheta[i]  = 0;
	fhDZ[i]      = 0;
	fhDX[i]      = 0;
	fhDY[i]      = 0;
	fhDPt[i]     = 0;
	fhD1ovPt[i]  = 0;
	fpDPt[i]     = 0;
	fhDPtovPt[i] = 0;
	fpDPtS[i]    = 0;
    }
    
  DefineOutput(1,  TList::Class());
}

AliAnalysisTaskCosmic::AliAnalysisTaskCosmic(const AliAnalysisTaskCosmic& task)
    : AliAnalysisTaskSE(task),
      fHists(0),
      fhDZvsZ(0),
      fhDZvsPhi(0),
      fhCh1Ch2(0),
      fhPh1Ph2(0),
      fhCl1Cl2G(0),
      fhCl1Cl2B(0)
{
  // Copy constructor
    fHists       = new TList();
    fhDZvsZ      = (TH2F*)    ((task.fhDZvsZ)   ->Clone()); 
    fhDZvsPhi    = (TH2F*)    ((task.fhDZvsPhi) ->Clone());
    fhCh1Ch2     = (TH2F*)    ((task.fhCh1Ch2)  ->Clone());
    fhPh1Ph2     = (TH2F*)    ((task.fhPh1Ph2)  ->Clone());
    fhCl1Cl2G    = (TH2F*)    ((task.fhCl1Cl2G) ->Clone());
    fhCl1Cl2B    = (TH2F*)    ((task.fhCl1Cl2B) ->Clone());
    for (Int_t i = 0; i < 6; i++) {
	fhPt[i]       =    (TH1F*) ((task.fhPt[i])        ->Clone());
	fhTheta[i]    =    (TH1F*) ((task.fhTheta[i])     ->Clone());
	fhPhi[i]      =    (TH1F*) ((task.fhPhi[i])       ->Clone());
	fhDPhi[i]     =    (TH1F*) ((task.fhDPhi[i])      ->Clone());
	fhDTheta[i]   =    (TH1F*) ((task.fhDTheta[i])    ->Clone());
	fhDZ[i]       =    (TH1F*) ((task.fhDZ[i])        ->Clone());
	fhDX[i]       =    (TH1F*) ((task.fhDX[i])        ->Clone());
	fhDY[i]       =    (TH1F*) ((task.fhDY[i])        ->Clone());
	fhDPt[i]      =    (TH1F*) ((task.fhDPt[i])       ->Clone());
	fhD1ovPt[i]   =    (TH1F*) ((task.fhD1ovPt[i])    ->Clone());
	fhDPtovPt[i]  =    (TH1F*) ((task.fhDPtovPt[i])   ->Clone());

	fpDPt[i]      =    (TProfile*) ((task.fpDPt[i])       ->Clone());
	fpDPtS[i]     =    (TProfile*) ((task.fpDPtS[i])      ->Clone());
    }
}

//______________________________________________________________________________
AliAnalysisTaskCosmic& AliAnalysisTaskCosmic::operator=(const AliAnalysisTaskCosmic& task)
{
  // Assignment operator
  if(this!=&task) {

    AliAnalysisTaskSE::operator=(task);

    fHists       = new TList();
    fhDZvsZ      = (TH2F*)    ((task.fhDZvsZ)   ->Clone()); 
    fhDZvsPhi    = (TH2F*)    ((task.fhDZvsPhi) ->Clone());
    fhCh1Ch2     = (TH2F*)    ((task.fhCh1Ch2)  ->Clone());
    fhPh1Ph2     = (TH2F*)    ((task.fhPh1Ph2)  ->Clone());
    fhCl1Cl2G    = (TH2F*)    ((task.fhCl1Cl2G) ->Clone());
    fhCl1Cl2B    = (TH2F*)    ((task.fhCl1Cl2B) ->Clone());
    for (Int_t i = 0; i < 6; i++) {
	fhPt[i]       =    (TH1F*) ((task.fhPt[i])        ->Clone());
	fhTheta[i]    =    (TH1F*) ((task.fhTheta[i])     ->Clone());
	fhPhi[i]      =    (TH1F*) ((task.fhPhi[i])       ->Clone());
	fhDPhi[i]     =    (TH1F*) ((task.fhDPhi[i])      ->Clone());
	fhDTheta[i]   =    (TH1F*) ((task.fhDTheta[i])    ->Clone());
	fhDZ[i]       =    (TH1F*) ((task.fhDZ[i])        ->Clone());
	fhDX[i]       =    (TH1F*) ((task.fhDX[i])        ->Clone());
	fhDY[i]       =    (TH1F*) ((task.fhDY[i])        ->Clone());
	fhDPt[i]      =    (TH1F*) ((task.fhDPt[i])       ->Clone());
	fhD1ovPt[i]   =    (TH1F*) ((task.fhD1ovPt[i])    ->Clone());
	fhDPtovPt[i]  =    (TH1F*) ((task.fhDPtovPt[i])   ->Clone());

	fpDPt[i]      =    (TProfile*) ((task.fpDPt[i])       ->Clone());
	fpDPtS[i]     =    (TProfile*) ((task.fpDPtS[i])      ->Clone());
    }
  }
  return *this;
}


//________________________________________________________________________
void AliAnalysisTaskCosmic::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
    TString ext[6] = {"PC", "NC", "PZ", "NZ", "_Good", "_Bad"};
    
    char name[12];
    
    fHists = new TList();

    for (Int_t i = 0; i < 6; i++) {
	// Pt
	snprintf(name, 12, "fhPt%2s", ext[i].Data());
	fhPt[i]   = new TH1F(name, " pT distribution",        800, 0., 200.);
	fhPt[i]->SetXTitle("p_{T} [Gev]");
	// Phi
	snprintf(name, 12, "fhPhi%2s", ext[i].Data());
	fhPhi[i]   = new TH1F(name,   "Phi distribution",        62,  0., 2. * TMath::Pi());
	fhPhi[i]->SetXTitle("#phi [rad]");
	// Theta
	snprintf(name, 12, "fhTheta%2s", ext[i].Data());
	fhTheta[i]   = new TH1F(name,   "Theta distribution",    62,  0., TMath::Pi());    
	fhTheta[i]->SetXTitle("#theta [rad]");
	// Delta Phi
	snprintf(name, 12, "fhDPhi%2s", ext[i].Data());
	fhDPhi[i]   = new TH1F(name,   "DeltaPhi distribution",        320, -0.4, 0.4);
	fhDPhi[i]->SetXTitle("#Delta#phi [rad]");
	// Delta Theta
	snprintf(name, 12, "fhDTheta%2s", ext[i].Data());
	fhDTheta[i]   = new TH1F(name,   "DeltaTheta distribution",    320, -0.4, 0.4);    
	fhDTheta[i]->SetXTitle("#Delta#theta [rad]");
	// Delta Z
	snprintf(name, 12, "fhDZ%2s", ext[i].Data());
	fhDZ[i]   = new TH1F(name,   "DeltaZ distribution",        200, -10., 10.);
	fhDZ[i]->SetXTitle("#DeltaZ [cm]");
	// Delta X
	snprintf(name, 12, "fhDX%2s", ext[i].Data());
	fhDX[i]   = new TH1F(name,   "DeltaX distribution",        200, -10., 10.);
	fhDX[i]->SetXTitle("#DeltaX [cm]");
	// Delta Y
	snprintf(name, 12, "fhDY%2s", ext[i].Data());
	fhDY[i]   = new TH1F(name,   "DeltaY distribution",        200, -10, 10.);
	fhDY[i]->SetXTitle("#DeltaY [cm]");
	// Delta Pt
	snprintf(name, 12, "fhDPt%2s", ext[i].Data());
	fhDPt[i]   = new TH1F(name,   "DeltaPt distribution",        200, -20., 20.);
	fhDPt[i]->SetXTitle("#Delta p_{T}  [GeV]");

	// Delta 1/Pt
	snprintf(name, 12, "fhD1ovPt%2s", ext[i].Data());
	fhD1ovPt[i]   = new TH1F(name,   "Delta 1/Pt distribution",        200, -1., 1.);
	fhD1ovPt[i]->SetXTitle("#Delta 1/Pt");

	// Delta Pt over Pt
	snprintf(name, 12, "fhDPtovPt%2s", ext[i].Data());
	fhDPtovPt[i]   = new TH1F(name,   "DeltaPt/Pt distribution",        200, -2., 2.);
	fhDPtovPt[i]->SetXTitle("#DeltaPt/Pt");



	// Delta Pt/ Pt vs Pt
	snprintf(name, 12, "fpDPt%2s", ext[i].Data());
	fpDPt[i] = new TProfile(name, "#Delta Pt / Pt", 20, 0., 20., -1, 1., "S");
	fpDPt[i]->SetXTitle("p_{T} [GeV]");
	fpDPt[i]->SetYTitle("#Delta 1/p_{T} [GeV^{-1}]");
	// Delta Pt error
	snprintf(name, 12, "fpDPtS%2s", ext[i].Data());
	fpDPtS[i] = new TProfile(name, "#Delta Pt / <sigma>", 20, 0., 20., 0., 10.);
	fpDPtS[i]->SetXTitle("p_{T}");
	fpDPtS[i]->SetYTitle("#Delta p_{T} / <#sigma_{p_{T}}>");


	fHists->Add(fhPt[i]);
	fHists->Add(fhPhi[i]);
	fHists->Add(fhTheta[i]);
	fHists->Add(fhDPhi[i]);
	fHists->Add(fhDPt[i]);
	fHists->Add(fhD1ovPt[i]);
	fHists->Add(fhDPtovPt[i]);
	fHists->Add(fhDTheta[i]);
	fHists->Add(fhDZ[i]);
	fHists->Add(fhDX[i]);
	fHists->Add(fhDY[i]);
	fHists->Add(fpDPt[i]);
	fHists->Add(fpDPtS[i]);
    }

    fhDZvsZ      = new TH2F("fhDZvsZ",    "dz vs z", 500, -250., 250., 100, -10., 10.);
    fhDZvsZ->SetXTitle("z_{in} * sign(z_{in}) * sign(z_{out}) [cm]");
    fhDZvsZ->SetYTitle("#Delta z [cm]");
    
    
    fhDZvsPhi    = new TH2F("fhDZvsPhi", "dz vs phi", 36, 0., TMath::Pi(),  50, -2., 2.);

    fhCh1Ch2   = new TH2F("fCh1Ch2",   "ch1 vs ch2", 8, -2., 2., 8, -2., 2.);
    fhPh1Ph2   = new TH2F("fPh1Ph2",   "ph1 vs ph2", 128, 0., 2. * TMath::Pi(), 128, 0., 2. * TMath::Pi());
    fhCl1Cl2G  = new TH2F("fCl1Cl2G",   "#cl vs #cl", 200, 0., 200., 200, 0., 200);
    fhCl1Cl2B  = new TH2F("fCl1Cl2B",   "#cl vs #cl", 200, 0., 200., 200, 0., 200);    

    fHists->Add(fhDZvsZ);
    fHists->Add(fhDZvsPhi);
    fHists->Add(fhCh1Ch2);
    fHists->Add(fhPh1Ph2);
    fHists->Add(fhCl1Cl2G);
    fHists->Add(fhCl1Cl2B);
    fHists->SetOwner();

}

//________________________________________________________________________
void AliAnalysisTaskCosmic::UserExec(Option_t *) 
{
  // Main loop
  // Called for each event

  if (!fInputEvent) {
    Printf("ERROR: fESD not available");
    return;
  }
  
  AliESDEvent* esdE = (AliESDEvent*)fInputEvent;
  
  if (esdE->GetNumberOfTracks() != 2) {
      PostData(1, fHists);
      return;
  }
  
  
  for (Int_t iTracks = 0; iTracks < esdE->GetNumberOfTracks(); iTracks++) {
      AliESDtrack* track = esdE->GetTrack(iTracks);


      
//      const AliExternalTrackParam * track = trackG->GetTPCInnerParam();
//      if (!track) continue;
      // Pt cut
      Float_t pt     = track->Pt();
      Short_t charge = track->Charge();
      Float_t phi    = track->Phi();
      if (phi > 0. && phi  < TMath::Pi()) charge*=(-1);



      // TPC track
      UInt_t status = track->GetStatus();
      if ((status&AliESDtrack::kTPCrefit) ==0) continue;

      Int_t nClustersTPC = track->GetTPCclusters(0);
      if (nClustersTPC < 50) continue;
      
      // 

      Float_t z      = track->GetZ();
      Float_t x      = track->Xv();
      Float_t y      = track->Yv();
      Float_t theta  = track->Theta();


      const AliExternalTrackParam * trackOut = track->GetOuterParam();
      Float_t zOut = 0.;
      if (trackOut)zOut = trackOut->Zv();
      

      if (charge > 0) {
	  fhPt[kPosC]   ->Fill(pt);
      } else {
	  fhPt[kNegC]   ->Fill(pt);
      }

      //      if ((TMath::Abs(esdE->GetCurrentL3()) > 1.e-3) && (pt < 1. || pt > 50.)) continue;

      
      //
      if (charge > 0) {
	  fhPhi[kPosC]  ->Fill(phi);
	  fhTheta[kPosC]->Fill(theta);
      } else {
	  fhPhi[kNegC]  ->Fill(phi);
	  fhTheta[kNegC]->Fill(theta);
      }

      
      if (z > 0) {
	  fhPt[kPosZ]   ->Fill(pt);
	  fhPhi[kPosZ]  ->Fill(phi);
	  fhTheta[kPosZ]->Fill(theta);
      } else {
	  fhPt[kNegZ]   ->Fill(pt);
	  fhPhi[kNegZ]  ->Fill(phi);
	  fhTheta[kNegZ]->Fill(theta);
      }



      // Tracks coming from above
      if (phi > 0. &&  phi < TMath::Pi()) {
	  
//	  printf("Track#1 %5d %5d %13.3f %13.3f \n", Int_t(Entry()), iTracks, phi, zOut);
	  
	  Float_t dphiMin = 999.;
	  Float_t rMin    = 999.;
	  Int_t   jMin    = -1;
	  // Search for a matching track (in dphi-dtheta)
	  for (Int_t jTracks = 0; jTracks < esdE->GetNumberOfTracks(); jTracks++) {
	      if (jTracks == iTracks) continue;

	      AliESDtrack* track2 = esdE->GetTrack(jTracks);

	      UInt_t status2 = track2->GetStatus();
	      if ((status2&AliESDtrack::kTPCrefit) ==0) continue;

	      Int_t nClustersTPC2 = track2->GetTPCclusters(0);
	      if (nClustersTPC2 < 50) continue;
	      //	      if ((TMath::Abs(esdE->GetCurrentL3()) > 1.e-3) && (track2->Pt() < 1. || track2->Pt() > 50.)) continue;
//	      const AliExternalTrackParam * track2 = trackG2->GetTPCInnerParam();
//	      if (!track2) continue;
	      
	      Float_t phi2   = track2->Phi() - TMath::Pi();
	      Float_t theta2 = TMath::Pi()   - track2->Theta();
	      Float_t dphi   = phi2   - phi;
	      Float_t dtheta = theta2 - theta;
	      
	      if (dphi >  TMath::Pi()) dphi -= 2. * TMath::Pi();
	      if (dphi < -TMath::Pi()) dphi += 2. * TMath::Pi();

	      Float_t dR = TMath::Sqrt(dphi * dphi + dtheta * dtheta);

	      if (dR < rMin) {
		  rMin    = dR;
		  dphiMin = dphi;
		  jMin = jTracks;
	      }

	  } // tracks 2
	  if (jMin != -1) {
	      // we found a matching track candidate ...
	      AliESDtrack* track2 = esdE->GetTrack(jMin);
	      const AliExternalTrackParam * trackOut2 = track2->GetOuterParam();
	      Float_t zOut2 = 0.;
	      if (trackOut2) zOut2 = trackOut2->Zv();


	      Float_t theta2 = - track2->Theta() + TMath::Pi();
	      Float_t z2 = track2->GetZ();
	      Float_t x2 = track2->Xv();
	      Float_t y2 = track2->Yv();
	      Short_t charge2 = track2->Charge();
	      Float_t dz  = z2 - z;
	      Float_t dx  = x2 - x;
	      Float_t dy  = y2 - y;
	      Float_t pt1 = track->Pt();
	      Float_t pt2 = track2->Pt();
	      Float_t dpt = pt2 - pt1;
	      Float_t d1pt = 1./pt2 - 1./pt1;
	      
	      Float_t ptm = 0.5 * (pt1 + pt2);

	      Int_t nClustersTPC2 = track2->GetTPCclusters(0);

	      if (charge > 0.) {
		  fhDPhi[kPosC]  ->Fill(dphiMin);
		  fhDTheta[kPosC]->Fill(theta2 - theta);
	      } else {
		  fhDPhi[kNegC]  ->Fill(dphiMin);
		  fhDTheta[kNegC]->Fill(theta2 - theta);
	      }

	      if (z > 0.) {
		  fhDPhi[kPosZ]  ->Fill(dphiMin);
		  fhDTheta[kPosZ]->Fill(theta2 - theta);
	      } else {
		  fhDPhi[kNegZ]  ->Fill(dphiMin);
		  fhDTheta[kNegZ]->Fill(theta2 - theta);
	      }

	      if (TMath::Abs(dpt)/ptm > 0.5) {
		  fhDPhi[kBad]  ->Fill(dphiMin);
		  fhDTheta[kBad]->Fill(theta2 - theta);
	      } else {
		  fhDPhi[kGood]  ->Fill(dphiMin);
		  fhDTheta[kGood]->Fill(theta2 - theta);
	      }
	      // Good matches ...	      
//	      if (TMath::Abs(rMin < 0.04) && (charge == charge2) && TMath::Abs(dz) < 0.5 &&  TMath::Abs(dy) && TMath::Abs(dx) < 0.5 ) 
//	      if (TMath::Abs(rMin < 0.04) && (charge == charge2) && (zOut * zOut2) < 0.) 
	      if (TMath::Abs(rMin < 0.04) && (charge == charge2)) 
	      {

		  if (TMath::Abs(dpt)/ptm  < .1) {
		      fhCl1Cl2G->Fill(nClustersTPC, nClustersTPC2);
		  }
		  
		  if (TMath::Abs(dpt)/ptm  > .5) fhCl1Cl2B->Fill(nClustersTPC, nClustersTPC2);
		  fhPh1Ph2->Fill(track->Phi(), track2->Phi());


		  Double_t sigmaPt1 = TMath::Sqrt(track->GetSigma1Pt2());
		  Double_t sigmaPt2 = TMath::Sqrt(track->GetSigma1Pt2());
		  Double_t sigmaPt = 0.5 * TMath::Sqrt(sigmaPt1 * sigmaPt1 + sigmaPt2 * sigmaPt2);
		  if (TMath::Abs(dpt)/ptm > 0.2 && pt > 10. &&  charge > 0.)
//		      printf("Track#2 %5d %5d %13.3f %13.3f %13.3f %13.3f\n", Entry(), jMin, track2->Phi(), dz, dpt, zOut2);	      		  
		  if (TMath::Abs(zOut) > 1.e-10 && TMath::Abs(zOut2) > 1.e-10) fhDZvsZ->Fill(TMath::Abs(zOut) * zOut/zOut2, dz);
		  if (zOut * zOut2 > 0. && zOut < 0) fhDZvsPhi->Fill(phi, dz);
		  
		  fhCh1Ch2->Fill(charge, track2->Charge());
		  
		  
		  if (charge > 0.) {
		      fhDPt[kPosC]->Fill(dpt);
		      fhD1ovPt[kPosC]->Fill(d1pt);
		      fpDPt[kPosC]->Fill(ptm, d1pt);
		      if (ptm > 5. && ptm < 15.) fhDPtovPt[kPosC]->Fill(dpt/ptm);
		      fhDZ[kPosC]->Fill(dz);
		      fhDX[kPosC]->Fill(dx);
		      fhDY[kPosC]->Fill(dy);
		      fpDPtS[kPosC]->Fill(ptm, 2. * TMath::Abs(1./pt1 - 1./pt2)/sigmaPt);
		  } else {
		      fhDPt[kNegC]->Fill(dpt);
		      fhD1ovPt[kNegC]->Fill(d1pt);
		      fpDPt[kNegC]->Fill(ptm, d1pt);
		      if (ptm > 5. && ptm < 15.) fhDPtovPt[kNegC]->Fill(dpt/ptm);
		      fhDZ[kNegC]->Fill(dz);
		      fhDX[kNegC]->Fill(dx);
		      fhDY[kNegC]->Fill(dy);
		      fpDPtS[kNegC]->Fill(ptm, 2. * TMath::Abs(1./pt1 - 1./pt2)/sigmaPt);
		  }

		  if (z > 0.) {
		      fhDPt[kPosZ]->Fill(dpt);
		      fhD1ovPt[kPosZ]->Fill(d1pt);
		      fpDPt[kPosZ]->Fill(ptm, d1pt);
		      fhDZ[kPosZ]->Fill(dz);
		      fhDX[kPosZ]->Fill(dx);
		      fhDY[kPosZ]->Fill(dy);
		      fpDPtS[kPosZ]->Fill(ptm, 2. * TMath::Abs(1./pt1 - 1./pt2)/sigmaPt);
		  } else {
		      fhDPt[kNegZ]->Fill(dpt);
		      fhD1ovPt[kNegZ]->Fill(d1pt);
		      fpDPt[kNegZ]->Fill(ptm, d1pt);
		      fhDZ[kNegZ]->Fill(dz);
		      fhDX[kNegZ]->Fill(dx);
		      fhDY[kNegZ]->Fill(dy);
		      fpDPtS[kNegZ]->Fill(ptm, 2. * TMath::Abs(1./pt1 - 1./pt2)/sigmaPt);
		  } 


		  if (TMath::Abs(dpt)/ptm > 0.5) {
		      fhDPt[kBad]->Fill(dpt);
		      fpDPt[kBad]->Fill(ptm, TMath::Abs(dpt)/ptm);
		      fhDZ[kBad]->Fill(dz);
		      fhDX[kBad]->Fill(dx);
		      fhDY[kBad]->Fill(dy);
		      fpDPtS[kBad]->Fill(ptm, 2. * TMath::Abs(1./pt1 - 1./pt2)/sigmaPt);
		  } else {
		      fhDPt[kGood]->Fill(dpt);
		      fpDPt[kGood]->Fill(ptm, TMath::Abs(dpt)/ptm);
		      fhDZ[kGood]->Fill(dz);
		      fhDX[kGood]->Fill(dx);
		      fhDY[kGood]->Fill(dy);
		      fpDPtS[kGood]->Fill(ptm, 2. * TMath::Abs(1./pt1 - 1./pt2)/sigmaPt);
		  } 
		  
	      } // good matches
	  } // found possible match
      } // upper
  } // tracks 1
  PostData(1, fHists);
}      

//________________________________________________________________________
void AliAnalysisTaskCosmic::Terminate(Option_t *) 
{
}  
 AliAnalysisTaskCosmic.cxx:1
 AliAnalysisTaskCosmic.cxx:2
 AliAnalysisTaskCosmic.cxx:3
 AliAnalysisTaskCosmic.cxx:4
 AliAnalysisTaskCosmic.cxx:5
 AliAnalysisTaskCosmic.cxx:6
 AliAnalysisTaskCosmic.cxx:7
 AliAnalysisTaskCosmic.cxx:8
 AliAnalysisTaskCosmic.cxx:9
 AliAnalysisTaskCosmic.cxx:10
 AliAnalysisTaskCosmic.cxx:11
 AliAnalysisTaskCosmic.cxx:12
 AliAnalysisTaskCosmic.cxx:13
 AliAnalysisTaskCosmic.cxx:14
 AliAnalysisTaskCosmic.cxx:15
 AliAnalysisTaskCosmic.cxx:16
 AliAnalysisTaskCosmic.cxx:17
 AliAnalysisTaskCosmic.cxx:18
 AliAnalysisTaskCosmic.cxx:19
 AliAnalysisTaskCosmic.cxx:20
 AliAnalysisTaskCosmic.cxx:21
 AliAnalysisTaskCosmic.cxx:22
 AliAnalysisTaskCosmic.cxx:23
 AliAnalysisTaskCosmic.cxx:24
 AliAnalysisTaskCosmic.cxx:25
 AliAnalysisTaskCosmic.cxx:26
 AliAnalysisTaskCosmic.cxx:27
 AliAnalysisTaskCosmic.cxx:28
 AliAnalysisTaskCosmic.cxx:29
 AliAnalysisTaskCosmic.cxx:30
 AliAnalysisTaskCosmic.cxx:31
 AliAnalysisTaskCosmic.cxx:32
 AliAnalysisTaskCosmic.cxx:33
 AliAnalysisTaskCosmic.cxx:34
 AliAnalysisTaskCosmic.cxx:35
 AliAnalysisTaskCosmic.cxx:36
 AliAnalysisTaskCosmic.cxx:37
 AliAnalysisTaskCosmic.cxx:38
 AliAnalysisTaskCosmic.cxx:39
 AliAnalysisTaskCosmic.cxx:40
 AliAnalysisTaskCosmic.cxx:41
 AliAnalysisTaskCosmic.cxx:42
 AliAnalysisTaskCosmic.cxx:43
 AliAnalysisTaskCosmic.cxx:44
 AliAnalysisTaskCosmic.cxx:45
 AliAnalysisTaskCosmic.cxx:46
 AliAnalysisTaskCosmic.cxx:47
 AliAnalysisTaskCosmic.cxx:48
 AliAnalysisTaskCosmic.cxx:49
 AliAnalysisTaskCosmic.cxx:50
 AliAnalysisTaskCosmic.cxx:51
 AliAnalysisTaskCosmic.cxx:52
 AliAnalysisTaskCosmic.cxx:53
 AliAnalysisTaskCosmic.cxx:54
 AliAnalysisTaskCosmic.cxx:55
 AliAnalysisTaskCosmic.cxx:56
 AliAnalysisTaskCosmic.cxx:57
 AliAnalysisTaskCosmic.cxx:58
 AliAnalysisTaskCosmic.cxx:59
 AliAnalysisTaskCosmic.cxx:60
 AliAnalysisTaskCosmic.cxx:61
 AliAnalysisTaskCosmic.cxx:62
 AliAnalysisTaskCosmic.cxx:63
 AliAnalysisTaskCosmic.cxx:64
 AliAnalysisTaskCosmic.cxx:65
 AliAnalysisTaskCosmic.cxx:66
 AliAnalysisTaskCosmic.cxx:67
 AliAnalysisTaskCosmic.cxx:68
 AliAnalysisTaskCosmic.cxx:69
 AliAnalysisTaskCosmic.cxx:70
 AliAnalysisTaskCosmic.cxx:71
 AliAnalysisTaskCosmic.cxx:72
 AliAnalysisTaskCosmic.cxx:73
 AliAnalysisTaskCosmic.cxx:74
 AliAnalysisTaskCosmic.cxx:75
 AliAnalysisTaskCosmic.cxx:76
 AliAnalysisTaskCosmic.cxx:77
 AliAnalysisTaskCosmic.cxx:78
 AliAnalysisTaskCosmic.cxx:79
 AliAnalysisTaskCosmic.cxx:80
 AliAnalysisTaskCosmic.cxx:81
 AliAnalysisTaskCosmic.cxx:82
 AliAnalysisTaskCosmic.cxx:83
 AliAnalysisTaskCosmic.cxx:84
 AliAnalysisTaskCosmic.cxx:85
 AliAnalysisTaskCosmic.cxx:86
 AliAnalysisTaskCosmic.cxx:87
 AliAnalysisTaskCosmic.cxx:88
 AliAnalysisTaskCosmic.cxx:89
 AliAnalysisTaskCosmic.cxx:90
 AliAnalysisTaskCosmic.cxx:91
 AliAnalysisTaskCosmic.cxx:92
 AliAnalysisTaskCosmic.cxx:93
 AliAnalysisTaskCosmic.cxx:94
 AliAnalysisTaskCosmic.cxx:95
 AliAnalysisTaskCosmic.cxx:96
 AliAnalysisTaskCosmic.cxx:97
 AliAnalysisTaskCosmic.cxx:98
 AliAnalysisTaskCosmic.cxx:99
 AliAnalysisTaskCosmic.cxx:100
 AliAnalysisTaskCosmic.cxx:101
 AliAnalysisTaskCosmic.cxx:102
 AliAnalysisTaskCosmic.cxx:103
 AliAnalysisTaskCosmic.cxx:104
 AliAnalysisTaskCosmic.cxx:105
 AliAnalysisTaskCosmic.cxx:106
 AliAnalysisTaskCosmic.cxx:107
 AliAnalysisTaskCosmic.cxx:108
 AliAnalysisTaskCosmic.cxx:109
 AliAnalysisTaskCosmic.cxx:110
 AliAnalysisTaskCosmic.cxx:111
 AliAnalysisTaskCosmic.cxx:112
 AliAnalysisTaskCosmic.cxx:113
 AliAnalysisTaskCosmic.cxx:114
 AliAnalysisTaskCosmic.cxx:115
 AliAnalysisTaskCosmic.cxx:116
 AliAnalysisTaskCosmic.cxx:117
 AliAnalysisTaskCosmic.cxx:118
 AliAnalysisTaskCosmic.cxx:119
 AliAnalysisTaskCosmic.cxx:120
 AliAnalysisTaskCosmic.cxx:121
 AliAnalysisTaskCosmic.cxx:122
 AliAnalysisTaskCosmic.cxx:123
 AliAnalysisTaskCosmic.cxx:124
 AliAnalysisTaskCosmic.cxx:125
 AliAnalysisTaskCosmic.cxx:126
 AliAnalysisTaskCosmic.cxx:127
 AliAnalysisTaskCosmic.cxx:128
 AliAnalysisTaskCosmic.cxx:129
 AliAnalysisTaskCosmic.cxx:130
 AliAnalysisTaskCosmic.cxx:131
 AliAnalysisTaskCosmic.cxx:132
 AliAnalysisTaskCosmic.cxx:133
 AliAnalysisTaskCosmic.cxx:134
 AliAnalysisTaskCosmic.cxx:135
 AliAnalysisTaskCosmic.cxx:136
 AliAnalysisTaskCosmic.cxx:137
 AliAnalysisTaskCosmic.cxx:138
 AliAnalysisTaskCosmic.cxx:139
 AliAnalysisTaskCosmic.cxx:140
 AliAnalysisTaskCosmic.cxx:141
 AliAnalysisTaskCosmic.cxx:142
 AliAnalysisTaskCosmic.cxx:143
 AliAnalysisTaskCosmic.cxx:144
 AliAnalysisTaskCosmic.cxx:145
 AliAnalysisTaskCosmic.cxx:146
 AliAnalysisTaskCosmic.cxx:147
 AliAnalysisTaskCosmic.cxx:148
 AliAnalysisTaskCosmic.cxx:149
 AliAnalysisTaskCosmic.cxx:150
 AliAnalysisTaskCosmic.cxx:151
 AliAnalysisTaskCosmic.cxx:152
 AliAnalysisTaskCosmic.cxx:153
 AliAnalysisTaskCosmic.cxx:154
 AliAnalysisTaskCosmic.cxx:155
 AliAnalysisTaskCosmic.cxx:156
 AliAnalysisTaskCosmic.cxx:157
 AliAnalysisTaskCosmic.cxx:158
 AliAnalysisTaskCosmic.cxx:159
 AliAnalysisTaskCosmic.cxx:160
 AliAnalysisTaskCosmic.cxx:161
 AliAnalysisTaskCosmic.cxx:162
 AliAnalysisTaskCosmic.cxx:163
 AliAnalysisTaskCosmic.cxx:164
 AliAnalysisTaskCosmic.cxx:165
 AliAnalysisTaskCosmic.cxx:166
 AliAnalysisTaskCosmic.cxx:167
 AliAnalysisTaskCosmic.cxx:168
 AliAnalysisTaskCosmic.cxx:169
 AliAnalysisTaskCosmic.cxx:170
 AliAnalysisTaskCosmic.cxx:171
 AliAnalysisTaskCosmic.cxx:172
 AliAnalysisTaskCosmic.cxx:173
 AliAnalysisTaskCosmic.cxx:174
 AliAnalysisTaskCosmic.cxx:175
 AliAnalysisTaskCosmic.cxx:176
 AliAnalysisTaskCosmic.cxx:177
 AliAnalysisTaskCosmic.cxx:178
 AliAnalysisTaskCosmic.cxx:179
 AliAnalysisTaskCosmic.cxx:180
 AliAnalysisTaskCosmic.cxx:181
 AliAnalysisTaskCosmic.cxx:182
 AliAnalysisTaskCosmic.cxx:183
 AliAnalysisTaskCosmic.cxx:184
 AliAnalysisTaskCosmic.cxx:185
 AliAnalysisTaskCosmic.cxx:186
 AliAnalysisTaskCosmic.cxx:187
 AliAnalysisTaskCosmic.cxx:188
 AliAnalysisTaskCosmic.cxx:189
 AliAnalysisTaskCosmic.cxx:190
 AliAnalysisTaskCosmic.cxx:191
 AliAnalysisTaskCosmic.cxx:192
 AliAnalysisTaskCosmic.cxx:193
 AliAnalysisTaskCosmic.cxx:194
 AliAnalysisTaskCosmic.cxx:195
 AliAnalysisTaskCosmic.cxx:196
 AliAnalysisTaskCosmic.cxx:197
 AliAnalysisTaskCosmic.cxx:198
 AliAnalysisTaskCosmic.cxx:199
 AliAnalysisTaskCosmic.cxx:200
 AliAnalysisTaskCosmic.cxx:201
 AliAnalysisTaskCosmic.cxx:202
 AliAnalysisTaskCosmic.cxx:203
 AliAnalysisTaskCosmic.cxx:204
 AliAnalysisTaskCosmic.cxx:205
 AliAnalysisTaskCosmic.cxx:206
 AliAnalysisTaskCosmic.cxx:207
 AliAnalysisTaskCosmic.cxx:208
 AliAnalysisTaskCosmic.cxx:209
 AliAnalysisTaskCosmic.cxx:210
 AliAnalysisTaskCosmic.cxx:211
 AliAnalysisTaskCosmic.cxx:212
 AliAnalysisTaskCosmic.cxx:213
 AliAnalysisTaskCosmic.cxx:214
 AliAnalysisTaskCosmic.cxx:215
 AliAnalysisTaskCosmic.cxx:216
 AliAnalysisTaskCosmic.cxx:217
 AliAnalysisTaskCosmic.cxx:218
 AliAnalysisTaskCosmic.cxx:219
 AliAnalysisTaskCosmic.cxx:220
 AliAnalysisTaskCosmic.cxx:221
 AliAnalysisTaskCosmic.cxx:222
 AliAnalysisTaskCosmic.cxx:223
 AliAnalysisTaskCosmic.cxx:224
 AliAnalysisTaskCosmic.cxx:225
 AliAnalysisTaskCosmic.cxx:226
 AliAnalysisTaskCosmic.cxx:227
 AliAnalysisTaskCosmic.cxx:228
 AliAnalysisTaskCosmic.cxx:229
 AliAnalysisTaskCosmic.cxx:230
 AliAnalysisTaskCosmic.cxx:231
 AliAnalysisTaskCosmic.cxx:232
 AliAnalysisTaskCosmic.cxx:233
 AliAnalysisTaskCosmic.cxx:234
 AliAnalysisTaskCosmic.cxx:235
 AliAnalysisTaskCosmic.cxx:236
 AliAnalysisTaskCosmic.cxx:237
 AliAnalysisTaskCosmic.cxx:238
 AliAnalysisTaskCosmic.cxx:239
 AliAnalysisTaskCosmic.cxx:240
 AliAnalysisTaskCosmic.cxx:241
 AliAnalysisTaskCosmic.cxx:242
 AliAnalysisTaskCosmic.cxx:243
 AliAnalysisTaskCosmic.cxx:244
 AliAnalysisTaskCosmic.cxx:245
 AliAnalysisTaskCosmic.cxx:246
 AliAnalysisTaskCosmic.cxx:247
 AliAnalysisTaskCosmic.cxx:248
 AliAnalysisTaskCosmic.cxx:249
 AliAnalysisTaskCosmic.cxx:250
 AliAnalysisTaskCosmic.cxx:251
 AliAnalysisTaskCosmic.cxx:252
 AliAnalysisTaskCosmic.cxx:253
 AliAnalysisTaskCosmic.cxx:254
 AliAnalysisTaskCosmic.cxx:255
 AliAnalysisTaskCosmic.cxx:256
 AliAnalysisTaskCosmic.cxx:257
 AliAnalysisTaskCosmic.cxx:258
 AliAnalysisTaskCosmic.cxx:259
 AliAnalysisTaskCosmic.cxx:260
 AliAnalysisTaskCosmic.cxx:261
 AliAnalysisTaskCosmic.cxx:262
 AliAnalysisTaskCosmic.cxx:263
 AliAnalysisTaskCosmic.cxx:264
 AliAnalysisTaskCosmic.cxx:265
 AliAnalysisTaskCosmic.cxx:266
 AliAnalysisTaskCosmic.cxx:267
 AliAnalysisTaskCosmic.cxx:268
 AliAnalysisTaskCosmic.cxx:269
 AliAnalysisTaskCosmic.cxx:270
 AliAnalysisTaskCosmic.cxx:271
 AliAnalysisTaskCosmic.cxx:272
 AliAnalysisTaskCosmic.cxx:273
 AliAnalysisTaskCosmic.cxx:274
 AliAnalysisTaskCosmic.cxx:275
 AliAnalysisTaskCosmic.cxx:276
 AliAnalysisTaskCosmic.cxx:277
 AliAnalysisTaskCosmic.cxx:278
 AliAnalysisTaskCosmic.cxx:279
 AliAnalysisTaskCosmic.cxx:280
 AliAnalysisTaskCosmic.cxx:281
 AliAnalysisTaskCosmic.cxx:282
 AliAnalysisTaskCosmic.cxx:283
 AliAnalysisTaskCosmic.cxx:284
 AliAnalysisTaskCosmic.cxx:285
 AliAnalysisTaskCosmic.cxx:286
 AliAnalysisTaskCosmic.cxx:287
 AliAnalysisTaskCosmic.cxx:288
 AliAnalysisTaskCosmic.cxx:289
 AliAnalysisTaskCosmic.cxx:290
 AliAnalysisTaskCosmic.cxx:291
 AliAnalysisTaskCosmic.cxx:292
 AliAnalysisTaskCosmic.cxx:293
 AliAnalysisTaskCosmic.cxx:294
 AliAnalysisTaskCosmic.cxx:295
 AliAnalysisTaskCosmic.cxx:296
 AliAnalysisTaskCosmic.cxx:297
 AliAnalysisTaskCosmic.cxx:298
 AliAnalysisTaskCosmic.cxx:299
 AliAnalysisTaskCosmic.cxx:300
 AliAnalysisTaskCosmic.cxx:301
 AliAnalysisTaskCosmic.cxx:302
 AliAnalysisTaskCosmic.cxx:303
 AliAnalysisTaskCosmic.cxx:304
 AliAnalysisTaskCosmic.cxx:305
 AliAnalysisTaskCosmic.cxx:306
 AliAnalysisTaskCosmic.cxx:307
 AliAnalysisTaskCosmic.cxx:308
 AliAnalysisTaskCosmic.cxx:309
 AliAnalysisTaskCosmic.cxx:310
 AliAnalysisTaskCosmic.cxx:311
 AliAnalysisTaskCosmic.cxx:312
 AliAnalysisTaskCosmic.cxx:313
 AliAnalysisTaskCosmic.cxx:314
 AliAnalysisTaskCosmic.cxx:315
 AliAnalysisTaskCosmic.cxx:316
 AliAnalysisTaskCosmic.cxx:317
 AliAnalysisTaskCosmic.cxx:318
 AliAnalysisTaskCosmic.cxx:319
 AliAnalysisTaskCosmic.cxx:320
 AliAnalysisTaskCosmic.cxx:321
 AliAnalysisTaskCosmic.cxx:322
 AliAnalysisTaskCosmic.cxx:323
 AliAnalysisTaskCosmic.cxx:324
 AliAnalysisTaskCosmic.cxx:325
 AliAnalysisTaskCosmic.cxx:326
 AliAnalysisTaskCosmic.cxx:327
 AliAnalysisTaskCosmic.cxx:328
 AliAnalysisTaskCosmic.cxx:329
 AliAnalysisTaskCosmic.cxx:330
 AliAnalysisTaskCosmic.cxx:331
 AliAnalysisTaskCosmic.cxx:332
 AliAnalysisTaskCosmic.cxx:333
 AliAnalysisTaskCosmic.cxx:334
 AliAnalysisTaskCosmic.cxx:335
 AliAnalysisTaskCosmic.cxx:336
 AliAnalysisTaskCosmic.cxx:337
 AliAnalysisTaskCosmic.cxx:338
 AliAnalysisTaskCosmic.cxx:339
 AliAnalysisTaskCosmic.cxx:340
 AliAnalysisTaskCosmic.cxx:341
 AliAnalysisTaskCosmic.cxx:342
 AliAnalysisTaskCosmic.cxx:343
 AliAnalysisTaskCosmic.cxx:344
 AliAnalysisTaskCosmic.cxx:345
 AliAnalysisTaskCosmic.cxx:346
 AliAnalysisTaskCosmic.cxx:347
 AliAnalysisTaskCosmic.cxx:348
 AliAnalysisTaskCosmic.cxx:349
 AliAnalysisTaskCosmic.cxx:350
 AliAnalysisTaskCosmic.cxx:351
 AliAnalysisTaskCosmic.cxx:352
 AliAnalysisTaskCosmic.cxx:353
 AliAnalysisTaskCosmic.cxx:354
 AliAnalysisTaskCosmic.cxx:355
 AliAnalysisTaskCosmic.cxx:356
 AliAnalysisTaskCosmic.cxx:357
 AliAnalysisTaskCosmic.cxx:358
 AliAnalysisTaskCosmic.cxx:359
 AliAnalysisTaskCosmic.cxx:360
 AliAnalysisTaskCosmic.cxx:361
 AliAnalysisTaskCosmic.cxx:362
 AliAnalysisTaskCosmic.cxx:363
 AliAnalysisTaskCosmic.cxx:364
 AliAnalysisTaskCosmic.cxx:365
 AliAnalysisTaskCosmic.cxx:366
 AliAnalysisTaskCosmic.cxx:367
 AliAnalysisTaskCosmic.cxx:368
 AliAnalysisTaskCosmic.cxx:369
 AliAnalysisTaskCosmic.cxx:370
 AliAnalysisTaskCosmic.cxx:371
 AliAnalysisTaskCosmic.cxx:372
 AliAnalysisTaskCosmic.cxx:373
 AliAnalysisTaskCosmic.cxx:374
 AliAnalysisTaskCosmic.cxx:375
 AliAnalysisTaskCosmic.cxx:376
 AliAnalysisTaskCosmic.cxx:377
 AliAnalysisTaskCosmic.cxx:378
 AliAnalysisTaskCosmic.cxx:379
 AliAnalysisTaskCosmic.cxx:380
 AliAnalysisTaskCosmic.cxx:381
 AliAnalysisTaskCosmic.cxx:382
 AliAnalysisTaskCosmic.cxx:383
 AliAnalysisTaskCosmic.cxx:384
 AliAnalysisTaskCosmic.cxx:385
 AliAnalysisTaskCosmic.cxx:386
 AliAnalysisTaskCosmic.cxx:387
 AliAnalysisTaskCosmic.cxx:388
 AliAnalysisTaskCosmic.cxx:389
 AliAnalysisTaskCosmic.cxx:390
 AliAnalysisTaskCosmic.cxx:391
 AliAnalysisTaskCosmic.cxx:392
 AliAnalysisTaskCosmic.cxx:393
 AliAnalysisTaskCosmic.cxx:394
 AliAnalysisTaskCosmic.cxx:395
 AliAnalysisTaskCosmic.cxx:396
 AliAnalysisTaskCosmic.cxx:397
 AliAnalysisTaskCosmic.cxx:398
 AliAnalysisTaskCosmic.cxx:399
 AliAnalysisTaskCosmic.cxx:400
 AliAnalysisTaskCosmic.cxx:401
 AliAnalysisTaskCosmic.cxx:402
 AliAnalysisTaskCosmic.cxx:403
 AliAnalysisTaskCosmic.cxx:404
 AliAnalysisTaskCosmic.cxx:405
 AliAnalysisTaskCosmic.cxx:406
 AliAnalysisTaskCosmic.cxx:407
 AliAnalysisTaskCosmic.cxx:408
 AliAnalysisTaskCosmic.cxx:409
 AliAnalysisTaskCosmic.cxx:410
 AliAnalysisTaskCosmic.cxx:411
 AliAnalysisTaskCosmic.cxx:412
 AliAnalysisTaskCosmic.cxx:413
 AliAnalysisTaskCosmic.cxx:414
 AliAnalysisTaskCosmic.cxx:415
 AliAnalysisTaskCosmic.cxx:416
 AliAnalysisTaskCosmic.cxx:417
 AliAnalysisTaskCosmic.cxx:418
 AliAnalysisTaskCosmic.cxx:419
 AliAnalysisTaskCosmic.cxx:420
 AliAnalysisTaskCosmic.cxx:421
 AliAnalysisTaskCosmic.cxx:422
 AliAnalysisTaskCosmic.cxx:423
 AliAnalysisTaskCosmic.cxx:424
 AliAnalysisTaskCosmic.cxx:425
 AliAnalysisTaskCosmic.cxx:426
 AliAnalysisTaskCosmic.cxx:427
 AliAnalysisTaskCosmic.cxx:428
 AliAnalysisTaskCosmic.cxx:429
 AliAnalysisTaskCosmic.cxx:430
 AliAnalysisTaskCosmic.cxx:431
 AliAnalysisTaskCosmic.cxx:432
 AliAnalysisTaskCosmic.cxx:433
 AliAnalysisTaskCosmic.cxx:434
 AliAnalysisTaskCosmic.cxx:435
 AliAnalysisTaskCosmic.cxx:436
 AliAnalysisTaskCosmic.cxx:437
 AliAnalysisTaskCosmic.cxx:438
 AliAnalysisTaskCosmic.cxx:439
 AliAnalysisTaskCosmic.cxx:440
 AliAnalysisTaskCosmic.cxx:441
 AliAnalysisTaskCosmic.cxx:442
 AliAnalysisTaskCosmic.cxx:443
 AliAnalysisTaskCosmic.cxx:444
 AliAnalysisTaskCosmic.cxx:445
 AliAnalysisTaskCosmic.cxx:446
 AliAnalysisTaskCosmic.cxx:447
 AliAnalysisTaskCosmic.cxx:448
 AliAnalysisTaskCosmic.cxx:449
 AliAnalysisTaskCosmic.cxx:450
 AliAnalysisTaskCosmic.cxx:451
 AliAnalysisTaskCosmic.cxx:452
 AliAnalysisTaskCosmic.cxx:453
 AliAnalysisTaskCosmic.cxx:454
 AliAnalysisTaskCosmic.cxx:455
 AliAnalysisTaskCosmic.cxx:456
 AliAnalysisTaskCosmic.cxx:457
 AliAnalysisTaskCosmic.cxx:458
 AliAnalysisTaskCosmic.cxx:459
 AliAnalysisTaskCosmic.cxx:460
 AliAnalysisTaskCosmic.cxx:461
 AliAnalysisTaskCosmic.cxx:462
 AliAnalysisTaskCosmic.cxx:463
 AliAnalysisTaskCosmic.cxx:464
 AliAnalysisTaskCosmic.cxx:465
 AliAnalysisTaskCosmic.cxx:466
 AliAnalysisTaskCosmic.cxx:467
 AliAnalysisTaskCosmic.cxx:468
 AliAnalysisTaskCosmic.cxx:469
 AliAnalysisTaskCosmic.cxx:470
 AliAnalysisTaskCosmic.cxx:471
 AliAnalysisTaskCosmic.cxx:472
 AliAnalysisTaskCosmic.cxx:473
 AliAnalysisTaskCosmic.cxx:474
 AliAnalysisTaskCosmic.cxx:475
 AliAnalysisTaskCosmic.cxx:476
 AliAnalysisTaskCosmic.cxx:477
 AliAnalysisTaskCosmic.cxx:478
 AliAnalysisTaskCosmic.cxx:479
 AliAnalysisTaskCosmic.cxx:480
 AliAnalysisTaskCosmic.cxx:481
 AliAnalysisTaskCosmic.cxx:482
 AliAnalysisTaskCosmic.cxx:483
 AliAnalysisTaskCosmic.cxx:484
 AliAnalysisTaskCosmic.cxx:485
 AliAnalysisTaskCosmic.cxx:486
 AliAnalysisTaskCosmic.cxx:487
 AliAnalysisTaskCosmic.cxx:488
 AliAnalysisTaskCosmic.cxx:489
 AliAnalysisTaskCosmic.cxx:490
 AliAnalysisTaskCosmic.cxx:491
 AliAnalysisTaskCosmic.cxx:492
 AliAnalysisTaskCosmic.cxx:493
 AliAnalysisTaskCosmic.cxx:494
 AliAnalysisTaskCosmic.cxx:495
 AliAnalysisTaskCosmic.cxx:496
 AliAnalysisTaskCosmic.cxx:497
 AliAnalysisTaskCosmic.cxx:498
 AliAnalysisTaskCosmic.cxx:499
 AliAnalysisTaskCosmic.cxx:500
 AliAnalysisTaskCosmic.cxx:501
 AliAnalysisTaskCosmic.cxx:502
 AliAnalysisTaskCosmic.cxx:503
 AliAnalysisTaskCosmic.cxx:504
 AliAnalysisTaskCosmic.cxx:505
 AliAnalysisTaskCosmic.cxx:506
 AliAnalysisTaskCosmic.cxx:507
 AliAnalysisTaskCosmic.cxx:508
 AliAnalysisTaskCosmic.cxx:509
 AliAnalysisTaskCosmic.cxx:510
 AliAnalysisTaskCosmic.cxx:511
 AliAnalysisTaskCosmic.cxx:512
 AliAnalysisTaskCosmic.cxx:513
 AliAnalysisTaskCosmic.cxx:514
 AliAnalysisTaskCosmic.cxx:515
 AliAnalysisTaskCosmic.cxx:516
 AliAnalysisTaskCosmic.cxx:517
 AliAnalysisTaskCosmic.cxx:518
 AliAnalysisTaskCosmic.cxx:519
 AliAnalysisTaskCosmic.cxx:520