bugs corrected
[u/mrichter/AliRoot.git] / PWG4 / PartCorr / AliV0Reader.h
index fd2ec0434d20b5257831b7712fb3cfdae27a92ab..41a3ab9bd2e4afb4fe7a8bf36f942e92a1f9fa59 100644 (file)
-#ifndef ALIV0READER_H
-#define ALIV0READER_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-
-
-// --- ROOT system ---
-#include "TObject.h" 
-#include "TChain.h"
-#include "AliESDv0.h"
-#include "AliESDVertex.h"
-#include "AliESDInputHandler.h"
-#include "AliMCEventHandler.h"
-#include "AliESDEvent.h"
-#include "AliESDtrack.h"
-#include "AliKFParticle.h"
-#include "TParticle.h"
-#include "AliStack.h"
-#include "AliGammaConversionHistograms.h"
-#include <vector>
-
-class TClonesArray ; 
-class TFormula ;
-class TParticle ; 
-class Riostream ;
-class TChain;
-//--- AliRoot system ---
-
-class AliStack ;
-class AliESDEvent ; 
-class AliMCEventHandler;
-class AliLog ;
-
-class AliV0Reader : public TObject {
-
- public: 
-
-  AliV0Reader();                                        //constructor
-  AliV0Reader(const AliV0Reader & g);                   //copy constructor
-  AliV0Reader & operator = (const AliV0Reader & g);     //assignment operator
-  virtual ~AliV0Reader() {;}                            //virtual destructor
-  /*
-   *Initialize the reader
-   */
-  void Initialize();
-
-  /*
-   *Returns the number of v0s in the event, no cuts applied.
-   */
-  Int_t GetNumberOfV0s(){return fESDEvent->GetNumberOfV0s();}
-
-  /*
-   * Check if there are any more good v0s left in the v0 stack
-   * if so, fCurrent v0 is set to this v0 and can be retrieved
-   * by GetCurrentV0 function.
-   * returns kFALSE if there is no more good v0s in the v0 stack
-   */
-  Bool_t NextV0();
-  
-  /*
-   * Returns the v0 at the given index, no checks are done on the v0. 
-   */
-  AliESDv0* GetV0(Int_t index);
-
-  /*
-   * Returns the current v0
-   */
-  AliESDv0* GetCurrentV0(){return fCurrentV0;}
-
-  /*
-   * Returns the negative ESD track which belongs to fCurrentV0
-   */
-  AliESDtrack* GetNegativeESDTrack(){return fESDEvent->GetTrack(fCurrentV0->GetNindex());}
-
-  /*
-   * Returns the positive ESD track which belongs to fCurrentV0
-   */
-  AliESDtrack* GetPositiveESDTrack(){return fESDEvent->GetTrack(fCurrentV0->GetPindex());}
-
-  /*
-   * Returns the negative KF particle which belongs to fCurrentV0
-   */
-  AliKFParticle* GetNegativeKFParticle();
-
-  /*
-   * Returns the positive KF particle which belongs to fCurrentV0
-   */
-  AliKFParticle* GetPositiveKFParticle();
-  /*
-   * Returns the KFParticle object of the 2 tracks.
-   */
-  AliKFParticle* GetMotherCandidateKFCombination();
-  /*
-   * Checks the probablity that the PID of the particle is what we want it to be.
-   */
-  Bool_t CheckPIDProbability(Double_t negProbCut, Double_t posProbCut);
-
-  /*
-   *Get the negative MC TParticle from the stack 
-   */
-  TParticle * GetNegativeMCParticle(){return fNegativeMCParticle;}//fMCStack->Particle(TMath::Abs(fESDEvent->GetTrack(fCurrentV0->GetNindex())->GetLabel()));}
-
-  /*
-   *Get the positive MC TParticle from the stack 
-   */
-  TParticle * GetPositiveMCParticle(){return fPositiveMCParticle;}//{return fMCStack->Particle(TMath::Abs(fESDEvent->GetTrack(fCurrentV0->GetPindex())->GetLabel()));}
-
-  /*
-   *Get the mother MC TParticle from the stack 
-   */
-  TParticle * GetMotherMCParticle(){return fMotherMCParticle;}
-
-  Bool_t HasSameMCMother();
-
-  /*
-   *Get the MC stack 
-   */
-  AliStack* GetMCStack(){return fMCStack;}
-
-  /*
-   *Get the magnetic field from the ESD event 
-   */
-  Double_t GetMagneticField(){return fESDEvent->GetMagneticField();}
-
-  /*
-   *Get the primary vertex from the esd event
-   */
-  const AliESDVertex *GetPrimaryVertex() const {return fESDEvent->GetPrimaryVertex();}
-
-  /*
-   * Set the PID of the negative track
-   */
-  void SetNegativeTrackPID(Int_t negTrackPID){fNegativeTrackPID=negTrackPID;}
-
-  /*
-   * Set the PID of the positive track
-   */
-  void SetPositiveTrackPID(Int_t posTrackPID){fPositiveTrackPID=posTrackPID;}
-
-  /*
-   * Set the flag to use the kfparticle class. Will also disable the use of esd tracks
-   */
-  void UseKFParticle(){fUseKFParticle = kTRUE; fUseESDTrack = kFALSE;}
-
-  /*
-   *  Set the flag to use the esd track class. Will also disable the use of kf particles
-   */
-  void UseESDTrack(){fUseESDTrack = kTRUE; fUseKFParticle = kFALSE;}
-
-  /*
-   *  Set the flag to use improved vertex or not
-   */
-  void SetUseImprovedVertex(Bool_t useImprovedVertex){fUseImprovedVertex=useImprovedVertex;}
-
-  /*
-   * Return the number in the species array belonging to the negative or positive track pid.
-   */
-  Int_t GetSpeciesIndex(Int_t chargeOfTrack);
-
-  /*
-   * Return the x coordinate of the v0
-   */
-  Double_t GetX(){return fCurrentXValue;}
-
-  /*
-   * Return the y coordinate of the v0
-   */
-  Double_t GetY(){return fCurrentYValue;}
-
-  /*
-   * Return the Z coordinate of the v0
-   */
-  Double_t GetZ(){return fCurrentZValue;}
-
-  /*
-   * Return the radius of the v0
-   */
-  Double_t GetXYRadius(){return sqrt((Double_t)(fCurrentXValue*fCurrentXValue + fCurrentYValue*fCurrentYValue));}
-
-  /*
-   * Get the opening angle between the two tracks
-   */
-  Double_t GetOpeningAngle(){return fNegativeTrackLorentzVector->Angle(fPositiveTrackLorentzVector->Vect());}
-
-  Double_t GetNegativeTrackEnergy(){return fCurrentNegativeKFParticle->E();}
-  Double_t GetPositiveTrackEnergy(){return fCurrentPositiveKFParticle->E();}
-  Double_t GetMotherCandidateEnergy(){return fCurrentMotherKFCandidate->E();}
-
-  Double_t GetNegativeTrackPt(){return fNegativeTrackLorentzVector->Pt();}
-  Double_t GetPositiveTrackPt(){return fPositiveTrackLorentzVector->Pt();}
-  Double_t GetMotherCandidatePt(){return fMotherCandidateLorentzVector->Pt();}
-
-  Double_t GetNegativeTrackEta(){return fNegativeTrackLorentzVector->Eta();}
-  Double_t GetPositiveTrackEta(){return fPositiveTrackLorentzVector->Eta();}
-  Double_t GetMotherCandidateEta(){return fMotherCandidateLorentzVector->Eta();}
-
-  Double_t GetMotherCandidateNDF(){return fCurrentMotherKFCandidate->GetNDF();}
-  Double_t GetMotherCandidateChi2(){return fCurrentMotherKFCandidate->GetChi2();}
-  Double_t GetMotherCandidateMass(){return fMotherCandidateKFMass;}
-  Double_t GetMotherCandidateWidth(){return fMotherCandidateKFWidth;}
-
-  Double_t GetNegativeTrackPhi();
-  Double_t GetPositiveTrackPhi();
-  Double_t GetMotherCandidatePhi();
-
-  void UpdateEventByEventData();
-  
-  Double_t GetMaxRCut(){return fMaxR;}
-  Double_t GetEtaCut(){return fEtaCut;}
-  Double_t GetPtCut(){return fPtCut;}
-  Double_t GetChi2Cut(){return fChi2Cut;}
-
-  void SetMaxRCut(Double_t maxR){fMaxR=maxR;}
-  void SetEtaCut(Double_t etaCut){fEtaCut=etaCut;}
-  void SetPtCut(Double_t ptCut){fPtCut=ptCut;}
-  void SetChi2Cut(Double_t chi2){fChi2Cut=chi2;}
-  
-  void SetXVertexCut(Double_t xVtx){fCurrentXValue=xVtx;}
-  void SetYVertexCut(Double_t yVtx){fCurrentYValue=yVtx;}
-  void SetZVertexCut(Double_t zVtx){fCurrentZValue=zVtx;}
-  void SetPIDProbability(Double_t pidProb){fPIDProbabilityCutPositiveParticle=pidProb; fPIDProbabilityCutNegativeParticle=pidProb;}
-  void SetPIDProbabilityNegativeParticle(Double_t pidProb){fPIDProbabilityCutNegativeParticle=pidProb;}
-  void SetPIDProbabilityPositiveParticle(Double_t pidProb){fPIDProbabilityCutPositiveParticle=pidProb;}
-  void SetSigmaMass(Double_t sigmaMass){fNSigmaMass=sigmaMass;}
-  void UpdateV0Information();
-
-  void SetHistograms(AliGammaConversionHistograms *histograms){fHistograms=histograms;}
-
-  std::vector<AliKFParticle> fCurrentEventGoodV0s;
-  std::vector<AliKFParticle> fPreviousEventGoodV0s;
-
- private:
-  AliStack * fMCStack;           // pointer to MonteCarlo particle stack 
-  AliMCEventHandler* fMCTruth;   // pointer to the MC event handler
-  TChain * fChain;               // pointer to the TChain
-  
-  AliESDInputHandler* fESDHandler;      //! pointer to esd object
-  AliESDEvent *fESDEvent;               //! pointer to esd object
-
-  AliGammaConversionHistograms *fHistograms;
-  
-  Int_t fCurrentV0IndexNumber;
-  AliESDv0 * fCurrentV0;                //! pointer to the current v0
-  AliKFParticle * fCurrentNegativeKFParticle;  //! pointer to the negative KF particle
-  AliKFParticle * fCurrentPositiveKFParticle;  //! pointer to the positive KF particle
-  AliKFParticle * fCurrentMotherKFCandidate;   //! pointer to the positive KF particle
-
-  AliESDtrack * fCurrentNegativeESDTrack;      //! pointer to the negative ESD track
-  AliESDtrack * fCurrentPositiveESDTrack;      //! pointer to the positive ESD track
-  TLorentzVector * fNegativeTrackLorentzVector; //! pointer to the negative Track Lorentz Vector
-  TLorentzVector * fPositiveTrackLorentzVector; //! pointer to the positive Track Lorentz Vector
-  TLorentzVector * fMotherCandidateLorentzVector;   //! pointer to the mother candidate Track Lorentz Vector
-
-  Double_t fCurrentXValue;
-  Double_t fCurrentYValue;
-  Double_t fCurrentZValue;
-
-  Int_t fPositiveTrackPID;
-  Int_t fNegativeTrackPID;
-
-  TParticle *fNegativeMCParticle;      //!
-  TParticle *fPositiveMCParticle;      //!
-  TParticle *fMotherMCParticle;        //!
-
-  Double_t fMotherCandidateKFMass;
-  Double_t fMotherCandidateKFWidth;
-
-  Bool_t fUseKFParticle;
-  Bool_t fUseESDTrack;
-  Bool_t fDoMC;
-
-  //cuts
-  Double_t fMaxR;
-  Double_t fEtaCut;
-  Double_t fPtCut;
-  Double_t fChi2Cut;
-  Double_t fPIDProbabilityCutNegativeParticle;
-  Double_t fPIDProbabilityCutPositiveParticle;
-  Double_t fXVertexCut;
-  Double_t fYVertexCut;
-  Double_t fZVertexCut;
-  
-  Double_t fNSigmaMass;
-  
-  Bool_t fUseImprovedVertex;
-  
-  ClassDef(AliV0Reader,0)
-};
-
-
-#endif
-
-
-
+#ifndef ALIV0READER_H\r
+#define ALIV0READER_H\r
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
+ * See cxx source for full Copyright notice     */\r
+\r
+////////////////////////////////////////////////\r
+//--------------------------------------------- \r
+// Class used to do analysis on conversion pairs\r
+//---------------------------------------------\r
+////////////////////////////////////////////////\r
+\r
+// --- ROOT system ---\r
+#include "TObject.h" \r
+#include "AliESDv0.h"\r
+#include "AliESDEvent.h"\r
+#include "AliKFParticle.h"\r
+#include "TParticle.h"\r
+#include "AliGammaConversionHistograms.h"\r
+#include <vector>\r
+\r
+class TClonesArray; \r
+class TFormula;\r
+class Riostream;\r
+class TChain;\r
+//--- AliRoot system ---\r
+\r
+class AliStack;\r
+class AliESDEvent; \r
+class AliMCEventHandler;\r
+class AliESDInputHandler;\r
+class AliESDVertex;\r
+class AliLog;\r
+class TChain;\r
+class TChain;\r
+\r
+\r
+\r
+class AliV0Reader : public TObject {\r
+\r
+ public: \r
+\r
+  AliV0Reader();                                        //constructor\r
+  AliV0Reader(const AliV0Reader & g);                   //copy constructor\r
+  AliV0Reader & operator = (const AliV0Reader & g);     //assignment operator\r
+  virtual ~AliV0Reader() {;}                            //virtual destructor\r
+  /*\r
+   *Initialize the reader\r
+   */\r
+  void Initialize();\r
+\r
+  /*\r
+   *Returns the number of v0s in the event, no cuts applied.\r
+   */\r
+  Int_t GetNumberOfV0s() const{return fESDEvent->GetNumberOfV0s();}\r
+\r
+  /*\r
+   * Check if there are any more good v0s left in the v0 stack\r
+   * if so, fCurrent v0 is set to this v0 and can be retrieved\r
+   * by GetCurrentV0 function.\r
+   * returns kFALSE if there is no more good v0s in the v0 stack\r
+   */\r
+  Bool_t NextV0();\r
+  \r
+  /*\r
+   * Returns the v0 at the given index, no checks are done on the v0. \r
+   */\r
+  AliESDv0* GetV0(Int_t index);\r
+\r
+  /*\r
+   * Returns the current v0\r
+   */\r
+  AliESDv0* GetCurrentV0() const{return fCurrentV0;}\r
+\r
+  /*\r
+   * Returns the negative ESD track which belongs to fCurrentV0\r
+   */\r
+  AliESDtrack* GetNegativeESDTrack(){return fESDEvent->GetTrack(fCurrentV0->GetNindex());}\r
+\r
+  /*\r
+   * Returns the positive ESD track which belongs to fCurrentV0\r
+   */\r
+  AliESDtrack* GetPositiveESDTrack(){return fESDEvent->GetTrack(fCurrentV0->GetPindex());}\r
+\r
+  /*\r
+   * Returns the negative KF particle which belongs to fCurrentV0\r
+   */\r
+  AliKFParticle* GetNegativeKFParticle() const{return fCurrentNegativeKFParticle;}\r
+\r
+  /*\r
+   * Returns the positive KF particle which belongs to fCurrentV0\r
+   */\r
+  AliKFParticle* GetPositiveKFParticle() const{return fCurrentPositiveKFParticle;}\r
+  /*\r
+   * Returns the KFParticle object of the 2 tracks.\r
+   */\r
+  AliKFParticle* GetMotherCandidateKFCombination() const{return fCurrentMotherKFCandidate;}\r
+  /*\r
+   * Checks the probablity that the PID of the particle is what we want it to be.\r
+   */\r
+  Bool_t CheckPIDProbability(Double_t negProbCut, Double_t posProbCut);\r
+\r
+  /*\r
+   *Get the negative MC TParticle from the stack \r
+   */\r
+  TParticle * GetNegativeMCParticle() const{return fNegativeMCParticle;}\r
+\r
+  /*\r
+   *Get the positive MC TParticle from the stack \r
+   */\r
+  TParticle * GetPositiveMCParticle() const{return fPositiveMCParticle;}\r
+\r
+  /*\r
+   *Get the mother MC TParticle from the stack \r
+   */\r
+  TParticle * GetMotherMCParticle() const{return fMotherMCParticle;}\r
+\r
+  Bool_t HasSameMCMother();\r
+\r
+  /*\r
+   *Get the MC stack \r
+   */\r
+  AliStack* GetMCStack() const{return fMCStack;}\r
+\r
+  /*\r
+   *Get the magnetic field from the ESD event \r
+   */\r
+  Double_t GetMagneticField() const{return fESDEvent->GetMagneticField();}\r
+\r
+  /*\r
+   *Get the primary vertex from the esd event\r
+   */\r
+  const AliESDVertex *GetPrimaryVertex() const {return fESDEvent->GetPrimaryVertex();}\r
+\r
+  /*\r
+   * Set the PID of the negative track\r
+   */\r
+  void SetNegativeTrackPID(Int_t negTrackPID){fNegativeTrackPID=negTrackPID;}\r
+\r
+  /*\r
+   * Set the PID of the positive track\r
+   */\r
+  void SetPositiveTrackPID(Int_t posTrackPID){fPositiveTrackPID=posTrackPID;}\r
+\r
+  /*\r
+   * Set the flag to use the kfparticle class. Will also disable the use of esd tracks\r
+   */\r
+  void UseKFParticle(){fUseKFParticle = kTRUE; fUseESDTrack = kFALSE;}\r
+\r
+  /*\r
+   *  Set the flag to use the esd track class. Will also disable the use of kf particles\r
+   */\r
+  void UseESDTrack(){fUseESDTrack = kTRUE; fUseKFParticle = kFALSE;}\r
+\r
+  /*\r
+   *  Set the flag to use improved vertex or not\r
+   */\r
+  void SetUseImprovedVertex(Bool_t useImprovedVertex){fUseImprovedVertex=useImprovedVertex;}\r
+\r
+  /*\r
+   * Return the number in the species array belonging to the negative or positive track pid.\r
+   */\r
+  Int_t GetSpeciesIndex(Int_t chargeOfTrack);\r
+\r
+  /*\r
+   * Return the x coordinate of the v0\r
+   */\r
+  Double_t GetX() const{return fCurrentXValue;}\r
+\r
+  /*\r
+   * Return the y coordinate of the v0\r
+   */\r
+  Double_t GetY() const{return fCurrentYValue;}\r
+\r
+  /*\r
+   * Return the Z coordinate of the v0\r
+   */\r
+  Double_t GetZ() const{return fCurrentZValue;}\r
+\r
+  /*\r
+   * Return the radius of the v0\r
+   */\r
+  Double_t GetXYRadius() const{return sqrt((Double_t)(fCurrentXValue*fCurrentXValue + fCurrentYValue*fCurrentYValue));}\r
+\r
+  /*\r
+   * Get the opening angle between the two tracks\r
+   */\r
+  Double_t GetOpeningAngle(){return fNegativeTrackLorentzVector->Angle(fPositiveTrackLorentzVector->Vect());}\r
+\r
+  Double_t GetNegativeTrackEnergy() const{return fCurrentNegativeKFParticle->E();}\r
+  Double_t GetPositiveTrackEnergy() const{return fCurrentPositiveKFParticle->E();}\r
+  Double_t GetMotherCandidateEnergy() const{return fCurrentMotherKFCandidate->E();}\r
+\r
+  Double_t GetNegativeTrackPt() const{return fNegativeTrackLorentzVector->Pt();}\r
+  Double_t GetPositiveTrackPt() const{return fPositiveTrackLorentzVector->Pt();}\r
+  Double_t GetMotherCandidatePt() const{return fMotherCandidateLorentzVector->Pt();}\r
+\r
+  Double_t GetNegativeTrackEta() const{return fNegativeTrackLorentzVector->Eta();}\r
+  Double_t GetPositiveTrackEta() const{return fPositiveTrackLorentzVector->Eta();}\r
+  Double_t GetMotherCandidateEta() const{return fMotherCandidateLorentzVector->Eta();}\r
+\r
+  Double_t GetMotherCandidateNDF() const{return fCurrentMotherKFCandidate->GetNDF();}\r
+  Double_t GetMotherCandidateChi2() const{return fCurrentMotherKFCandidate->GetChi2();}\r
+  Double_t GetMotherCandidateMass() const{return fMotherCandidateKFMass;}\r
+  Double_t GetMotherCandidateWidth() const{return fMotherCandidateKFWidth;}\r
+\r
+  Double_t GetNegativeTrackPhi() const;\r
+  Double_t GetPositiveTrackPhi() const;\r
+  Double_t GetMotherCandidatePhi() const;\r
+\r
+  void UpdateEventByEventData();\r
+  \r
+  Double_t GetMaxRCut() const{return fMaxR;}\r
+  Double_t GetEtaCut() const{return fEtaCut;}\r
+  Double_t GetPtCut() const{return fPtCut;}\r
+  Double_t GetChi2CutConversion() const{return fChi2CutConversion;}\r
+  Double_t GetChi2CutMeson() const{return fChi2CutMeson;}\r
+\r
+  void SetMaxRCut(Double_t maxR){fMaxR=maxR;}\r
+  void SetEtaCut(Double_t etaCut){fEtaCut=etaCut;}\r
+  void SetPtCut(Double_t ptCut){fPtCut=ptCut;}\r
+  void SetChi2CutConversion(Double_t chi2){fChi2CutConversion=chi2;}\r
+  void SetChi2CutMeson(Double_t chi2){fChi2CutMeson=chi2;}\r
+  \r
+  void SetXVertexCut(Double_t xVtx){fCurrentXValue=xVtx;}\r
+  void SetYVertexCut(Double_t yVtx){fCurrentYValue=yVtx;}\r
+  void SetZVertexCut(Double_t zVtx){fCurrentZValue=zVtx;}\r
+  void SetPIDProbability(Double_t pidProb){fPIDProbabilityCutPositiveParticle=pidProb; fPIDProbabilityCutNegativeParticle=pidProb;}\r
+  void SetPIDProbabilityNegativeParticle(Double_t pidProb){fPIDProbabilityCutNegativeParticle=pidProb;}\r
+  void SetPIDProbabilityPositiveParticle(Double_t pidProb){fPIDProbabilityCutPositiveParticle=pidProb;}\r
+  void SetSigmaMass(Double_t sigmaMass){fNSigmaMass=sigmaMass;}\r
+\r
+  void SetDoMCTruth(Bool_t doMC){fDoMC = doMC;}\r
+\r
+  void UpdateV0Information();\r
+\r
+  void SetHistograms(AliGammaConversionHistograms *histograms){fHistograms=histograms;}\r
+\r
+  vector<AliKFParticle> GetCurrentEventGoodV0s() const{return fCurrentEventGoodV0s;}\r
+  vector<AliKFParticle> GetPreviousEventGoodV0s() const{return fPreviousEventGoodV0s;}\r
+\r
+ private:\r
+  AliStack * fMCStack;           // pointer to MonteCarlo particle stack \r
+  AliMCEventHandler* fMCTruth;   // pointer to the MC event handler\r
+  TChain * fChain;               // pointer to the TChain\r
+  \r
+  AliESDInputHandler* fESDHandler;      //! pointer to esd object\r
+  AliESDEvent *fESDEvent;               //! pointer to esd object\r
+\r
+  AliGammaConversionHistograms *fHistograms;\r
+  \r
+  Int_t fCurrentV0IndexNumber;\r
+  AliESDv0 * fCurrentV0;                //! pointer to the current v0\r
+  AliKFParticle * fCurrentNegativeKFParticle;  //! pointer to the negative KF particle\r
+  AliKFParticle * fCurrentPositiveKFParticle;  //! pointer to the positive KF particle\r
+  AliKFParticle * fCurrentMotherKFCandidate;   //! pointer to the positive KF particle\r
+\r
+  AliESDtrack * fCurrentNegativeESDTrack;      //! pointer to the negative ESD track\r
+  AliESDtrack * fCurrentPositiveESDTrack;      //! pointer to the positive ESD track\r
\r
+  TLorentzVector * fNegativeTrackLorentzVector; //! pointer to the negative Track Lorentz Vector\r
+  TLorentzVector * fPositiveTrackLorentzVector; //! pointer to the positive Track Lorentz Vector\r
+  TLorentzVector * fMotherCandidateLorentzVector;   //! pointer to the mother candidate Track Lorentz Vector\r
+\r
+  Double_t fCurrentXValue;\r
+  Double_t fCurrentYValue;\r
+  Double_t fCurrentZValue;\r
+\r
+  Int_t fPositiveTrackPID;\r
+  Int_t fNegativeTrackPID;\r
+\r
+  TParticle *fNegativeMCParticle;      //!\r
+  TParticle *fPositiveMCParticle;      //!\r
+  TParticle *fMotherMCParticle;        //!\r
+\r
+  Double_t fMotherCandidateKFMass;\r
+  Double_t fMotherCandidateKFWidth;\r
+\r
+  Bool_t fUseKFParticle;\r
+  Bool_t fUseESDTrack;\r
+  Bool_t fDoMC;\r
+\r
+  //cuts\r
+  Double_t fMaxR;\r
+  Double_t fEtaCut;\r
+  Double_t fPtCut;\r
+  Double_t fChi2CutConversion;\r
+  Double_t fChi2CutMeson;\r
+  Double_t fPIDProbabilityCutNegativeParticle;\r
+  Double_t fPIDProbabilityCutPositiveParticle;\r
+  Double_t fXVertexCut;\r
+  Double_t fYVertexCut;\r
+  Double_t fZVertexCut;\r
+  \r
+  Double_t fNSigmaMass;\r
+  \r
+  Bool_t fUseImprovedVertex;\r
+  \r
+  vector<AliKFParticle> fCurrentEventGoodV0s;\r
+  vector<AliKFParticle> fPreviousEventGoodV0s;\r
+\r
+  ClassDef(AliV0Reader,0)\r
+};\r
+\r
+\r
+#endif\r
+\r
+\r
+\r