]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFTrigger.h
1. Adding the new histograms TPC z vertex correlation in order
[u/mrichter/AliRoot.git] / TOF / AliTOFTrigger.h
CommitLineData
0e46b9ae 1#ifndef ALITOFTRIGGER_H
2#define ALITOFTRIGGER_H
3
cd82ed2f 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
cd82ed2f 9/////////////////////////////////////////////////
0e46b9ae 10// //
11// TOF Trigger Detector Class //
12// //
cd82ed2f 13/////////////////////////////////////////////////
14
15#include "AliTriggerDetector.h"
16
ee51d470 17class AliTOFrawData;
c06f660b 18class AliTOFTriggerMask;
ee51d470 19
cd82ed2f 20class AliTOFTrigger : public AliTriggerDetector
21{
22 public:
23 AliTOFTrigger(); // constructor
24 AliTOFTrigger(Int_t HighMultTh, Int_t ppMBTh, Int_t MultiMuonTh, Int_t UPTh, Float_t deltaminpsi, Float_t deltamaxpsi, Float_t deltaminro, Float_t deltamaxro, Int_t stripWindow); //constructor with parameters
25 AliTOFTrigger(const AliTOFTrigger & tr);
c06f660b 26 virtual ~AliTOFTrigger(); // destructor
cd82ed2f 27 virtual void CreateInputs();
28 virtual void Trigger();
29 Int_t GetHighMultTh() const {return fHighMultTh;}
30 Int_t GetppMBTh() const {return fppMBTh;}
31 Int_t GetMultiMuonTh() const {return fMultiMuonTh;}
32 Int_t GetUPTh() const {return fUPTh;}
33 Float_t Getdeltaminpsi() const {return fdeltaminpsi;}
34 Float_t Getdeltamaxpsi() const {return fdeltamaxpsi;}
35 Float_t Getdeltaminro() const {return fdeltaminro;}
36 Float_t Getdeltamaxro() const {return fdeltamaxro;}
37 Int_t GetstripWindow() const {return fstripWindow;}
38
c06f660b 39 void LoadActiveMask(); // Load active channel trigger mask
42e171ac 40 void GetMap(Bool_t **map) const;
ee51d470 41 //void PrintMap(); // to be checked because of warning problems
42e171ac 42 void GetTRDmap(Bool_t **map) const;
ee51d470 43 Bool_t GetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
44 Bool_t GetBit(Int_t *detind);
45 void SetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
46 void SetBit(Int_t *detind);
47 void ResetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
48 void ResetBit(Int_t *detind);
49
50
cd82ed2f 51 void SetHighMultTh(Int_t HighMultTh){fHighMultTh = HighMultTh;}
52 void SetppMBTh(Int_t ppMBTh){fppMBTh = ppMBTh;}
53 void SetMultiMuonTh(Int_t MultiMuonTh){fMultiMuonTh = MultiMuonTh;}
54 void SetUPTh(Int_t UPTh){fUPTh = UPTh;}
55 void Setdeltaminpsi(Float_t deltaminpsi){fdeltaminpsi = deltaminpsi;}
56 void Setdeltamaxpsi(Float_t deltamaxpsi){fdeltamaxpsi = deltamaxpsi;}
57 void Setdeltaminro(Float_t deltaminro){fdeltaminro = deltaminro;}
58 void Setdeltamaxro(Float_t deltamaxro){fdeltamaxro = deltamaxro;}
59 void SetstripWindow(Int_t stripWindow){fstripWindow = stripWindow;}
60
c06f660b 61 Bool_t Return(Int_t i){if(i==0) return fSel1;
62 else if(i==1) return fSel2;
63 else if(i==2) return fSel3;
64 else if(i==3) return fSel4;
65 };
66
67 Int_t GetNumberOfCrateOn(){return fNCrateOn;};
68 Int_t GetNumberOfMaxipadOn(){return fNMaxipadOn;};
69 Int_t GetNumberOfMaxipadOnAll(){return fNMaxipadOnAll;};
70 Bool_t *GetLTMarray(){return fLTMarray;};
ee51d470 71 void CreateCTTMMatrix();
cd82ed2f 72 void CreateLTMMatrix();
ee51d470 73 void CreateLTMMatrixFromDigits();
74 void CreateLTMMatrixFromRaw(AliRawReader *fRawReader);
cd82ed2f 75 private:
76
77 enum{
78 kNLTM = 72, //Number of LTM
79 kNLTMchannels = 48, //Number of channels in a LTM
80 kNCTTM = 36, //Number of CTTM per TOF side
ee51d470 81 kNCTTMchannels = 24, //Number of channels in a CTTM
82 kNLTMtoTRDchannels = 8 //Number of channels in a CTTM
cd82ed2f 83 };
84
c06f660b 85 AliTOFTrigger& operator=(const AliTOFTrigger &/*source*/); // ass. op.
86
ee51d470 87 void GetCTTMIndex(Int_t *detind, Int_t *indexCTTM);
42e171ac 88 void GetLTMIndex(const Int_t * const detind, Int_t *LTMIndex);
c06f660b 89 Bool_t fLTMmatrix[kNLTM][kNLTMchannels]; //LTM matrix
90 Bool_t fLTMarray[kNCTTM]; //LTM array for UPpurposes
ee51d470 91 Bool_t fCTTMmatrixFront[kNCTTM][kNCTTMchannels];//CTTM matrix for TOP FPGA
92 Bool_t fCTTMmatrixBack[kNCTTM][kNCTTMchannels]; //CTTM matrix for BOTTOM FPGA
cd82ed2f 93 Int_t fHighMultTh; //threshold for High Multiplicity trigger
94 Int_t fppMBTh; //threshold for pp Minimum Bias trigger
95 Int_t fMultiMuonTh; //threshold for Multi Muon trigger
96 Int_t fUPTh; //threshold for Ultra-Per coll trigger
97 Float_t fdeltaminpsi; //min delta phi for J/psi decay (UP trigger)
98 Float_t fdeltamaxpsi; //max delta phi for J/psi decay (UP trigger)
99 Float_t fdeltaminro; //min delta phi for ro decay (UP trigger)
100 Float_t fdeltamaxro; //max delta phi for ro decay (UP trigger)
101 Int_t fstripWindow; //strip window for triggering
102
c06f660b 103 Bool_t fSel1,fSel2,fSel3,fSel4; // ppMB, PbPbMB2, PbPbMB3, PbPbUP
104
105 UInt_t fPowerMask[kNCTTMchannels+1]; // mask for 24 TDC channels
106
107 Int_t fNCrateOn; // number of crate fired
108 Int_t fNMaxipadOn; // number of Maxipad fired
109 Int_t fNMaxipadOnAll; // number of Maxipad fired w/o TDC dead mask
110 AliTOFTriggerMask *fTOFTrigMask; // class with the TOF trigger mask
111
cd82ed2f 112 ClassDef(AliTOFTrigger,1) // TOF Trigger Detector class
113};
114#endif
c06f660b 115