]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerDecision.h
New package for reconstructed tracks (A. Gheata):
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerDecision.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3 /* $Id$ */
4 #ifndef ALIMUONTRIGGERDECISION_H
5 #define ALIMUONTRIGGERDECISION_H
6 ////////////////////////////////////////////////
7 //  MUON Trigger Decision Class               //
8 ////////////////////////////////////////////////
9 #include "TObject.h"
10
11 class AliMUONHitMapA1;
12 class TF1;
13 class TClonesArray;
14 class AliMUONSegmentation;
15 class AliMUONResponse;
16
17 class AliMUONTriggerDecision :
18 public TObject {
19  public:
20   AliMUONTriggerDecision(Int_t iprint);         // constructor
21   ~AliMUONTriggerDecision();                  // destructor
22   
23   void Trigger();
24   void ResetBit();
25   void SetBit();
26   void SetBitUpDownY();
27
28   void TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32], 
29              Int_t coinc44, Int_t minDevStrip[5], Int_t minDev[5]);
30   void Sort2x5(Int_t dev1[6], Int_t dev2[6],
31                Int_t minDev[6], Int_t &dev1GTdev2);
32   void TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], Int_t y4[16],
33              Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16],
34              Int_t x2m, Int_t x2ud, Int_t orMud[2], Int_t resetMid, 
35              Int_t coinc44, Int_t coordY[5]);
36   void LocalTrigger(Int_t icirc, Int_t minDevStrip[5], 
37                     Int_t minDev[5], Int_t coordY[5], 
38                     Int_t &iTrigger);    
39   void GlobalTrigger();
40
41   // print-debug
42   void PrintBitPatXInput(Int_t icirc);
43   void PrintBitPatYInput(Int_t icirc);
44   void PrintLocalOutput(Int_t minDevStrip[5], Int_t minDev[5], 
45                         Int_t coordY[5]);
46
47   // return member data information
48   Int_t GetITrigger(Int_t icirc);
49   Int_t GetStripX11(Int_t icirc);
50   Int_t GetDev(Int_t icirc);
51   Int_t GetStripY11(Int_t icirc);
52   void GetLutOutput(Int_t icirc, Int_t lpt[2], Int_t hpt[2], Int_t apt[2]);
53   void GetGlobalTrigger(Int_t singlePlus[3], Int_t singleMinus[3], 
54                         Int_t singleUndef[3], Int_t pairUnlike[3], 
55                         Int_t pairLike[3]);  
56   
57 // Add a new Local Trigger
58   // virtual void AddLocalTrigger(const AliMUONLocalTrigger);
59 //  Return pointer to Local Triggers
60   //  TClonesArray* LocalTriggers(){return fLocalTriggers;}
61
62   ClassDef(AliMUONTriggerDecision,1) // Trigger Decision class
63
64     protected:     
65   Int_t fDebug;               // print option     
66
67   // Global Trigger information [0] : Low pt, [1] : High pt, [2] : All pt 
68   Int_t fGlobalSinglePlus[3];  // tot num of single plus
69   Int_t fGlobalSingleMinus[3]; // tot num of single minus
70   Int_t fGlobalSingleUndef[3]; // tot num of single undefined
71   Int_t fGlobalPairUnlike[3];  // tot num of unlike-sign pairs
72   Int_t fGlobalPairLike[3];    // tot num of like-sign pairs
73
74   // Local Trigger information
75   Int_t fTrigger[234];  // fTrigger = 0 : no trigger, 1 : trigger
76   Int_t fStripX11[234];  // X strip in MC11 which triggers
77   Int_t fDev[234];       // deviation which triggers
78   Int_t fStripY11[234];  // Y strip in MC11 which triggers
79   Int_t fLutLpt[234][2]; // Local Trigger info Low pt
80   Int_t fLutHpt[234][2]; // Local Trigger info High pt
81   Int_t fLutApt[234][2]; // Local Trigger info All pt
82
83   // bit pattern
84   Int_t fXbit11[234][16]; // bit pattern XM11
85   Int_t fXbit12[234][16]; // bit pattern XM12
86   Int_t fXbit21[234][32]; // bit pattern XM21
87   Int_t fXbit22[234][32]; // bit pattern XM22
88   Int_t fYbit11[234][16]; // bit pattern YM11
89   Int_t fYbit12[234][16]; // bit pattern YM12
90   Int_t fYbit21[234][16]; // bit pattern YM21
91   Int_t fYbit22[234][16]; // bit pattern YM22
92
93   Int_t fYbit21U[234][16]; // bit pattern YM21 Up
94   Int_t fYbit22U[234][16]; // bit pattern YM22 Up
95   Int_t fYbit21D[234][16]; // bit pattern YM21 Down
96   Int_t fYbit22D[234][16]; // bit pattern YM22 Down
97
98   // ???
99   //  TClonesArray* fLocalTriggers;   // Local Triggers
100   // Int_t fNLocalTriggers;          // Number of Local Triggers
101
102 };
103 #endif
104
105
106
107
108
109
110