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