ROOT logo
//
// Base class for FMD ESD input - sub classes can use the services to
// easily setup a task to process the FMD ESD data 
//
#ifndef ALIFMDESDTASK_H
#define ALIFMDESDTASK_H

#include <AliAnalysisTaskSE.h>
class AliFMDEventInspector;
class AliCorrectionManagerBase;
class AliAODHandler;
class AliESDEvent;
class TAxis;
class TList;

/**
 * Base class for tasks that analyse the FMD ESD.  This wraps a
 * single-event analysis task, and provides a modified interface to
 * implement for the sub-classes:
 *
 * @code
 * class MyFMDESDTask : public AliBaseESDTask 
 * { 
 * public: 
 *   MyFMDESDTask() : AliBaseESDTask() {}
 *   MyFMDESDTask(const char* name) : AliBaseESDTask(name)
 *   { 
 *   }
 *   AliFMDEventInspector& GetEventInspector() { return fInspector; }
 *   const AliFMDEventInspector& GetEventInspector() const{ return fInspector; }
 *   Bool_t Book() 
 *   {
 *     fNeededCorrections = AliForwardCorrectionManager::kELossFits;
 *     fSharingFilter.CreateUserObject(fList);
 *     return true;
 *   }
 *   Bool_t PreData(const TAxis& vertex, const TAxis& eta)
 *   {
 *     fSharingFilter.SetupForData(eta);
 *     return true;
 *   }
 *   Bool_t PreEvent() { fESDFMD.Clear(); return true; } 
 *   Bool_t PostEvent() { return true; } 
 *   Bool_t Event(AliESDEvent& esd)
 *   {
 *     Bool_t   lowFlux   = kFALSE;
 *     UInt_t   triggers  = 0;
 *     UShort_t ivz       = 0;
 *     TVector3 ip;
 *     Double_t cent      = -1;
 *     UShort_t nClusters = 0;
 *     UInt_t   found     = fEventInspector.Process(esd, triggers, lowFlux, 
 *                                                  ivz, ip, cent, nClusters);
 *     if (found & AliFMDEventInspector::kNoEvent)    return false;
 *     if (found & AliFMDEventInspector::kNoTriggers) return false;
 *     if (found & AliFMDEventInspector::kNoSPD)      return;
 *     if (found & AliFMDEventInspector::kNoFMD)      return;
 *     if (found & AliFMDEventInspector::kNoVertex)   return;
 *     if (triggers & AliAODForwardMult::kPileUp)     return;
 *     if (found & AliFMDEventInspector::kBadVertex)  return;
 * 
 *     Bool_t ret = fSharingFilter.Filter(esd, lowFlux, fESDFMD, ip.Z());
 *     return ret;
 *   }
 *   Bool_t Finalize()
 *   {
 *     GetSharingFilter().Terminate(fList,fResults,Int_t(nTr));
 *     return true;
 *   }
 * protected:
 *   AliFMDEventInsepctor fInspector;
 *   AliFMDSharingFilter  fSharingFilter;
 *   AliESDFMD            fESDFMD;
 * };
 * @endcode 
 * 
 */
class AliBaseESDTask : public AliAnalysisTaskSE
{
public:
  /** 
   * Default (I/O) constructor - do not use directly
   */
  AliBaseESDTask();
  /** 
   * User constructor 
   * 
   * @param name  Name of the task 
   * @param title Class name used in configuration script 
   * @param manager Correction manager 
   */
  AliBaseESDTask(const char* name, const char* title,
		 AliCorrectionManagerBase* manager);
  /** 
   * Add this task to the manager and connect the outputs.  If @a
   * sumFile is null or the empty string, then the sum container is
   * stored in the default output file of the manager.  If @a resFile
   * is null or the empty string, then it is set to @a resFile if
   * defined, otherwise to the default output file of the manager.
   * 
   * @param sumFile Output file for sums
   * @param resFile Output file for sums
   * 
   * @return true on success 
   */
  virtual Bool_t Connect(const char* sumFile=0, 
			 const char* resFile=0)
  {
    return Connect(sumFile, resFile, false);
  }
  /** 
   * Add this task to the manager and connect the outputs.  If @a
   * sumFile is null or the empty string, then the sum container is
   * stored in the default output file of the manager.  If @a resFile
   * is null or the empty string, then it is set to @a resFile if
   * defined, otherwise to the default output file of the manager.
   * 
   * @param sumFile Output file for sums
   * @param resFile Output file for sums
   * @param old     Use old names
   * 
   * @return true on success 
   */
  virtual Bool_t Connect(const char* sumFile, 
			 const char* resFile,
			 Bool_t      old);
  /** 
   * Called when initializing the train 
   */
  virtual Bool_t Setup() { return true; }
  /** 
   * Book output objects. Derived class should define this to book
   * output objects on the processing output list @c fList before the
   * actual event processing.  This is called on the master and on
   * each slave.
   * 
   * If this member function returns false, the execution is stopped
   * with a fatal signal.
   *
   * @return true on success. 
   */
  virtual Bool_t Book() = 0;
  /** 
   * Called on first event _before_ reading corrections.  Here, the
   * user class can do additional checking to see if the some (more or
   * less) corrections are needed.
   * 
   * @param esd Event 
   */
  virtual void PreCorrections(const AliESDEvent* esd);
  /** 
   * Called after reading in the first event. Here we can setup stuff
   * depending on the conditions we're running under.
   * 
   * @return true on success.  If this returns false, then we turn the
   * task into a zombie and we do no more processing.
   */
  virtual Bool_t PreData(const TAxis& vertex, const TAxis& eta);
  /** 
   * Called before processing a single event - should not do anything
   * but clear data, etc.
   * 
   * @return true on success
   */
  virtual Bool_t PreEvent() { return true; }
  /** 
   * Process a single event
   * 
   * @param esd Input event 
   * 
   * @return true on success 
   */
  virtual Bool_t Event(AliESDEvent& esd) = 0;
  /** 
   * Called after processing a single event - should not do anything
   * but clear data, etc.
   * 
   * @return true on success
   */
  virtual Bool_t PostEvent() { return true; }
  /** 
   * Do the final analysis on the merged output. 
   * 
   * @return true on success
   */
  virtual Bool_t Finalize() { return true; }
  /** 
   * @{ 
   * @name Utility methods 
   */
  /** 
   * Print information 
   * 
   * @param option Not used
   */
  virtual void Print(Option_t* option="") const;
  /** 
   * Set the debug level 
   * 
   * @param dbg 
   */
  virtual void SetDebug(Int_t dbg);
  /** 
   * Overload super class method for setting debug level to call our
   * SetDebug member function.
   * 
   * @param dbg Debug level (0: no output, 1: essentials, 3: a whole lot)
   */
  virtual void SetDebugLevel(Int_t dbg) 
  { 
    AliAnalysisTaskSE::SetDebugLevel(dbg); 
    SetDebug(dbg);
  }
  /* @} */
  // --- Configuration etc -------------------------------------------
  /** @{ 
   * @name Access sub-components 
   */
  /** 
   * Configure this task via a macro 
   * 
   * @param macro Macro to configure va 
   * 
   * @return true on success, false otherwise
   */
  virtual Bool_t Configure(const char* macro="-default-");
  /** 
   * Get a reference to the event inspector. User must override this
   * to return proper object
   * 
   * @return Reference to the event inspector 
   */
  virtual AliFMDEventInspector& GetEventInspector() = 0;
  /** 
   * Get a reference to the event inspector. User must override this
   * to return proper object
   * 
   * @return Reference to the event inspector 
   */
  virtual const AliFMDEventInspector& GetEventInspector() const = 0;
  /* @} */
protected:
  /** 
   * Copy constructor - left undefined
   * 
   * @param o Object to copy from 
   */
  AliBaseESDTask(const AliBaseESDTask& o);
  /** 
   * Assignment operator - left undefined 
   * 
   * @param o Object to assign from 
   * 
   * @return Reference to this object.
   */
  AliBaseESDTask& operator=(const AliBaseESDTask& o);
  // --- Customize ---------------------------------------------------
  /** 
   * Evaluate wether this is for MC. User class can override this 
   * 
   * @return true if we're to initialize corrections for MC input
   */
  virtual Bool_t IsMC() const { return false; }
  /** 
   * Set the default eta axis to use in case we didn't get one from
   * the read-in corretions.  Override this if the sub class should go
   * on even without a valid eta axis from the corrections (e.g. QA
   * task)
   * 
   * @return null
   */
  virtual TAxis* DefaultEtaAxis() const;
  /** 
   * Set the default eta axis to use in case we didn't get one from
   * the read-in corretions.  Override this if the sub class should go
   * on even without a valid eta axis from the corrections (e.g. QA
   * task)
   * 
   * @return null
   */
  virtual TAxis* DefaultVertexAxis() const;
  /** 
   * Get the correction mananger.  Derived class should overload this
   * to return the proper object.
   * 
   * @return Pointer to correction manager
   */
  virtual AliCorrectionManagerBase* GetManager() const { return fCorrManager; }
  /** 
   * Get the correction mananger.  Derived class should overload this
   * to return the proper object.
   * 
   * @return Pointer to correction manager
   */
  virtual AliCorrectionManagerBase* GetManager() { return fCorrManager; }

  // --- Task methods ------------------------------------------------
  /** 
   * @{ 
   * @name Task interface methods 
   */
  /** 
   * Initialize the task 
   */
  void LocalInit();
  /** 
   * Create output objects 
   */
  void UserCreateOutputObjects();
  /** 
   * Process each event 
   *
   * @param option Not used
   */  
  void UserExec(Option_t* option);
  /** 
   * End of job
   * 
   * @param option Not used 
   */
  void Terminate(Option_t* option);
  /** 
   * @} 
   */
  // --- Services for derived classes --------------------------------
  /**
   * Create output branches - called from UserCreateOutputObjects
   */
  virtual void CreateBranches(AliAODHandler*) {}
  /**
   * Mark this event as one to store in the AOD 
   * 
   */
  virtual void MarkEventForStore() const;
  /** 
   * Check if all needed corrections are there and accounted for.  If not,
   * do a Fatal exit 
   * 
   * @param what Which corrections is needed
   * 
   * @return true if all present, false otherwise
   */  
  virtual Bool_t CheckCorrections(UInt_t what) const;
  /** 
   * Read corrections
   * 
   * 
   * @param pe  On return, the eta axis
   * @param pv  On return ,the vertex axis 
   * @param mc  True assume MC input
   * @param sat True if we need for satellite interactions too 
   * 
   * @return true ons succcss
   */
  virtual Bool_t ReadCorrections(const TAxis*& pe, 
				 const TAxis*& pv,
				 Bool_t mc=false,
				 Bool_t sat=false);
  /**
   * Get the ESD event. IF this is the first event, initialise
   *
   * @return Pointer to ESD event structore 
   */
  virtual AliESDEvent* GetESDEvent();

  virtual const char* DefaultConfig() const 
  {
    return "ForwardAODConfig.C";
  }

  // --- Members -----------------------------------------------------
  Bool_t fFirstEvent;        // Wheter we're waiting for the first event
  TList* fList;              // Output list 
  TList* fResults;           // Results list 
  UInt_t fNeededCorrections; // Set this to bit-mask of corrections we need
  UInt_t fExtraCorrections;  // Set this to bit-mask of corrections we'd like
  Bool_t fCloneList;         // Result list is a clone of sum list
private:
  /**
   * A pointer to the corrections manager.  This is here to make the
   * corrections manager persistent - that is, when we write the
   * analysis train to a file (as done in PROOF) we should also write
   * down the corrections mananger.   This pointer ensures that. 
   * 
   */
  AliCorrectionManagerBase* fCorrManager; // Pointer to corrections manager

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