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.                  *
 **************************************************************************/
//
// AliCDMesonUtilsStripped
//
//  Author:
//  Felix Reidt <Felix.Reidt@cern.ch>

#include <TH1.h>
#include <TH2.h>
#include <TGeoMatrix.h>
#include <THnSparse.h>
#include <TLorentzVector.h>
#include <TRandom3.h>
#include <TParticle.h>

#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliCDBStorage.h"
#include "AliESDEvent.h"
#include "AliPIDResponse.h"
#include "AliVTrack.h"
#include "AliVParticle.h"
#include "AliESDtrack.h"
#include "AliESDFMD.h"
#include "AliGeomManager.h"
#include "AliITSAlignMille2Module.h"
#include "AliITSsegmentationSPD.h"
#include "AliMultiplicity.h"
#include "AliPIDResponse.h"
#include "AliSPDUtils.h"
#include "AliTriggerAnalysis.h"

#include "AliAODTracklets.h"
#include "AliAODEvent.h"

#include "AliCDMesonBaseStripped.h"
#include "AliCDMesonTracks.h"

#include "AliCDMesonUtilsStripped.h"


//==============================================================================
//------------------------------------------------------------------------------
Bool_t AliCDMesonUtilsStripped::CutEvent(const AliESDEvent *ESDEvent)
{
	//
	// CutEvent
	//

	AliTriggerAnalysis triggerAnalysis;

	// collision vertex cut
	// A cut in XY is implicitly done during the reconstruction by constraining
	// the vertex to the beam diamond.

	// Primary vertex
	Bool_t kpr0 = kTRUE;
	const AliESDVertex *vertex = ESDEvent->GetPrimaryVertexTracks();
	if(vertex->GetNContributors()<1) {
		// SPD vertex
		vertex = ESDEvent->GetPrimaryVertexSPD();
		if(vertex->GetNContributors()<1) {
			// NO GOOD VERTEX, SKIP EVENT
			kpr0 = kFALSE;
		}
	}
	const Bool_t kpriv = kpr0 && (fabs(ESDEvent->GetPrimaryVertex()->GetZ())<10.);
	// 10 is the common value, unit: cm
	if(!kpriv)
		return kFALSE;

	return kTRUE;
}

//------------------------------------------------------------------------------
Bool_t AliCDMesonUtilsStripped::CutEvent(const AliAODEvent *AODEvent)
{
	//
	// Cut Event for AOD Events, to be combined with the ESD Track Cut
	//

	// TODO: no idea about fast or yet, to be thought of

	// Primary vertex
	Bool_t kpr0 = kTRUE;
	const AliAODVertex *vertex = AODEvent->GetPrimaryVertex();
	if(vertex->GetNContributors()<1) {
		// SPD vertex
		vertex = AODEvent->GetPrimaryVertexSPD();
		if(vertex->GetNContributors()<1) {
			// NO GOOD VERTEX, SKIP EVENT
			kpr0 = kFALSE;
		}
	}
	const Bool_t kpriv = kpr0 && (fabs(AODEvent->GetPrimaryVertex()->GetZ())<10.);
	// 10 is the common value, unit: cm

	if(!kpriv)
		return kFALSE;

	return kTRUE;
}


//------------------------------------------------------------------------------
Int_t AliCDMesonUtilsStripped::GetGapConfig(const AliESDEvent *ESDEvent)
{
	//
	// GetGapConfigAndTracks
	//
	// retrieves the gap configuration of a track and returns it as
	// an bit vector
	// kBaseLine ensures, that this event is valid
	// + is equivalent to | in this case
	return AliCDMesonBaseStripped::kBitBaseLine
		+ GetV0(ESDEvent) + GetFMD(ESDEvent) + GetSPD(ESDEvent) + GetTPC(ESDEvent);
}


//==============================================================================
//------------------------------------------------------------------------------
Int_t AliCDMesonUtilsStripped::GetV0(const AliESDEvent * ESDEvent)
{
	//
	//GetV0
	//

	AliTriggerAnalysis triggerAnalysis;
	const Bool_t khw = kFALSE;
	const Bool_t v0A =
		(triggerAnalysis.V0Trigger(ESDEvent, AliTriggerAnalysis::kASide, khw) ==
		 AliTriggerAnalysis::kV0BB);
	const Bool_t v0C =
		(triggerAnalysis.V0Trigger(ESDEvent, AliTriggerAnalysis::kCSide, khw) ==
		 AliTriggerAnalysis::kV0BB);

	return v0A * AliCDMesonBaseStripped::kBitV0A
		+ v0C * AliCDMesonBaseStripped::kBitV0C;
}


//------------------------------------------------------------------------------
Int_t AliCDMesonUtilsStripped::GetFMD(const AliESDEvent *ESDEvent)
{
	//
	// GetFMD
	//

	AliTriggerAnalysis triggerAnalysis;
	triggerAnalysis.SetFMDThreshold(0.3, 0.5); // parameters got from FMD
	const Bool_t fmdA =
		triggerAnalysis.FMDTrigger(ESDEvent, AliTriggerAnalysis::kASide);
	const Bool_t fmdC =
		triggerAnalysis.FMDTrigger(ESDEvent, AliTriggerAnalysis::kCSide);

	return fmdA * AliCDMesonBaseStripped::kBitFMDA
		+ fmdC * AliCDMesonBaseStripped::kBitFMDC;
}


//------------------------------------------------------------------------------
Int_t AliCDMesonUtilsStripped::GetSPD(const AliESDEvent *ESDEvent)
{
	//
	// GetSPD
	//

	Int_t nfoctr[10];
	GetNFO(ESDEvent, "]0.9[", nfoctr);
	// get multiplicity from fastOR and fill corresponding hit maps


	const Int_t ipA = nfoctr[kIPA]; // inner layer A side
	const Int_t ipC = nfoctr[kIPC]; // inner layer C side
	const Int_t opA = nfoctr[kOPA]; // outer layer A side
	const Int_t opC = nfoctr[kOPC]; // outer layer C side

	const Bool_t spdA = ipA + opA; // A side hit?
	const Bool_t spdC = ipC + opC; // C side hit?

	return spdA * AliCDMesonBaseStripped::kBitSPDA
		+ spdC * AliCDMesonBaseStripped::kBitSPDC;
}


//------------------------------------------------------------------------------
Int_t AliCDMesonUtilsStripped::GetTPC(const AliESDEvent * ESDEvent)
{
	//
	//GetTPC
	//

	const Double_t etacut = 0.9;
	Int_t nA = 0;
	Int_t nC = 0;
	for(Int_t itrack = 0; itrack < ESDEvent->GetNumberOfTracks(); itrack++){
		const AliESDtrack* esdtrack = ESDEvent->GetTrack(itrack);
		if( esdtrack->Eta() > etacut ){
			nA ++;
		}
		else if( esdtrack->Eta() < -etacut ){
			nC ++;
		}
	}

	const Bool_t tpcA = nA;
	const Bool_t tpcC = nC;

	return tpcA * AliCDMesonBaseStripped::kBitTPCA
		+ tpcC * AliCDMesonBaseStripped::kBitTPCC;
}

//==============================================================================
//------------------------------------------------------------------------------
void AliCDMesonUtilsStripped::SPDLoadGeom(Int_t run)
{
	// method to get the gGeomanager
	// it is called at the CreatedOutputObject stage
	// to comply with the CAF environment

	AliCDBManager *man = AliCDBManager::Instance();
	// WARNING THE OCDB PATH SHOULD BE ADJUSTED TO THE RUNNING CONDITIONS


	TString cdbpath;
	if (man->IsDefaultStorageSet()) {
		const AliCDBStorage *dsto = man->GetDefaultStorage();
		cdbpath = TString(dsto->GetBaseFolder());
	}
	else {
		man->SetDefaultStorage("raw://");
		cdbpath = "raw://";
	}

	man->SetSpecificStorage("ITS/Align/Data",cdbpath);
	man->SetSpecificStorage("GRP/Geometry/Data",cdbpath);
	man->SetRun(run);

	AliCDBEntry* obj = man->Get(AliCDBPath("GRP", "Geometry", "Data"));
	if (!obj) {
		printf("AliCDMesonUtilsStripped failed loading geometry object\n");
		return;
	}
	AliGeomManager::SetGeometry((TGeoManager*)obj->GetObject());
	AliGeomManager::ApplyAlignObjsFromCDB("ITS");
}

//------------------------------------------------------------------------------
Bool_t AliCDMesonUtilsStripped::SPDLoc2Glo(Int_t id, const Double_t *loc,
                                           Double_t *glo)
{
	//
	//SPDLoc2Glo, do not touch
	//

	static TGeoHMatrix mat;
	Int_t vid = AliITSAlignMille2Module::GetVolumeIDFromIndex(id);
	if (vid<0) {
		printf("AliCDMesonUtilsStripped Did not find module with such ID %d\n",id);
		return kFALSE;
	}
	AliITSAlignMille2Module::SensVolMatrix(vid,&mat);
	mat.LocalToMaster(loc,glo);
	return kTRUE;
}


//------------------------------------------------------------------------------
Int_t AliCDMesonUtilsStripped::CheckChipEta(Int_t chipKey,
                                            TString scut,
                                            const Double_t vtxPos[])
{
	//
	//CheckChipEta
	//

	// retrieves the position in eta for a given chip and applies the cut
	// results:
	// 0 <= out of range
	// -1 <= negative pseudo-rapidity position, in range (C-Side)
	// 1 <= positive pseudo-rapidity position, in range (A-Side)
	//
	// scut: "[0.9" or "]0.9", only 3 digits for the value!!


	const Bool_t kincl = (scut[0] == '[');
	const TString cutval = scut(1,3);
	const Double_t etacut = fabs(cutval.Atof());

	//no eta cut, save time
	if(kincl && etacut>=2)
		return kTRUE;

	Int_t etaside = 1;
	//------------------------------- NOT TO TOUCH ------------------------>>
	UInt_t module=999, offchip=999;
	AliSPDUtils::GetOfflineFromOfflineChipKey(chipKey,module,offchip);
	UInt_t hs = AliSPDUtils::GetOnlineHSFromOffline(module);
	if(hs<2) offchip = 4 - offchip; // inversion  in the inner layer...

	const Int_t col[]={
		hs<2? 0 : 31,
		hs<2? 31 : 0,
		hs<2? 31 : 0,
		hs<2? 0 : 31};
	const Int_t aa[]={0, 0, 255, 255};
	const AliITSsegmentationSPD seg;

	for(Int_t ic=0; ic<4; ic++){
		Float_t localchip[3]={0.,0.,0.};
		seg.DetToLocal(aa[ic],col[ic]+32*offchip,localchip[0],localchip[2]);
		// local coordinate of the chip center
		//printf("local coordinates %d %d: %f %f \n",chipKey, ic, localchip[0],localchip[2]);
		const Double_t local[3] = {localchip[0],localchip[1],localchip[2]};
		Double_t glochip[3]={0.,0.,0.};
		if(!SPDLoc2Glo(module,local,glochip)){
			return kFALSE;
		}

		//-------------------------------------------------------------------<<

		const TVector3 pos(glochip[0]-vtxPos[0], glochip[1]-vtxPos[1],
		                   glochip[2]-vtxPos[2]);
		//pos.Print();

		if( kincl && fabs(pos.Eta()) > etacut)
			return kFALSE;

		if(!kincl){
			if(fabs(pos.Eta()) < etacut)
				return kFALSE;
			else if(pos.Eta()<0)
				etaside = -1;
			else
				etaside = 1;
		}
	}

	return etaside;
}


//------------------------------------------------------------------------------
void AliCDMesonUtilsStripped::GetNFO(const AliESDEvent *ESDEvent,
                                     TString etacut, Int_t ctr[])
{
	//
	// GetNFO
	//
	// analyzes the SPD fastOR for a given eta range and returns
	// an array with the number of hits in:

	Int_t ninner=0; // inner layer
	Int_t nouter=0; // outer layer
	Int_t ipA = 0; // inner layer A side
	Int_t ipC = 0; // inner layer C side
	Int_t opA = 0; // outer layer A side
	Int_t opC = 0; // outer layer C side

	const AliMultiplicity *mult = ESDEvent->GetMultiplicity();

	// position of the primary vertex
	Double_t tmp[3] = { 0., 0., 0. };
	ESDEvent->GetPrimaryVertex()->GetXYZ(tmp);
	Double_t vtxPos[3] = { tmp[0], tmp[1], tmp[2] };


	for(Int_t iChipKey=0; iChipKey < 1200; iChipKey++){
		if(mult->TestFastOrFiredChips(iChipKey)){
			// here you check if the FastOr bit is 1 or 0
			const Int_t iseta = CheckChipEta(iChipKey, etacut, vtxPos);
			if(iseta==0)
				continue;

			if(iChipKey<400) {
				ninner++;  // here you count the FastOr bits in the inner layer
				if(iseta>0)
					ipA ++;
				else
					ipC ++;
			}
			else {
				nouter++;  // here you count the FastOr bits in the outer layer
				if(iseta>0)
					opA ++;
				else
					opC ++;
			}
		}
	}

	ctr[kInnerPixel]= ninner;
	ctr[kOuterPixel]= nouter;
	ctr[kIPA]= ipA;
	ctr[kIPC]= ipC;
	ctr[kOPA]= opA;
	ctr[kOPC]= opC;

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