]>
Commit | Line | Data |
---|---|---|
5769fc2c | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
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 | **************************************************************************/ | |
15 | ||
16 | /* $Id$ */ | |
17 | ||
18 | //------------------------------------------------------------------------- | |
19 | // AOD class for di-jets | |
20 | // The present version is for test purposes only | |
21 | // Author: Andreas Morsch, CERN | |
22 | //------------------------------------------------------------------------- | |
23 | ||
24 | #include <TLorentzVector.h> | |
03c4a89d | 25 | #include <TProcessID.h> |
5769fc2c | 26 | #include "AliAODDiJet.h" |
03c4a89d | 27 | #include "AliAODJet.h" |
5769fc2c | 28 | |
29 | ClassImp(AliAODDiJet) | |
30 | ||
31 | ||
32 | //______________________________________________________________________________ | |
33 | AliAODDiJet::AliAODDiJet() : | |
34 | AliAODJet(), | |
35 | fJetR(0), | |
36 | fJet1(0), | |
37 | fJet2(0) | |
38 | { | |
39 | // constructor | |
40 | } | |
41 | ||
42 | AliAODDiJet::AliAODDiJet(Double_t px, Double_t py, Double_t pz, Double_t e): | |
43 | AliAODJet(px, py, pz, e), | |
03c4a89d | 44 | fJetR(0), |
5769fc2c | 45 | fJet1(0), |
46 | fJet2(0) | |
47 | { | |
48 | // another constructor | |
49 | } | |
50 | ||
51 | AliAODDiJet::AliAODDiJet(TLorentzVector & p): | |
52 | AliAODJet(p), | |
03c4a89d | 53 | fJetR(0), |
5769fc2c | 54 | fJet1(0), |
55 | fJet2(0) | |
56 | { | |
57 | // constructor | |
58 | } | |
59 | ||
60 | ||
61 | //______________________________________________________________________________ | |
62 | AliAODDiJet::~AliAODDiJet() | |
63 | { | |
64 | // destructor | |
cb5cc75f | 65 | if (fJetR) fJetR->Delete(); |
5769fc2c | 66 | } |
03c4a89d | 67 | |
68 | void AliAODDiJet::SetJetRefs(AliAODJet* jet1, AliAODJet* jet2) | |
69 | { | |
70 | // Set references to the two jets | |
cb5cc75f | 71 | if (fJetR) fJetR->Delete(); |
03c4a89d | 72 | fJetR = new TRefArray(TProcessID::GetProcessWithUID( jet1 )); |
73 | fJetR->Add(jet1); | |
74 | fJetR->Add(jet2); | |
75 | fJet1 = jet1; | |
76 | fJet2 = jet2; | |
77 | } | |
78 | ||
41c47333 | 79 | |
80 | //______________________________________________________________________________ | |
81 | Float_t AliAODDiJet::DeltaPhi() | |
82 | { | |
83 | // phi distance between the two jets | |
84 | // the result is in the interval [0,pi] | |
85 | ||
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; | |
90 | return dphi; | |
91 | } | |
92 | ||
93 | ||
94 | //______________________________________________________________________________ | |
95 | Float_t AliAODDiJet::PhiImbalance() | |
96 | { | |
97 | // phi imbalance wrt back-to-back | |
98 | // the result is in the interval [-pi,pi] | |
99 | ||
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); | |
104 | return dphi; | |
105 | } |