Line data Source code
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 : /* $Id$ */
17 : //
18 : // Class for fast simulation of the ALICE Muon Spectrometer
19 : // Tracking Efficiency.
20 : // The efficiency depends on trasverse momentum pt, polar angle theta and azimuthal angle phi.
21 : //
22 : // Author: Alessandro de Falco
23 : // alessandro.de.falco@ca.infn.it
24 : //
25 :
26 : #include <TMath.h>
27 :
28 : #include "AliFastMuonTrackingEff.h"
29 : #include "AliMUONFastTracking.h"
30 :
31 12 : ClassImp(AliFastMuonTrackingEff)
32 :
33 :
34 : AliFastMuonTrackingEff::AliFastMuonTrackingEff() :
35 0 : AliFastResponse("Efficiency", "Muon Tracking Efficiency"),
36 0 : fBackground(1.),
37 0 : fCharge(1.),
38 0 : fFastTracking(0)
39 0 : {
40 : //
41 : // Constructor
42 0 : }
43 :
44 : AliFastMuonTrackingEff::AliFastMuonTrackingEff(const AliFastMuonTrackingEff& eff)
45 0 : :AliFastResponse(eff),
46 0 : fBackground(1.),
47 0 : fCharge(1.),
48 0 : fFastTracking(0)
49 0 : {
50 : // Copy constructor
51 0 : eff.Copy(*this);
52 0 : }
53 :
54 : void AliFastMuonTrackingEff::Init()
55 : {
56 : //
57 : // Initialization
58 0 : fFastTracking = AliMUONFastTracking::Instance();
59 0 : fFastTracking->Init(fBackground);
60 0 : }
61 :
62 :
63 :
64 : Float_t AliFastMuonTrackingEff::Evaluate(Float_t /*charge*/, Float_t pt, Float_t theta, Float_t phi)
65 : {
66 : //
67 : // Evaluate the efficience for muon with 3-vector (pt, theta, phi)
68 0 : Float_t p = pt / TMath::Sin(theta*TMath::Pi()/180.);
69 0 : Float_t eff = fFastTracking->Efficiency(p, theta, phi, Int_t(fCharge));
70 0 : return eff;
71 : }
72 :
73 :
74 : AliFastMuonTrackingEff& AliFastMuonTrackingEff::operator=(const AliFastMuonTrackingEff& rhs)
75 : {
76 : // Assignment operator
77 0 : rhs.Copy(*this);
78 0 : return *this;
79 : }
80 :
|