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