ROOT logo
/* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice */

// Short comment describing what this class does needed!

// $Id: AliJPiZero.h,v 1.4 2008/05/08 15:19:52 djkim Exp $

////////////////////////////////////////////////////
/*!
  \file AliJPiZero.h
  \brief
  \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
  \email: djkim@jyu.fi
  \version $Revision: 1.4 $
  \date $Date: 2008/05/08 15:19:52 $
 */
////////////////////////////////////////////////////

#ifndef ALIJPIZERO_H
#define ALIJPIZERO_H

#ifndef ROOT_TObject
#include <TObject.h>
#endif

#include <TVector3.h>
#include <TLorentzVector.h>

class AliJBaseTrack;
class AliJPhoton;
// #include  "AliJBaseTrack.h"
// #include  "AliJPhoton.h"

//class AliJPhoton;
//class TObject;

class AliJPiZero : public AliJBaseTrack {

  public:
    AliJPiZero();
    virtual ~AliJPiZero(){;}          //destructor
    AliJPiZero(const AliJPiZero& a);//{PhotSum.SetPxPyPzE(0,0,0,0);}   //constructor
    AliJPiZero& operator=(const AliJPiZero& pizero);

    bool SetMass(AliJPhoton* g1, AliJPhoton* g2);

    float GetInvMass()  const {return M();}
    float GetAsymm()    const {return fAsymm;}

    int   GetMassBin()  const {return fMassBin;}
    void  SetMassBin(int im)  {fMassBin=im;}
    void  ResetToZero() {SetPxPyPzE(0, 0, 0, 0);fAsymm=0; fMassBin=-1; fIsGood=kFALSE; fConvPlaneDelta=-999; fPtBin=-1;}
    AliJPhoton *GetPhoton( Int_t i ) const { return fPhoton[i]; }
    void SetGood( Bool_t b ) { fIsGood = b;}
    Bool_t GetGood() const { return fIsGood; }
    void SetConvPlaneDelta( Double_t d ) {fConvPlaneDelta = d; }
    Double_t GetConvPlaneDelta() const { return fConvPlaneDelta; }
    void SetPtBin( Int_t b ) { fPtBin = b; }
    Int_t GetPtBin() const { return fPtBin; }
    
    Double_t Theta() { return fPhoton[0]->Angle( fPhoton[1]->Vect() ); }
    Double_t DPhi() { return TMath::Abs( fPhoton[0]->Phi() - fPhoton[1]->Phi() ); }
    Double_t DZ() { return TMath::Abs( fPhoton[0]->GetZ() - fPhoton[1]->GetZ() ); }

    TVector3 GetP() const {return Vect();}
    TLorentzVector GetSum() const {return *(TLorentzVector*)this;} 

    double DeltaConversion();
        
//     double operator- (const AliJPiZero &pi0);
//     AliJPiZero& operator= (const AliJPiZero& piz);

  protected:
    float fAsymm;  //assymtery and inv. mass
    int fMassBin; //mass bin
    Bool_t fIsGood; //!
    AliJPhoton *fPhoton[2]; //!
    Double_t fConvPlaneDelta; //! plane delta form conversion plane
    Int_t fPtBin; //! pt bin

    ClassDef(AliJPiZero,1)
};

#endif

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