1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
19 // Class AliMUONTriggerResponseV1
21 // Trigger chamber response
22 // with cluster size activated
27 #include "AliMUONResponseTriggerV1.h"
28 #include "AliMUONGeometrySegmentation.h"
30 ClassImp(AliMUONResponseTriggerV1)
32 //------------------------------------------------------------------
33 AliMUONResponseTriggerV1::AliMUONResponseTriggerV1()
34 : AliMUONResponseTrigger()
36 // default constructor
41 //------------------------------------------------------------------
42 AliMUONResponseTriggerV1::AliMUONResponseTriggerV1(Float_t hv)
43 : AliMUONResponseTrigger()
49 //------------------------------------------------------------------
50 void AliMUONResponseTriggerV1::SetParameters(Float_t hv){
51 // initialize parameters accoring to HV
52 // (see V.Barret B.Espagnon and P.Rosnet Alice/note xxx)
53 fA = 6.089 * hv - 52.70;
55 fC = 4.3e-4 * hv - 3.5e-3;
58 //------------------------------------------------------------------
59 Int_t AliMUONResponseTriggerV1::SetGenerCluster(){
60 // Set the GenerCluster parameter and return 1
61 fGenerCluster = gRandom->Rndm();
65 //------------------------------------------------------------------
66 Float_t AliMUONResponseTriggerV1::IntXY(Int_t idDE, AliMUONGeometrySegmentation * segmentation) const
68 // Returns 1 or 0 if the current strip is fired or not
69 // get the "parameters" needed to evaluate the strip response
70 // x1 : hit x(y) position
71 // x2 : x(y) coordinate of the main strip
72 // x3 : current strip real x(y) coordinate
73 // x4 : dist. between x(y) hit pos. and the closest border of the current strip
76 segmentation->IntegrationLimits(idDE, x1,x2,x3,x4);
77 Float_t theta = 0.; // incident angle to be implemented
79 return (fGenerCluster < FireStripProb(x4,theta)) ? 1:0;
82 //------------------------------------------------------------------
83 Float_t AliMUONResponseTriggerV1::FireStripProb(Float_t x4, Float_t theta)
86 // parametrisation of the probability that a strip neighbour of the main
87 // strip is fired (V.Barret B.Espagnon and P.Rosnet Alice/note xxx)
88 // WARNING : need to convert x4 from cm to mm
91 (TMath::Cos(theta)*fA/(fA+TMath::Cos(theta)*TMath::Power(x4*10.,fB))+fC)/
92 (TMath::Cos(theta)+fC);