ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

//-------------------------------------------------------------------------
//     AOD class for di-jets
//     The present version is for test purposes only
//     Author: Andreas Morsch, CERN
//-------------------------------------------------------------------------

#include <TLorentzVector.h>
#include <TProcessID.h>
#include "AliAODDiJet.h"
#include "AliAODJet.h"

ClassImp(AliAODDiJet)


//______________________________________________________________________________
AliAODDiJet::AliAODDiJet() :
    AliAODJet(),
    fJetR(0),
    fJet1(0),
    fJet2(0)
{
  // constructor
}

AliAODDiJet::AliAODDiJet(Double_t px, Double_t py, Double_t pz, Double_t e):
    AliAODJet(px, py, pz, e), 
    fJetR(0),
    fJet1(0),
    fJet2(0)
{
  // another constructor
}

AliAODDiJet::AliAODDiJet(TLorentzVector & p):
    AliAODJet(p),
    fJetR(0),
    fJet1(0),
    fJet2(0)
{
  // constructor
}


//______________________________________________________________________________
AliAODDiJet::~AliAODDiJet() 
{
  // destructor
    if (fJetR) fJetR->Delete();
}

void AliAODDiJet::SetJetRefs(AliAODJet* jet1, AliAODJet* jet2) 
{
// Set references to the two jets
    if (fJetR) fJetR->Delete();
    fJetR = new TRefArray(TProcessID::GetProcessWithUID( jet1 ));
    fJetR->Add(jet1);
    fJetR->Add(jet2);
    fJet1 = jet1;
    fJet2 = jet2;
}


//______________________________________________________________________________
Float_t AliAODDiJet::DeltaPhi()
{
  // phi distance between the two jets
  // the result is in the interval [0,pi]

    Float_t phi1 = Jet(0)->Phi();
    Float_t phi2 = Jet(1)->Phi();
    Float_t dphi = TMath::Abs(phi1 - phi2);
    dphi = (dphi > TMath::Pi()) ? (2*TMath::Pi()-dphi) : dphi;
    return dphi;
}


//______________________________________________________________________________
Float_t AliAODDiJet::PhiImbalance()
{
  // phi imbalance wrt back-to-back
  // the result is in the interval [-pi,pi]

    Float_t phi1 = Jet(0)->Phi();
    Float_t phi2 = Jet(1)->Phi();
    Float_t dphi = phi1 - phi2;
    dphi = dphi - TMath::Sign((Float_t)TMath::Pi(),dphi);
    return dphi;
}
 AliAODDiJet.cxx:1
 AliAODDiJet.cxx:2
 AliAODDiJet.cxx:3
 AliAODDiJet.cxx:4
 AliAODDiJet.cxx:5
 AliAODDiJet.cxx:6
 AliAODDiJet.cxx:7
 AliAODDiJet.cxx:8
 AliAODDiJet.cxx:9
 AliAODDiJet.cxx:10
 AliAODDiJet.cxx:11
 AliAODDiJet.cxx:12
 AliAODDiJet.cxx:13
 AliAODDiJet.cxx:14
 AliAODDiJet.cxx:15
 AliAODDiJet.cxx:16
 AliAODDiJet.cxx:17
 AliAODDiJet.cxx:18
 AliAODDiJet.cxx:19
 AliAODDiJet.cxx:20
 AliAODDiJet.cxx:21
 AliAODDiJet.cxx:22
 AliAODDiJet.cxx:23
 AliAODDiJet.cxx:24
 AliAODDiJet.cxx:25
 AliAODDiJet.cxx:26
 AliAODDiJet.cxx:27
 AliAODDiJet.cxx:28
 AliAODDiJet.cxx:29
 AliAODDiJet.cxx:30
 AliAODDiJet.cxx:31
 AliAODDiJet.cxx:32
 AliAODDiJet.cxx:33
 AliAODDiJet.cxx:34
 AliAODDiJet.cxx:35
 AliAODDiJet.cxx:36
 AliAODDiJet.cxx:37
 AliAODDiJet.cxx:38
 AliAODDiJet.cxx:39
 AliAODDiJet.cxx:40
 AliAODDiJet.cxx:41
 AliAODDiJet.cxx:42
 AliAODDiJet.cxx:43
 AliAODDiJet.cxx:44
 AliAODDiJet.cxx:45
 AliAODDiJet.cxx:46
 AliAODDiJet.cxx:47
 AliAODDiJet.cxx:48
 AliAODDiJet.cxx:49
 AliAODDiJet.cxx:50
 AliAODDiJet.cxx:51
 AliAODDiJet.cxx:52
 AliAODDiJet.cxx:53
 AliAODDiJet.cxx:54
 AliAODDiJet.cxx:55
 AliAODDiJet.cxx:56
 AliAODDiJet.cxx:57
 AliAODDiJet.cxx:58
 AliAODDiJet.cxx:59
 AliAODDiJet.cxx:60
 AliAODDiJet.cxx:61
 AliAODDiJet.cxx:62
 AliAODDiJet.cxx:63
 AliAODDiJet.cxx:64
 AliAODDiJet.cxx:65
 AliAODDiJet.cxx:66
 AliAODDiJet.cxx:67
 AliAODDiJet.cxx:68
 AliAODDiJet.cxx:69
 AliAODDiJet.cxx:70
 AliAODDiJet.cxx:71
 AliAODDiJet.cxx:72
 AliAODDiJet.cxx:73
 AliAODDiJet.cxx:74
 AliAODDiJet.cxx:75
 AliAODDiJet.cxx:76
 AliAODDiJet.cxx:77
 AliAODDiJet.cxx:78
 AliAODDiJet.cxx:79
 AliAODDiJet.cxx:80
 AliAODDiJet.cxx:81
 AliAODDiJet.cxx:82
 AliAODDiJet.cxx:83
 AliAODDiJet.cxx:84
 AliAODDiJet.cxx:85
 AliAODDiJet.cxx:86
 AliAODDiJet.cxx:87
 AliAODDiJet.cxx:88
 AliAODDiJet.cxx:89
 AliAODDiJet.cxx:90
 AliAODDiJet.cxx:91
 AliAODDiJet.cxx:92
 AliAODDiJet.cxx:93
 AliAODDiJet.cxx:94
 AliAODDiJet.cxx:95
 AliAODDiJet.cxx:96
 AliAODDiJet.cxx:97
 AliAODDiJet.cxx:98
 AliAODDiJet.cxx:99
 AliAODDiJet.cxx:100
 AliAODDiJet.cxx:101
 AliAODDiJet.cxx:102
 AliAODDiJet.cxx:103
 AliAODDiJet.cxx:104
 AliAODDiJet.cxx:105