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