]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALJetFinderAlgo.cxx
Small changes
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALJetFinderAlgo.cxx
CommitLineData
f7d5860b 1/**************************************************************************
2 * Copyright(c) 1998-1999, 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
ee6b678f 17/* $Id$ */
f7d5860b 18
19//_________________________________________________________________________
20// Base Class for JetFinder Algorithms
21//
22//*-- Author: Mark Horner (LBL/UCT)
23
24
25
26
27#include "AliEMCALJetFinderAlgo.h"
28#include "AliRun.h"
29#include "AliEMCALGeometry.h"
30#include "AliMagF.h"
31ClassImp(AliEMCALJetFinderAlgo)
32
33AliEMCALJetFinderAlgo::AliEMCALJetFinderAlgo()
34{
35 fDebug =0;
36}
37 AliEMCALJetFinderAlgo::~AliEMCALJetFinderAlgo()
38{
39
40}
41
42void AliEMCALJetFinderAlgo::InitInput(AliEMCALJetFinderInput* input)
43{
44if (fDebug>1) Info("InitInput","Beginning InitInput");
45 fInputPointer = input;
46 fOutputObject.Reset(kResetAll);
47 // automatically copy parton and particle info to output object
48
49 for (Int_t counter = 0 ; counter < fInputPointer->GetNPartons();counter++)
50 {
51 fOutputObject.AddParton(fInputPointer->GetParton(counter));
52 }
53 for (Int_t counter = 0 ; counter < fInputPointer->GetNParticles();counter++)
54 {
55 fOutputObject.AddParticle(fInputPointer->GetParticle(counter));
56 }
57}
58
59Float_t AliEMCALJetFinderAlgo::PropagatePhi(Float_t pt, Float_t charge, Bool_t& curls)
60{
61 // Propagates phi angle to EMCAL radius
62 // //
63 Float_t b = 0.0, rEMCAL = -1.0;
64 if(rEMCAL<0)
65 {
66 b = gAlice->Field()->SolenoidField();
67 rEMCAL = AliEMCALGeometry::GetInstance()->GetIPDistance();
68 }
69 Float_t dPhi = 0.;
70 Float_t rB = 3335.6 * pt / b; // [cm] (case of |charge|=1)
71 if (2.*rB < rEMCAL)
72 {
73 curls = kTRUE;
74 return dPhi;
75 }
76 Float_t phi = TMath::ACos(1.-rEMCAL*rEMCAL/(2.*rB*rB));
77 dPhi = TMath::ATan2(1.-TMath::Cos(phi), TMath::Sin(phi));
78 dPhi = -TMath::Sign(dPhi, charge);
79 return dPhi;
80}
81