#include "AliMUONLocalTrigger.h"
#include "AliLog.h"
#include "AliMUONLocalStruct.h"
+#include <Riostream.h>
/// \class AliMUONLocalTrigger
/// Local Trigger algorithm data outputs
fLoCircuit(0),
fLoStripX(0),
fLoDev(0),
- fLoStripY(0),
+ fLoSdev(1),
+ fLoTrigY(1),
+ fLoStripY(15),
fLoLpt(0),
fLoHpt(0),
fLoCircuit(theMUONLocalTrig.fLoCircuit),
fLoStripX(theMUONLocalTrig.fLoStripX),
fLoDev(theMUONLocalTrig.fLoDev),
+ fLoSdev(theMUONLocalTrig.fLoSdev),
+ fLoTrigY(theMUONLocalTrig.fLoTrigY),
fLoStripY(theMUONLocalTrig.fLoStripY),
fLoLpt(theMUONLocalTrig.fLoLpt),
fLoHpt(theMUONLocalTrig.fLoHpt),
fLoCircuit = theMUONLocalTrig.fLoCircuit;
fLoStripX = theMUONLocalTrig.fLoStripX;
fLoDev = theMUONLocalTrig.fLoDev;
+ fLoSdev = theMUONLocalTrig.fLoSdev;
+ fLoTrigY = theMUONLocalTrig.fLoTrigY;
fLoStripY = theMUONLocalTrig.fLoStripY;
fLoLpt = theMUONLocalTrig.fLoLpt;
fLoHpt = theMUONLocalTrig.fLoHpt;
// set id'
SetLoCircuit(loCircuit);
- // set X, Y dev
+ // set X, Y, dev, Sdev and TrigY
SetLoStripX((Int_t)localStruct.GetXPos());
SetLoStripY((Int_t)localStruct.GetYPos());
SetLoDev((Int_t)localStruct.GetXDev());
+ SetLoSdev((Int_t)localStruct.GetSXDev());
+ SetLoTrigY((Int_t)localStruct.GetTriggerY());
// set L(H)pt
SetLoLpt(localStruct.GetLpt());
Int_t LoStripX() const {return fLoStripX;}
/// Return Deviation
Int_t LoDev() const {return fLoDev;}
+ /// Return Sign of Deviation
+ Int_t LoSdev() const {return fLoSdev;}
+ /// Return Trig Y
+ Int_t LoTrigY() const {return fLoTrigY;}
/// Return Y strip in MT11
Int_t LoStripY() const {return fLoStripY;}
/// Return Low pt
void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}
/// Set Deviation
void SetLoDev(Int_t loDev) {fLoDev = loDev;}
+ /// Set Sign of Deviation
+ void SetLoSdev(Int_t loSdev) {fLoSdev = loSdev;}
+ /// Set Trig Y
+ void SetLoTrigY(Int_t loTrigY) {fLoTrigY = loTrigY;}
/// Set Y strip in MT11
void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
/// Set Low pt
private:
Int_t fLoCircuit; ///< Circuit number
Int_t fLoStripX; ///< X strip in MT11
- Int_t fLoDev; ///< Deviation
+ Int_t fLoDev; ///< Deviation
+ Int_t fLoSdev; ///< Sign of Deviation
+ Int_t fLoTrigY; ///< Trig Y
Int_t fLoStripY; ///< Y strip in MT11
Int_t fLoLpt; ///< Low pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
Int_t fLoHpt; ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
fCrate(0),
fTC(kTRUE),
fStripX11(0),
- fStripY11(0),
+ fStripY11(15),
fDev(0),
+ fTrigY(1),
fOutput(0),
fLUT(0x0),
fCoinc44(0)
fCrate(0),
fTC(kTRUE),
fStripX11(0),
- fStripY11(0),
+ fStripY11(15),
fDev(0),
+ fTrigY(1),
fOutput(0),
fLUT(lut),
fCoinc44(0)
fOutput = 0;
- fStripX11 = fStripY11 = fDev = 0;
+ fStripX11 = 0;
+ fStripY11 = 15;
+ fDev = 0;
+ fTrigY = 1;
for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = 0;
}
fDev = deviation;
fStripY11 = iStripY;
fStripX11 = iStripX;
+ fTrigY = fCoordY[4];
Int_t sign = 0;
if ( !fMinDev[4] && !deviation ) sign= 0;
if ( fMinDev[4] == 1 ) sign=+1;
- fDev *= sign;
+ deviation *= sign;
// calculate deviation in [0;+30]
- fDev += 15;
+ deviation += 15;
// GET LUT OUTPUT FOR icirc/istripX1/deviation/istripY
- fLUT->GetLutOutput(fNumber, fStripX11, fDev, fStripY11, fLutLpt, fLutHpt);
+ fLUT->GetLutOutput(fNumber, fStripX11, deviation, fStripY11, fLutLpt, fLutHpt);
}
}
/// Return MT1 Y position of the valid road
virtual Int_t GetStripY11() const {return fStripY11;}
- /// Return Deviation in [0;+30]
+ /// Return Deviation
virtual Int_t GetDev() const {return fDev;}
+
+ /// Return Sign of Deviation
+ virtual Int_t GetSdev() const {return fMinDev[4];}
+
+ /// Return Sign of Deviation
+ virtual Int_t GetTrigY() const {return fTrigY;}
/// Set Crate name
virtual void SetCrate(TString crate) {fCrate = crate;}
Int_t fStripY11; ///< MT1 Y position of the valid road
- Int_t fDev; ///< Deviation in [0;+30]
-
+ Int_t fDev; ///< X deviation as in table 3-1 of Local Trigger Board PRR
+ Int_t fTrigY; ///< Trigger in Y
+
Int_t fLutLpt[2]; ///< Low Pt cuts estimated from LUT
Int_t fLutHpt[2]; ///< High Pt cuts estimated from LUT
fLocalTrigger->SetLoCircuit(icirc);
fLocalTrigger->SetLoStripX(board->GetStripX11());
fLocalTrigger->SetLoDev(board->GetDev());
+ fLocalTrigger->SetLoSdev(board->GetSdev());
+ fLocalTrigger->SetLoTrigY(board->GetTrigY());
fLocalTrigger->SetLoStripY(board->GetStripY11());
// SAVE LUT OUTPUT