1 /**************************************************************************
2 * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 //-------------------------------------------------------------------------
19 // AOD class for di-jets
20 // The present version is for test purposes only
21 // Author: Andreas Morsch, CERN
22 //-------------------------------------------------------------------------
24 #include <TLorentzVector.h>
25 #include <TProcessID.h>
26 #include "AliAODDiJet.h"
27 #include "AliAODJet.h"
32 //______________________________________________________________________________
33 AliAODDiJet::AliAODDiJet() :
42 AliAODDiJet::AliAODDiJet(Double_t px, Double_t py, Double_t pz, Double_t e):
43 AliAODJet(px, py, pz, e),
48 // another constructor
51 AliAODDiJet::AliAODDiJet(TLorentzVector & p):
61 //______________________________________________________________________________
62 AliAODDiJet::~AliAODDiJet()
65 if (fJetR) fJetR->Delete();
68 void AliAODDiJet::SetJetRefs(AliAODJet* jet1, AliAODJet* jet2)
70 // Set references to the two jets
71 if (fJetR) fJetR->Delete();
72 fJetR = new TRefArray(TProcessID::GetProcessWithUID( jet1 ));
80 //______________________________________________________________________________
81 Float_t AliAODDiJet::DeltaPhi()
83 // phi distance between the two jets
84 // the result is in the interval [0,pi]
86 Float_t phi1 = Jet(0)->Phi();
87 Float_t phi2 = Jet(1)->Phi();
88 Float_t dphi = TMath::Abs(phi1 - phi2);
89 dphi = (dphi > TMath::Pi()) ? (2*TMath::Pi()-dphi) : dphi;
94 //______________________________________________________________________________
95 Float_t AliAODDiJet::PhiImbalance()
97 // phi imbalance wrt back-to-back
98 // the result is in the interval [-pi,pi]
100 Float_t phi1 = Jet(0)->Phi();
101 Float_t phi2 = Jet(1)->Phi();
102 Float_t dphi = phi1 - phi2;
103 dphi = dphi - TMath::Sign((Float_t)TMath::Pi(),dphi);