From ec7c7172283effadadb9b95681b3c35937094dc7 Mon Sep 17 00:00:00 2001 From: auras Date: Fri, 16 Nov 2012 11:48:05 +0000 Subject: [PATCH] Kinematics TLorentsVector added to AliMuonForwardTrack --- MFT/AliMuonForwardTrack.cxx | 33 ++++++++++++++++++++++++++--- MFT/AliMuonForwardTrack.h | 17 ++++++++++++++- MFT/AliMuonForwardTrackAnalysis.cxx | 10 ++++----- 3 files changed, 51 insertions(+), 9 deletions(-) diff --git a/MFT/AliMuonForwardTrack.cxx b/MFT/AliMuonForwardTrack.cxx index b12130c0330..6f219e7c048 100644 --- a/MFT/AliMuonForwardTrack.cxx +++ b/MFT/AliMuonForwardTrack.cxx @@ -32,6 +32,8 @@ #include "TParticle.h" #include "AliMuonForwardTrack.h" #include "AliMFTConstants.h" +#include "TLorentzVector.h" +#include "TDatabasePDG.h" ClassImp(AliMuonForwardTrack) @@ -43,7 +45,9 @@ AliMuonForwardTrack::AliMuonForwardTrack(): fMCTrackRef(0), fMFTClusters(0), fNWrongClustersMC(-1), - fTrackMCId(-1) + fTrackMCId(-1), + fKinem(0,0,0,0), + fParamCovMatrix(5,5) { // default constructor @@ -66,7 +70,9 @@ AliMuonForwardTrack::AliMuonForwardTrack(AliMUONTrack *MUONTrack): fMCTrackRef(0), fMFTClusters(0), fNWrongClustersMC(-1), - fTrackMCId(-1) + fTrackMCId(-1), + fKinem(0,0,0,0), + fParamCovMatrix(5,5) { SetMUONTrack(MUONTrack); @@ -88,7 +94,9 @@ AliMuonForwardTrack::AliMuonForwardTrack(const AliMuonForwardTrack& track): fMCTrackRef(0x0), fMFTClusters(0x0), fNWrongClustersMC(track.fNWrongClustersMC), - fTrackMCId(track.fTrackMCId) + fTrackMCId(track.fTrackMCId), + fKinem(track.fKinem), + fParamCovMatrix(track.fParamCovMatrix) { // copy constructor @@ -125,6 +133,8 @@ AliMuonForwardTrack& AliMuonForwardTrack::operator=(const AliMuonForwardTrack& t fMFTClusters->SetOwner(kTRUE); fNWrongClustersMC = track.fNWrongClustersMC; fTrackMCId = track.fTrackMCId; + fKinem = track.fKinem; + fParamCovMatrix = track.fParamCovMatrix; for (Int_t iPlane=0; iPlaneGetParticle("mu-")->Mass(); + Double_t energy = TMath::Sqrt(param->P()*param->P() + mMu*mMu); + fKinem.SetPxPyPzE(param->Px(), param->Py(), param->Pz(), energy); + + TMatrixD cov(5,5); + fParamCovMatrix = param->GetCovariances(); + +} + +//==================================================================================================================================================== + diff --git a/MFT/AliMuonForwardTrack.h b/MFT/AliMuonForwardTrack.h index 3bdc15290ae..d9ffe58a485 100644 --- a/MFT/AliMuonForwardTrack.h +++ b/MFT/AliMuonForwardTrack.h @@ -21,6 +21,7 @@ #include "TClonesArray.h" #include "TParticle.h" #include "AliMFTConstants.h" +#include "TLorentzVector.h" //==================================================================================================================================================== @@ -78,7 +79,17 @@ public: void SetNWrongClustersMC(Int_t nClusters) { fNWrongClustersMC = nClusters; } Int_t GetNWrongClustersMC() { return fNWrongClustersMC; } - Double_t Pt() { return TMath::Sqrt(TMath::Power(GetTrackParamAtMFTCluster(0)->Px(),2)+TMath::Power(GetTrackParamAtMFTCluster(0)->Py(),2)); } + Double_t Pt() { return fKinem.Pt(); } + Double_t Eta() { return fKinem.Eta(); } + Double_t Rapidity() { return fKinem.Rapidity(); } + Double_t Px() { return fKinem.Px(); } + Double_t Py() { return fKinem.Py(); } + Double_t Pz() { return fKinem.Pz(); } + Double_t P() { return fKinem.P(); } + + TMatrixD GetParamCovMatrix() { return fParamCovMatrix; } + + void EvalKinem(Double_t z); void SetTrackMCId(Int_t id) { fTrackMCId = id; } Int_t GetTrackMCId() { return fTrackMCId; } @@ -106,6 +117,10 @@ protected: Int_t fTrackMCId; // this number will identify the track within a MC simulation: run, event, MUON track + TLorentzVector fKinem; + + TMatrixD fParamCovMatrix; + ClassDef(AliMuonForwardTrack,1) }; diff --git a/MFT/AliMuonForwardTrackAnalysis.cxx b/MFT/AliMuonForwardTrackAnalysis.cxx index 6aed11a1539..1032a1c121a 100644 --- a/MFT/AliMuonForwardTrackAnalysis.cxx +++ b/MFT/AliMuonForwardTrackAnalysis.cxx @@ -196,9 +196,9 @@ Bool_t AliMuonForwardTrackAnalysis::LoadNextEvent() { fInputTreeWithBranson -> GetEvent(fEv); fInputTreeWithoutBranson -> GetEvent(fEv); - AliDebug(2,Form("**** analyzing event # %4d (%3d tracks) ****", fEv, fMuonForwardTracksWithBranson->GetEntriesFast())); + AliDebug(2,Form("**** analyzing event # %4d (%3d tracks) ****", fEv+1, fMuonForwardTracksWithBranson->GetEntriesFast())); - AliInfo(Form("**** analyzing event # %6d of %6d ****", fEv, fLastEvent)); + AliInfo(Form("**** analyzing event # %6d of %6d ****", fEv+1, fLastEvent+1)); fPrimaryVtxX = gRandom->Gaus(0., fXVertResMC); fPrimaryVtxY = gRandom->Gaus(0., fYVertResMC); @@ -225,7 +225,7 @@ Bool_t AliMuonForwardTrackAnalysis::LoadNextEvent() { while (AnalyzeMuonPair(kSingleEvent)) continue; } - AliDebug(2,Form("**** analyzed event # %4d (%3d tracks and %3d pairs analyzed) ****", fEv, fNTracksAnalyzedOfEventAfterCut, fNPairsAnalyzedOfEventAfterCut)); + AliDebug(2,Form("**** analyzed event # %4d (%3d tracks and %3d pairs analyzed) ****", fEv+1, fNTracksAnalyzedOfEventAfterCut, fNPairsAnalyzedOfEventAfterCut)); if (fMuonPairAnalysis && fMixing) { for (fEvMix=fEv+1; fEvMix<=fEv+fNEventsToMix; fEvMix++) { @@ -256,8 +256,8 @@ Bool_t AliMuonForwardTrackAnalysis::LoadNextEvent() { fInputTreeWithoutBranson -> GetEvent(fEv); AliDebug(2,Form("**** mixing event # %4d (%3d tracks) with event # %4d (%3d tracks) ****", - fEv, fMuonForwardTracksWithBranson->GetEntriesFast(), - fEvMix, fMuonForwardTracksWithBransonMix ->GetEntriesFast())); + fEv+1, fMuonForwardTracksWithBranson->GetEntriesFast(), + fEvMix+1, fMuonForwardTracksWithBransonMix ->GetEntriesFast())); if (fMuonForwardTrackPairsWithBranson || fMuonForwardTrackPairsWithoutBranson) { fMuonForwardTrackPairsWithBranson -> Clear("C"); fMuonForwardTrackPairsWithoutBranson -> Clear("C"); -- 2.43.0