/////////////////////////////////////////////////
#include "AliTriggerDetector.h"
+#include "AliLog.h"
class AliTOFrawData;
+class AliTOFTriggerMask;
class AliTOFTrigger : public AliTriggerDetector
{
public:
AliTOFTrigger(); // constructor
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
- AliTOFTrigger(const AliTOFTrigger & tr);
- virtual ~AliTOFTrigger(){} // destructor
+ virtual ~AliTOFTrigger(); // destructor
virtual void CreateInputs();
virtual void Trigger();
Int_t GetHighMultTh() const {return fHighMultTh;}
Float_t Getdeltamaxro() const {return fdeltamaxro;}
Int_t GetstripWindow() const {return fstripWindow;}
+ void LoadActiveMask(); // Load active channel trigger mask
+ void GetMapMatrix(Bool_t map[][24]) const;
void GetMap(Bool_t **map) const;
//void PrintMap(); // to be checked because of warning problems
+ void GetTRDmapMatrix(Bool_t map[][8]) const;
void GetTRDmap(Bool_t **map) const;
Bool_t GetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
Bool_t GetBit(Int_t *detind);
void Setdeltamaxro(Float_t deltamaxro){fdeltamaxro = deltamaxro;}
void SetstripWindow(Int_t stripWindow){fstripWindow = stripWindow;}
+ Bool_t Return(Int_t i){if(i==0) return fSel1;
+ else if(i==1) return fSel2;
+ else if(i==2) return fSel3;
+ else if(i==3) return fSel4;
+ else { AliWarning(Form(" Index out of range: %d not in [0,3]",i)); return kFALSE; }
+ };
+
+ Int_t GetNumberOfCrateOn(){return fNCrateOn;};
+ Int_t GetNumberOfMaxipadOn(){return fNMaxipadOn;};
+ Int_t GetNumberOfMaxipadOnAll(){return fNMaxipadOnAll;};
+ Bool_t *GetLTMarray(){return fLTMarray;};
void CreateCTTMMatrix();
void CreateLTMMatrix();
void CreateLTMMatrixFromDigits();
kNLTMtoTRDchannels = 8 //Number of channels in a CTTM
};
+ AliTOFTrigger& operator=(const AliTOFTrigger &/*source*/); // ass. op.
+ AliTOFTrigger(const AliTOFTrigger & tr);
+
void GetCTTMIndex(Int_t *detind, Int_t *indexCTTM);
void GetLTMIndex(const Int_t * const detind, Int_t *LTMIndex);
- Bool_t fLTMmatrix[kNLTM][kNLTMchannels]; //LTM matrix
+ Bool_t fLTMmatrix[kNLTM][kNLTMchannels]; //LTM matrix
+ Bool_t fLTMarray[kNCTTM]; //LTM array for UPpurposes
Bool_t fCTTMmatrixFront[kNCTTM][kNCTTMchannels];//CTTM matrix for TOP FPGA
Bool_t fCTTMmatrixBack[kNCTTM][kNCTTMchannels]; //CTTM matrix for BOTTOM FPGA
Int_t fHighMultTh; //threshold for High Multiplicity trigger
Float_t fdeltamaxro; //max delta phi for ro decay (UP trigger)
Int_t fstripWindow; //strip window for triggering
+ Bool_t fSel1,fSel2,fSel3,fSel4; // ppMB, PbPbMB2, PbPbMB3, PbPbUP
+
+ UInt_t fPowerMask[kNCTTMchannels+1]; // mask for 24 TDC channels
+
+ Int_t fNCrateOn; // number of crate fired
+ Int_t fNMaxipadOn; // number of Maxipad fired
+ Int_t fNMaxipadOnAll; // number of Maxipad fired w/o TDC dead mask
+ AliTOFTriggerMask *fTOFTrigMask; // class with the TOF trigger mask
+
ClassDef(AliTOFTrigger,1) // TOF Trigger Detector class
};
#endif
+