]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONResponseTriggerV1.cxx
Official numbering for St2 (Gines)
[u/mrichter/AliRoot.git] / MUON / AliMUONResponseTriggerV1.cxx
CommitLineData
e087fe7f 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
30178c30 16/* $Id$ */
e087fe7f 17
30178c30 18#include <TMath.h>
19#include <TRandom.h>
e087fe7f 20
21#include "AliMUONResponseTriggerV1.h"
22#include "AliSegmentation.h"
337c9041 23#include "AliMUONGeometrySegmentation.h"
e087fe7f 24
25ClassImp(AliMUONResponseTriggerV1)
26
27//------------------------------------------------------------------
30178c30 28AliMUONResponseTriggerV1::AliMUONResponseTriggerV1()
29 : AliMUONResponseTrigger()
30{
e087fe7f 31// default constructor
32 Float_t hv=9.2;
33 SetParameters(hv);
34}
35
36//------------------------------------------------------------------
30178c30 37AliMUONResponseTriggerV1::AliMUONResponseTriggerV1(Float_t hv)
38 : AliMUONResponseTrigger()
39{
e087fe7f 40// Constructor
41 SetParameters(hv);
42}
43
44//------------------------------------------------------------------
45void AliMUONResponseTriggerV1::SetParameters(Float_t hv){
46// initialize parameters accoring to HV
47// (see V.Barret B.Espagnon and P.Rosnet Alice/note xxx)
48 fA = 6.089 * hv - 52.70;
49 fB = 2.966;
50 fC = 4.3e-4 * hv - 3.5e-3;
51}
52
53//------------------------------------------------------------------
54Int_t AliMUONResponseTriggerV1::SetGenerCluster(){
55// Set the GenerCluster parameter and return 1
56 fGenerCluster = gRandom->Rndm();
57 return 1;
58}
59
60//------------------------------------------------------------------
61Float_t AliMUONResponseTriggerV1::IntXY(AliSegmentation * segmentation){
62// Returns 1 or 0 if the current strip is fired or not
63// get the "parameters" needed to evaluate the strip response
64// x1 : hit x(y) position
65// x2 : x(y) coordinate of the main strip
66// x3 : current strip real x(y) coordinate
67// x4 : dist. between x(y) hit pos. and the closest border of the current strip
68
69 Float_t x1,x2,x3,x4;
70 segmentation->IntegrationLimits(x1,x2,x3,x4);
71 Float_t theta = 0.; // incident angle to be implemented
72
73 return (fGenerCluster < FireStripProb(x4,theta)) ? 1:0;
74}
337c9041 75//------------------------------------------------------------------
76Float_t AliMUONResponseTriggerV1::IntXY(Int_t idDE, AliMUONGeometrySegmentation * segmentation){
77// Returns 1 or 0 if the current strip is fired or not
78// get the "parameters" needed to evaluate the strip response
79// x1 : hit x(y) position
80// x2 : x(y) coordinate of the main strip
81// x3 : current strip real x(y) coordinate
82// x4 : dist. between x(y) hit pos. and the closest border of the current strip
83
84 Float_t x1,x2,x3,x4;
85 segmentation->IntegrationLimits(idDE, x1,x2,x3,x4);
86 Float_t theta = 0.; // incident angle to be implemented
87
88 return (fGenerCluster < FireStripProb(x4,theta)) ? 1:0;
89}
e087fe7f 90
91//------------------------------------------------------------------
92Float_t AliMUONResponseTriggerV1::FireStripProb(Float_t x4, Float_t theta){
93// parametrisation of the probability that a strip neighbour of the main
94// strip is fired (V.Barret B.Espagnon and P.Rosnet Alice/note xxx)
95// WARNING : need to convert x4 from cm to mm
96
97 return
98 (TMath::Cos(theta)*fA/(fA+TMath::Cos(theta)*TMath::Power(x4*10.,fB))+fC)/
99 (TMath::Cos(theta)+fC);
100}
101