ROOT logo
#ifndef ALIJETFILLCALTRKTRACKMC_H
#define ALIJETFILLCALTRKTRACKMC_H
 
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
 
/* $Id$ */

//--------------------------------------------------
// Filling of CalTrkTrack objects in the MC reader task
//
// Author: magali.estienne@subatech.in2p3.fr
//         alexandre.shabetai@cern.ch
//-------------------------------------------------

#include "AliJetFillCalTrkEvent.h"

class AliVEvent;
class AliMCEvent;

class AliJetFillCalTrkTrackMC : public AliJetFillCalTrkEvent
{
 public: 
  AliJetFillCalTrkTrackMC();
  AliJetFillCalTrkTrackMC(AliVEvent *fVEvt);
  virtual ~AliJetFillCalTrkTrackMC();
  
  // Setter
  void    SetHadCorrector(AliJetHadronCorrection* const corr) {fHadCorr = corr;}
  void    SetApplyMIPCorrection(Bool_t const val)             {fApplyMIPCorrection = val;}
  void    SetVEvent(AliVEvent* const evt)                     {fVEvt = evt;} 
  void    SetMCEvent(AliMCEvent* const mc)                    {fMCEvent = mc ;}

  // Getter
  Int_t   GetHadCorrection() const                            {return fApplyMIPCorrection;}

  // Other
  void    Exec(Option_t const * option);
  Bool_t  FillKine();
  // Fast Simulation
  Float_t SmearMomentum(Int_t ind, Float_t p);
  Bool_t  Efficiency(Float_t pt, Float_t eta, Float_t phi);

  // we have different cases
  // AOD reading -> MC from AOD
  // ESD reading -> MC from Kinematics
  // this has to match with our selection of input events
  enum {kTrackUndef = 0, kTrackKineAll, kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance};

 protected:
  AliJetHadronCorrection* fHadCorr;            // Pointer to Hadron Correction Object
  Bool_t                  fApplyMIPCorrection; // Apply MIP or not ? Exclusive with fApplyFractionHadronicCorrection
  AliVEvent*              fVEvt;               // Pointer to AliVEvent object
  AliMCEvent*             fMCEvent;            // Pointer to AliMCEvent object
          
 private:
  AliJetFillCalTrkTrackMC(const AliJetFillCalTrkTrackMC &det);
  AliJetFillCalTrkTrackMC &operator=(const AliJetFillCalTrkTrackMC &det);

  ClassDef(AliJetFillCalTrkTrackMC,1)          // Fill AliJetCalTrkTrack/TrackKine with MC track information
};

#endif
 AliJetFillCalTrkTrackMC.h:1
 AliJetFillCalTrkTrackMC.h:2
 AliJetFillCalTrkTrackMC.h:3
 AliJetFillCalTrkTrackMC.h:4
 AliJetFillCalTrkTrackMC.h:5
 AliJetFillCalTrkTrackMC.h:6
 AliJetFillCalTrkTrackMC.h:7
 AliJetFillCalTrkTrackMC.h:8
 AliJetFillCalTrkTrackMC.h:9
 AliJetFillCalTrkTrackMC.h:10
 AliJetFillCalTrkTrackMC.h:11
 AliJetFillCalTrkTrackMC.h:12
 AliJetFillCalTrkTrackMC.h:13
 AliJetFillCalTrkTrackMC.h:14
 AliJetFillCalTrkTrackMC.h:15
 AliJetFillCalTrkTrackMC.h:16
 AliJetFillCalTrkTrackMC.h:17
 AliJetFillCalTrkTrackMC.h:18
 AliJetFillCalTrkTrackMC.h:19
 AliJetFillCalTrkTrackMC.h:20
 AliJetFillCalTrkTrackMC.h:21
 AliJetFillCalTrkTrackMC.h:22
 AliJetFillCalTrkTrackMC.h:23
 AliJetFillCalTrkTrackMC.h:24
 AliJetFillCalTrkTrackMC.h:25
 AliJetFillCalTrkTrackMC.h:26
 AliJetFillCalTrkTrackMC.h:27
 AliJetFillCalTrkTrackMC.h:28
 AliJetFillCalTrkTrackMC.h:29
 AliJetFillCalTrkTrackMC.h:30
 AliJetFillCalTrkTrackMC.h:31
 AliJetFillCalTrkTrackMC.h:32
 AliJetFillCalTrkTrackMC.h:33
 AliJetFillCalTrkTrackMC.h:34
 AliJetFillCalTrkTrackMC.h:35
 AliJetFillCalTrkTrackMC.h:36
 AliJetFillCalTrkTrackMC.h:37
 AliJetFillCalTrkTrackMC.h:38
 AliJetFillCalTrkTrackMC.h:39
 AliJetFillCalTrkTrackMC.h:40
 AliJetFillCalTrkTrackMC.h:41
 AliJetFillCalTrkTrackMC.h:42
 AliJetFillCalTrkTrackMC.h:43
 AliJetFillCalTrkTrackMC.h:44
 AliJetFillCalTrkTrackMC.h:45
 AliJetFillCalTrkTrackMC.h:46
 AliJetFillCalTrkTrackMC.h:47
 AliJetFillCalTrkTrackMC.h:48
 AliJetFillCalTrkTrackMC.h:49
 AliJetFillCalTrkTrackMC.h:50
 AliJetFillCalTrkTrackMC.h:51
 AliJetFillCalTrkTrackMC.h:52
 AliJetFillCalTrkTrackMC.h:53
 AliJetFillCalTrkTrackMC.h:54
 AliJetFillCalTrkTrackMC.h:55
 AliJetFillCalTrkTrackMC.h:56
 AliJetFillCalTrkTrackMC.h:57
 AliJetFillCalTrkTrackMC.h:58
 AliJetFillCalTrkTrackMC.h:59
 AliJetFillCalTrkTrackMC.h:60
 AliJetFillCalTrkTrackMC.h:61
 AliJetFillCalTrkTrackMC.h:62
 AliJetFillCalTrkTrackMC.h:63