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.                  *
**************************************************************************/
//
// Select events according to gap conditions, analyze two track events in pp
// collisions
//
// Author:
//  Xianguo Lu <lu@physi.uni-heidelberg.de>
//  continued by
//  Felix Reidt <Felix.Reidt@cern.ch>

#ifndef ALIANALYSISTASKCDMESON_H
#define ALIANALYSISTASKCDMESON_H

#ifndef ALIANALYSISTASK_H
#include "AliAnalysisTaskSE.h"
#endif

#include "THnSparse.h" // forward declaration is not possible

class AliESDEvent;
class AliVTrack;
class AliPIDResponse;
class AliPhysicsSelection;

class TH1I;
class TH1F;
class TH2I;
class TH2F;
class TH2D;
class TList;
class TParticle;
class THnSparse;
class TObjString;
class TObjArray;

class AliCDMesonTracks;

class AliAnalysisTaskCDMeson : public AliAnalysisTaskSE
{
public:
	AliAnalysisTaskCDMeson(const char* name, Long_t state = 0x0);
	AliAnalysisTaskCDMeson();
	virtual ~AliAnalysisTaskCDMeson();

	virtual void UserCreateOutputObjects();
	virtual void UserExec(Option_t *);

private:
	enum { //
		kV0 = 0,
		kFMD,
		kSPD,
		kTPC,
		kV0FMD,
		kV0FMDSPD,
		kV0FMDSPDTPC,
		kTPCSPD,
		kTPCSPDFMD,
		kTPCSPDFMDV0,
		kSPDFMD,
		kSPDFMDV0,
		kMax
	};

	AliAnalysisTaskCDMeson(const AliAnalysisTaskCDMeson  &p);
	AliAnalysisTaskCDMeson& operator=(const AliAnalysisTaskCDMeson  &p);

	void FillEtaPhiMaps() const; // controls which event contributes to which map


	// functions called by the UserExec(...), not to be called elsewhere!
	//-------------------------------------------------------------------
	Bool_t CheckInput();
	void PostOutputs(); // cares about posting the output before exiting UserExec,
	// WARNING: PostOutputs should only be used directly in the UserExec!!
	void DoEmptyEventStudy(); // does the empty event study
	Bool_t DetermineGap(); // determines the gap of all available detectors
	void AnalyzeVtx(); // calcs the distance of the pri. vertex from tracks and SPD
	void DoMultiplicityStudy(Int_t nMCprimaries);
	// compares ITSTPC and ITSTPC+soft distribution and the multiplicity response
	void DoTrackPair(Bool_t soft = kFALSE);
	// analyses track pairs and prepares THnMother(Soft) input
	Int_t DoMCTruth(); // analyses the MCtruth for corrections, returns #Primaries
	void DoMCTrackPair(TParticle* particles[], Int_t gapCond, Int_t multiplicity);
	// analyzes track pairs in MC truth
	void DetermineMCprocessType(); // determines the MC process ID

	// functions called by the DoTrackPair(...), not to be called elsewhere!
	// ---------------------------------------------------------------------
	Int_t DoPID(Int_t combCh); //retrieves the PID information for the current two
	void FillMChists(Int_t combCh); //fills the MC histograms for two track events

	// analysis task status
	//---------------------
	Bool_t fDoAOD; // true for running on AODs
	Long_t fAnalysisStatus; // stores the status bits used to distinguish
	// which histograms should be generated
	TObjString *fAnalysisStatusString; // to be stored in the output list
	Double_t fNoGapFraction; // fraction of no-gap events to be processed only
	                         // used in case of ESD input
	Double_t fReducedGapFraction; // fraction of events stored altough they
	                              // show only the requested and not the refined
	                              // gap
	Double_t fMaxVtxDst; // maximum distance of the track and SPD vertex

	// event information
	//------------------
	AliESDEvent *fESDEvent; // esd event object
	AliAODEvent *fAODEvent; // esd event object
	AliPIDResponse *fPIDResponse; // esd pid object
	AliPhysicsSelection *fPhysicsSelection; // physics selection object
	AliCDMesonTracks *fTracks; // object taking care about the track cuts
	Double_t fVtxDst; // distance of the primary vertex from tracks and from SPD
	Double_t fVtxZ; // z-position of the primary vertex from tracks
	Int_t fResidualTracks; // tracks rejected by cuts within the event
	Int_t fResidualTracklets; // SPD tracklets not assigned to tracks
	Int_t fMCprocessType; // MC process type, 0 for data
	Int_t fMCprocess; // detailed MC sub process information

	// information about the trackpair which is currently processed
	AliVTrack* fTrkPair[2]; // track objects

	Int_t fRun; // number of the run which is about to be processed
	Int_t fPIDmode; // selects set of PID cuts, 0 for 3sigma standard cuts,
	//1 for LHC11f

	// information stored for the PWA (addresses needed for the tree)
	Float_t fTheta; // theta angle in the helicity frame
	Float_t fPhi; // phi angle in the helicity frame
	Float_t fMass; // mass of the two track system
	Float_t fMomentum[3]; // momentum of the two track system
	Int_t fCurrentGapCondition; // gap condition of the current event
	Int_t fGapInformationWCent[kMax]; // gap condition for different detectors
	                                  // individually and their combinations
	                                  // requiring central act. from SPD FastOR
	Int_t fGapInformation[kMax]; // same as above, without the requirement
	                             // on central activity

	// output objects
	//---------------
	THnSparseI *fGapRun; //contains the gap information of the different detectors
	// per run (x-axis: run number, y-axis gap-state (bit encoded)

	TList *fHist; // output list (contains all histograms)
	THnSparseD *fThnMother; // THnSparse for mother pt and mass
	THnSparseD *fThnMotherSoft; // same as above, using soft tracks as well
	THnSparseD *fThnMultiplicity; // ThnSparse for multiplicity studies
	THnSparseD *fThnMC; // THnSparse for MC mother pt and mass

	THnSparseD *fThnEmptyEvents; // THnSparse used to analyse empty events
	TTree *fPWAtree; // Tree containing information needed for PWA

	// Multiplicity distributions for the different gap conditions
	TH2D *fv0ntrk; //v0bit vs. nch
	TH2D *fv0fmdntrk; //v0fmdbit vs. nch
	TH2D *fv0fmdspdntrk; //v0fmdspdbit vs. nch
	TH2D *fv0fmdspdtpcntrk; //v0fmdspdtpcbit vs. nch

	// How many tracks are removed by the current cuts
	TH2F *fv0Rmntrk; // V0 gap events vs. of removed tracks
	TH2F *fv0fmdRmntrk; // V0-FMD gap events vs. of removed tracks
	TH2F *fv0fmdspdRmntrk; // V0-FMD-SPD gap events vs. of removed tracks
	TH2F *fv0fmdspdtpcRmntrk; // V0-FMD-SPD-TPC gap events vs. of removed tracks

	TH2F *fMultStudy; // multiplicity after standard cuts and soft cuts vs. mult
	TH2F *fMultStudyV0dg; // same for with events V0 Double-Gap
	TH2F *fMultStudyV0FMDdg; // same for events with V0-FMD DG
	TH2F *fMultStudyV0FMDSPDdg; // same for events with V0-FMD-SPD DG
	TH2F *fMultStudyV0FMDSPDTPCdg; // same for events with V0-FMD-SPD-TPC DG

	TH2F *fMultResponseMC; // multiplicity response MC to reconstruction
	TH2F *fMultResponseV0dgMC; // same for events with V0 double gap
	TH2F *fMultResponseV0FMDdgMC; // with V0-FMD DG
	TH2F *fMultResponseV0FMDSPDdgMC; // with V0-FMD-SPD DG
	TH2F *fMultResponseV0FMDSPDTPCdgMC; // with V0-FMD-SPD-TPC DG

	TH2F *fMultRegionsMC; // multiplicity in the 3 regions of interest

	TH1I *fhspdV0dg; // FastOR multiplicity in SPD FastOR with V0 double gap
	TH1I *fhspdV0FMDdg; // with V0-FMD double gap
	TH1I *fhspdV0FMDSPDdg; // with V0-FMD-SPD double gap
	TH1I *fhspdV0FMDSPDTPCdg; // with V0-FMD-SPD double gap
	TH1I *fhspdAfterCuts; // fast OR multiplicity after the event (vertex) cuts

	TH1I *fGapResponseMCv0Dg; // gap status from MC and reconstruction for V0
	TH1I *fGapResponseMCv0fmdDg; // for V0-FMD
	TH1I *fGapResponseMCv0fmdspdDg; // for V0-FMD-SPD
	TH1I *fGapResponseMCv0fmdspdtpcDg; // for V0-FMD-SPD-TPC

	// Statistics flow diagrams
	TH1I *fhspd; // distribution of fastOR-multiplicity
	//SPD fastOR offline esdEvent->GetMultiplicity->TestFastOrFiredChips()
	TH2I *fhfo; // histogram containing the SPD FastOR information ??
	TH1I *fhpriVtxDist; // primary vertex distribution
	TH1I *fhpriVtxPos; // position of the primary vertex (0 within range, 1 else)
	TH1I *fhpriv; //primary vertex cut effect
	TH1I *fhntrk; //n-trk-after-cut effect w/o requiring a gap-condition
	TH1F *fhStatsFlow; // stepwise statistics flow
	TH1F *fhFOchans; // hits in the different fastOR channels

	TObjArray* fVZEROhists; // histograms for the VZERO trigger study

	// eta-phi maps containing the ESDtracks
	TH2F *fv0Map; // V0 gap events
	TH2F *fv0fmdMap; // V0-FMD gap events
	TH2F *fv0fmdspdMap; // V0-FMD-SPD gap events
	TH2F *fv0fmdspdtpcMap; // V0-FMD-SPD-TPC gap events

	// eta-phi maps containing the ESDtracks after the track cut
	TH2F *fv0MapCutted; // V0 gap events
	TH2F *fv0fmdMapCutted; // V0-FMD gap events
	TH2F *fv0fmdspdMapCutted; // V0-FMD-SPD gap events
	TH2F *fv0fmdspdtpcMapCutted; // V0-FMD-SPD-TPC gap events

	TH2F *fHitMapSPDinner; // eta-phi map containing SPD FastOR hits (inner layer)
	TH2F *fHitMapSPDouter; // eta-phi map containing SPD FastOR hits (outer layer)
	TH2F *fHitMapSPDtrklt; // eta-phi map containing SPD hits based on tracklets
	TH2F *fHitMapFMDa; // eta-phi-multiplicity map containing FMD hits at A side
	TH2F *fHitMapFMDc; // eta-phi-multiplicity map containing FMD hits at C side

	// Summed FMD
	TH1F *fFMDsum1I; // FMD 1
	TH1F *fFMDsum2I; // FMD 2 inner ring
	TH1F *fFMDsum2O; // FMD 2 outer ring
	TH1F *fFMDsum3I; // FMD 3 inner ring
	TH1F *fFMDsum3O; // FMD 3 outer ring

	// Vertex
	TH1I *fPriVtxX; // x distribution of the primary vertex
	TH1I *fPriVtxY; // y distribution of the primary vertex
	TH1I *fPriVtxZ; // z distribution of the primary vertex
	TH1I *fPriVtxDst; // distance distribution of the pri. vtx from SPD and tracks
	TH1I *fPriVtxDstV0dg; // with V0 DG
	TH1I *fPriVtxDstV0FMDdg; // with V0 FMD DG
	TH1I *fPriVtxDstV0FMDSPDdg; // with V0 FMD SPD DG
	TH1I *fPriVtxDstV0FMDSPDTPCdg; //  with V0 FMD SPD TPC DG

	// TPC Gap
	TH2F *fTPCGapDCAaSide; // dca distribution for tracks destroying the TPC gap
	TH2F *fTPCGapDCAcSide; // for V0-FMD-SPD gap events on A and C side

	// PID
	// All events but double gap events
	TH2F *fComb2trkPIDuls; // PID matrix on unlike-sign two particles events
	TH2F *fComb2trkPIDls; // PID matrix on like-sign about two particles
	// Full-gap events (V0-FMD-SPD-TPC)
	TH2F *fComb2trkPIDulsDG; // PID matrix on unlike-sign two particles events
	TH2F *fComb2trkPIDlsDG; // PID matrix on like-sign about two particles
	// 'PID' in MC
	// All events but double gap events
	TH2F *fComb2trkPIDulsMC; // PID matrix on unlike-sign two particles events
	TH2F *fComb2trkPIDlsMC; // PID matrix on like-sign about two particles
	// Full-gap events (V0-FMD-SPD-TPC)
	TH2F *fComb2trkPIDulsDGmc; // PID matrix on unlike-sign two particles events
	TH2F *fComb2trkPIDlsDGmc; // PID matrix on like-sign about two particles

	// MC Process
	TH2F *fMCProcessUls; // Process fulfilling a gap condition with two
	// unlike-sign particles
	TH2F *fMCProcessLs; // same for like-sign particles

	TH1F *fMAllTrackMass; // histogram for the invariant mass dist. of all tracks

	ClassDef(AliAnalysisTaskCDMeson, 1);
};


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