ROOT logo
#ifndef ALICOPYHEADERTASK_H
#define ALICOPYHEADERTASK_H
/**
 * @file   AliCopyHeaderTask.h
 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
 * @date   Tue Jul 12 10:56:38 2011
 * 
 * @brief  A task to copy the ESD header to AOD
 * 
 * @ingroup pwglf_forward_tasks 
 */
#include <AliAnalysisTaskSE.h>
class AliESDVertex;

/**
 * Task to copy header from ESD to AOD 
 * 
 * @ingroup pwglf_forward_scripts_tasks
 * @ingroup pwglf_forward_aod
 */
class AliCopyHeaderTask : public AliAnalysisTaskSE
{
public:
  /** 
   * Constructor
   * 
   * @param name Name
   */
  AliCopyHeaderTask(const char* name="header") 
    : AliAnalysisTaskSE(name)
  {
    fBranchNames = "ESD:AliESDHeader.,AliESDRun.";
  }
  /** 
   * Copy constructor 
   * 
   * @param other Object to copy from 
   */
  AliCopyHeaderTask(const AliCopyHeaderTask& other) 
    : AliAnalysisTaskSE(other)
  {}
  /** 
   * Destructor
   */
  virtual ~AliCopyHeaderTask() {}
  /** 
   * Assignmen operator 
   * 
   * @param other Object to assing from 
   * 
   * @return Reference to this object 
   */
  AliCopyHeaderTask& operator=(const AliCopyHeaderTask& other) 
  {
    AliAnalysisTaskSE::operator=(other);
    return *this;
  }
  /** 
   * @{ 
   * @name Implementation of interface methods
   */
  virtual void   UserCreateOutputObjects() {}
  virtual void   Init() {}
  virtual void   LocalInit() {Init();}
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *option);
  /* @} */
protected:
  /** 
   * Copy an ESD primary vertex to the AOD 
   * 
   * @param aod   Where to copy to
   * @param vtx   Vertex (if any) to copy to
   * @param type  Type of vertex 
   */
  void CopyVertex(AliAODEvent& aod, const AliESDVertex* vtx, Int_t type); 

  ClassDef(AliCopyHeaderTask,1); // Task to copy header from ESD to AOD
};

#endif
/* 
 * Local Variables:
 *  mode: C++ 
 * End:
 */
 AliCopyHeaderTask.h:1
 AliCopyHeaderTask.h:2
 AliCopyHeaderTask.h:3
 AliCopyHeaderTask.h:4
 AliCopyHeaderTask.h:5
 AliCopyHeaderTask.h:6
 AliCopyHeaderTask.h:7
 AliCopyHeaderTask.h:8
 AliCopyHeaderTask.h:9
 AliCopyHeaderTask.h:10
 AliCopyHeaderTask.h:11
 AliCopyHeaderTask.h:12
 AliCopyHeaderTask.h:13
 AliCopyHeaderTask.h:14
 AliCopyHeaderTask.h:15
 AliCopyHeaderTask.h:16
 AliCopyHeaderTask.h:17
 AliCopyHeaderTask.h:18
 AliCopyHeaderTask.h:19
 AliCopyHeaderTask.h:20
 AliCopyHeaderTask.h:21
 AliCopyHeaderTask.h:22
 AliCopyHeaderTask.h:23
 AliCopyHeaderTask.h:24
 AliCopyHeaderTask.h:25
 AliCopyHeaderTask.h:26
 AliCopyHeaderTask.h:27
 AliCopyHeaderTask.h:28
 AliCopyHeaderTask.h:29
 AliCopyHeaderTask.h:30
 AliCopyHeaderTask.h:31
 AliCopyHeaderTask.h:32
 AliCopyHeaderTask.h:33
 AliCopyHeaderTask.h:34
 AliCopyHeaderTask.h:35
 AliCopyHeaderTask.h:36
 AliCopyHeaderTask.h:37
 AliCopyHeaderTask.h:38
 AliCopyHeaderTask.h:39
 AliCopyHeaderTask.h:40
 AliCopyHeaderTask.h:41
 AliCopyHeaderTask.h:42
 AliCopyHeaderTask.h:43
 AliCopyHeaderTask.h:44
 AliCopyHeaderTask.h:45
 AliCopyHeaderTask.h:46
 AliCopyHeaderTask.h:47
 AliCopyHeaderTask.h:48
 AliCopyHeaderTask.h:49
 AliCopyHeaderTask.h:50
 AliCopyHeaderTask.h:51
 AliCopyHeaderTask.h:52
 AliCopyHeaderTask.h:53
 AliCopyHeaderTask.h:54
 AliCopyHeaderTask.h:55
 AliCopyHeaderTask.h:56
 AliCopyHeaderTask.h:57
 AliCopyHeaderTask.h:58
 AliCopyHeaderTask.h:59
 AliCopyHeaderTask.h:60
 AliCopyHeaderTask.h:61
 AliCopyHeaderTask.h:62
 AliCopyHeaderTask.h:63
 AliCopyHeaderTask.h:64
 AliCopyHeaderTask.h:65
 AliCopyHeaderTask.h:66
 AliCopyHeaderTask.h:67
 AliCopyHeaderTask.h:68
 AliCopyHeaderTask.h:69
 AliCopyHeaderTask.h:70
 AliCopyHeaderTask.h:71
 AliCopyHeaderTask.h:72
 AliCopyHeaderTask.h:73
 AliCopyHeaderTask.h:74
 AliCopyHeaderTask.h:75
 AliCopyHeaderTask.h:76
 AliCopyHeaderTask.h:77
 AliCopyHeaderTask.h:78
 AliCopyHeaderTask.h:79
 AliCopyHeaderTask.h:80
 AliCopyHeaderTask.h:81
 AliCopyHeaderTask.h:82
 AliCopyHeaderTask.h:83
 AliCopyHeaderTask.h:84
 AliCopyHeaderTask.h:85
 AliCopyHeaderTask.h:86