#include "AliJetCalTrk.h"
#include "AliVCaloCells.h"
using std::cout;
using std::endl;
ClassImp(AliJetCalTrkTrack)
AliJetCalTrkTrack::AliJetCalTrkTrack():
TObject(),
fCalTrkTrackRef(),
fCalTrkCutFlag(kFALSE),
fCalTrkSignalFlag(kFALSE),
fCalTrkPtCorr(1.)
{
}
AliJetCalTrkTrack::AliJetCalTrkTrack(AliVTrack* track, Bool_t cutFlag, Bool_t signalFlag, Float_t ptCorr):
TObject(),
fCalTrkTrackRef(track),
fCalTrkCutFlag(cutFlag),
fCalTrkSignalFlag(signalFlag),
fCalTrkPtCorr(ptCorr)
{
}
AliJetCalTrkTrack::AliJetCalTrkTrack(AliVParticle* track, Bool_t cutFlag, Bool_t signalFlag, Float_t ptCorr):
TObject(),
fCalTrkTrackRef(track),
fCalTrkCutFlag(cutFlag),
fCalTrkSignalFlag(signalFlag),
fCalTrkPtCorr(ptCorr)
{
}
AliJetCalTrkTrack::AliJetCalTrkTrack(const AliJetCalTrkTrack& rCalTrk):
TObject(rCalTrk),
fCalTrkTrackRef(rCalTrk.fCalTrkTrackRef),
fCalTrkCutFlag(rCalTrk.fCalTrkCutFlag),
fCalTrkSignalFlag(rCalTrk.fCalTrkSignalFlag),
fCalTrkPtCorr(rCalTrk.fCalTrkPtCorr)
{
}
AliJetCalTrkTrack& AliJetCalTrkTrack::operator=(const AliJetCalTrkTrack& rhs)
{
if (this != &rhs) {
TObject::operator=(rhs);
fCalTrkTrackRef = rhs.fCalTrkTrackRef;
fCalTrkCutFlag = rhs.fCalTrkCutFlag;
fCalTrkSignalFlag = rhs.fCalTrkSignalFlag;
fCalTrkPtCorr = rhs.fCalTrkPtCorr;
}
return *this;
}
void AliJetCalTrkTrack::Clear(Option_t* )
{
fCalTrkTrackRef = 0;
fCalTrkCutFlag = 0;
fCalTrkSignalFlag = 0;
fCalTrkPtCorr = 1.;
}
void AliJetCalTrkTrack::Print(const Option_t* option) const
{
cout << "Track: " << option << ", Pt: " << GetPt() << ", Eta: " << GetEta() << ", Phi: " << GetPhi() << endl;
}
ClassImp(AliJetCalTrkTrackKine)
AliJetCalTrkTrackKine::AliJetCalTrkTrackKine():
AliJetCalTrkTrack(),
fCalTrkPtReso(1.),
fCalTrkTrackE(-999.),
fCalTrkTrackPt(-999.),
fCalTrkTrackP(-999.),
fCalTrkTrackPx(-999.),
fCalTrkTrackPy(-999.),
fCalTrkTrackPz(-999.)
{
}
AliJetCalTrkTrackKine::AliJetCalTrkTrackKine(AliVParticle* track, Bool_t cutFlag, Bool_t signalFlag, Float_t ptReso) :
AliJetCalTrkTrack(track,cutFlag,signalFlag),
fCalTrkPtReso(ptReso),
fCalTrkTrackE(-999.),
fCalTrkTrackPt(-999.),
fCalTrkTrackP(-999.),
fCalTrkTrackPx(-999.),
fCalTrkTrackPy(-999.),
fCalTrkTrackPz(-999.)
{
CalcPx(); CalcPy(); CalcPz(); CalcP(); CalcPt(); CalcE();
}
void AliJetCalTrkTrackKine::Clear(Option_t* option)
{
fCalTrkPtReso = 1.;
fCalTrkTrackE = -999;
fCalTrkTrackPt = -999;
fCalTrkTrackP = -999;
fCalTrkTrackPx = -999;
fCalTrkTrackPy = -999;
fCalTrkTrackPz = -999;
AliJetCalTrkTrack::Clear(option);
}
Float_t AliJetCalTrkTrackKine::CalcE()
{
if(fCalTrkTrackE==-999){
if ( fCalTrkPtReso != 1 ){
fCalTrkTrackE = TMath::Sqrt(GetPx()*GetPx()+GetPy()*GetPy()+GetPz()*GetPz()+GetM()*GetM());
}
else {fCalTrkTrackE = GetParticle()->E(); }
}
return fCalTrkTrackE;
}
Float_t AliJetCalTrkTrackKine::CalcPt()
{
if(fCalTrkTrackPt==-999){
if ( fCalTrkPtReso != 1 ){
fCalTrkTrackPt = TMath::Sqrt(GetPx()*GetPx()+GetPy()*GetPy());
}
else {fCalTrkTrackPt = GetParticle()->Pt();}
}
return fCalTrkTrackPt;
}
Float_t AliJetCalTrkTrackKine::CalcP()
{
if(fCalTrkTrackP==-999){
if ( fCalTrkPtReso != 1 ){
fCalTrkTrackP = TMath::Sqrt(GetPx()*GetPx()+GetPy()*GetPy()+GetPz()*GetPz());
}
else {fCalTrkTrackP = GetParticle()->P(); }
}
return fCalTrkTrackP;
}
ClassImp(AliJetCalTrkEvent)
AliJetCalTrkEvent::AliJetCalTrkEvent():
TObject(),
fJetCalTrkTrack(0x0),
fJetCalTrkCell(0x0),
fNJetCalTrkTrack(0)
{
}
AliJetCalTrkEvent::AliJetCalTrkEvent(Short_t opt,Bool_t kine,Bool_t kIsHighMult):
TObject(),
fJetCalTrkTrack(0x0),
fJetCalTrkCell(0x0),
fNJetCalTrkTrack(0)
{
if (kine==0) {
if(opt%2==!0 || opt==0){
fJetCalTrkTrack = new TClonesArray("AliJetCalTrkTrack", kIsHighMult*3800+200);
}
}
else {
fJetCalTrkTrack = new TClonesArray("AliJetCalTrkTrackKine", kIsHighMult*3800+200);
}
}
AliJetCalTrkEvent::~AliJetCalTrkEvent()
{
if (fJetCalTrkTrack) delete fJetCalTrkTrack;
if (fJetCalTrkCell) delete fJetCalTrkCell;
}
AliJetCalTrkEvent::AliJetCalTrkEvent(const AliJetCalTrkEvent& rCalTrkEvent):
TObject(),
fJetCalTrkTrack(rCalTrkEvent.fJetCalTrkTrack),
fJetCalTrkCell(rCalTrkEvent.fJetCalTrkCell),
fNJetCalTrkTrack(rCalTrkEvent.fNJetCalTrkTrack)
{
}
AliJetCalTrkEvent& AliJetCalTrkEvent::operator=(const AliJetCalTrkEvent& rhs)
{
if (this != &rhs) {
TObject::operator=(rhs);
if (fJetCalTrkTrack) delete fJetCalTrkTrack;
if (fJetCalTrkCell) delete fJetCalTrkCell;
fJetCalTrkTrack = rhs.fJetCalTrkTrack;
fJetCalTrkCell = rhs.fJetCalTrkCell;
fNJetCalTrkTrack = rhs.fNJetCalTrkTrack;
}
return *this;
}
AliJetCalTrkTrack* AliJetCalTrkEvent::AddCalTrkTrack(AliVTrack* track, Bool_t cutFlag, Bool_t signalFlag, Float_t ptCorr)
{
TClonesArray &tJetCalTrkTrack = *fJetCalTrkTrack ;
AliJetCalTrkTrack *n = new(tJetCalTrkTrack[fNJetCalTrkTrack++]) AliJetCalTrkTrack(track, cutFlag, signalFlag, ptCorr) ;
return n ;
}
AliJetCalTrkTrack* AliJetCalTrkEvent::AddCalTrkTrack(AliVParticle* track, Bool_t cutFlag, Bool_t signalFlag, Float_t ptCorr)
{
TClonesArray &tJetCalTrkTrack = *fJetCalTrkTrack ;
AliJetCalTrkTrack *n = new(tJetCalTrkTrack[fNJetCalTrkTrack++]) AliJetCalTrkTrack(track, cutFlag, signalFlag, ptCorr) ;
return n ;
}
AliJetCalTrkTrackKine* AliJetCalTrkEvent::AddCalTrkTrackKine(AliVParticle* track, Bool_t cutFlag, Bool_t signalFlag, Float_t ptReso)
{
TClonesArray &tJetCalTrkTrack = *fJetCalTrkTrack ;
AliJetCalTrkTrackKine *n = new(tJetCalTrkTrack[fNJetCalTrkTrack++]) AliJetCalTrkTrackKine(track, cutFlag, signalFlag, ptReso) ;
return n ;
}
AliJetCalTrkTrack* AliJetCalTrkEvent::GetCalTrkTrack(Int_t i)
{
return (AliJetCalTrkTrack*) fJetCalTrkTrack->At(i);
}
void AliJetCalTrkEvent::Clear(Option_t* )
{
if(fJetCalTrkTrack) fJetCalTrkTrack->Clear("C");
fNJetCalTrkTrack = 0;
}
void AliJetCalTrkEvent::Print(const Option_t* ) const
{
cout<< "Number of tracks:" << fNJetCalTrkTrack << endl;
}