#include "AliMUONLocalTriggerBoard.h"
#include "AliMUONTriggerLut.h"
-#include "AliMUONTriggerConstants.h"
#include "AliLog.h"
//___________________________________________
AliMUONLocalTriggerBoard::AliMUONLocalTriggerBoard()
-: AliMUONTriggerBoard()
+ : AliMUONTriggerBoard(),
+ fNumber(0),
+ fCrate(0),
+ fTC(kTRUE),
+ fStripX11(0),
+ fStripY11(0),
+ fDev(0),
+ fOutput(0),
+ fLUT(0x0),
+ fCoinc44(0)
{
//* constructor
//*
- fNumber = 0;
for (Int_t i=0; i<2; i++)
for (Int_t j=0; j<4; j++)
for (Int_t i=0; i<10; i++) fSwitch[i] = 0;
- fTC = kTRUE;
-
- fLUT = 0x0;
-
for (Int_t i=0; i<5; i++) fMinDevStrip[i] = fMinDev[i] = fCoordY[i] = 0;
- fOutput = 0;
-
- fStripX11 = fStripY11 = fDev = 0;
-
- for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = fLutApt[i] = 0;
+ for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = 0;
}
//___________________________________________
AliMUONLocalTriggerBoard::AliMUONLocalTriggerBoard(const char *name, Int_t a,
AliMUONTriggerLut* lut)
-: AliMUONTriggerBoard(name, a)
+ : AliMUONTriggerBoard(name, a),
+ fNumber(0),
+ fCrate(0),
+ fTC(kTRUE),
+ fStripX11(0),
+ fStripY11(0),
+ fDev(0),
+ fOutput(0),
+ fLUT(lut),
+ fCoinc44(0)
{
//* constructor
//*
- fNumber = 0;
for (Int_t i=0; i<2; i++)
for (Int_t j=0; j<4; j++)
for (Int_t i=0; i<10; i++) fSwitch[i] = 0;
- fTC = kTRUE;
-
- fLUT = lut;
-
for (Int_t i=0; i<5; i++) fMinDevStrip[i] = fMinDev[i] = fCoordY[i] = 0;
- fOutput = 0;
-
- fStripX11 = fStripY11 = fDev = 0;
-
- for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = fLutApt[i] = 0;
+ for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = 0;
}
//______________________________________________________________________________
AliMUONLocalTriggerBoard::AliMUONLocalTriggerBoard(const AliMUONLocalTriggerBoard& right)
- : AliMUONTriggerBoard(right)
+ : AliMUONTriggerBoard(right),
+ fNumber(right.fNumber),
+ fCrate(right.fCrate),
+ fTC(right.fTC),
+ fStripX11(right.fStripX11),
+ fStripY11(right.fStripY11),
+ fDev(right.fDev),
+ fOutput(right.fOutput),
+ fLUT(right.fLUT),
+ fCoinc44(right.fCoinc44)
{
/// Protected copy constructor (not implemented)
fStripX11 = fStripY11 = fDev = 0;
- for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = fLutApt[i] = 0;
+ for (Int_t i=0; i<2; i++) fLutLpt[i] = fLutHpt[i] = 0;
}
//___________________________________________
}
//___________________________________________
-void AliMUONLocalTriggerBoard::TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32],
- Int_t coinc44)
+void AliMUONLocalTriggerBoard::TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32])
{
// note : coinc44 = flag 0 or 1 (0 coincidence -> 3/4, 1 coincidence -> 4/4)
//---------------------------------------------------------
!dbleHit1[14] & !dbleHit1[13] & !dbleHit1[12] & !dbleHit1[11] &
!dbleHit1[10] & !dbleHit1[9] & !dbleHit1[8] & !dbleHit1[7] &
!dbleHit1[6] & !dbleHit1[5] & !dbleHit1[4] & !dbleHit1[3] &
- !dbleHit1[2] & !dbleHit1[1] & !dbleHit1[0] & !coinc44;
+ !dbleHit1[2] & !dbleHit1[1] & !dbleHit1[0] & !fCoinc44;
Int_t notOr2= !dbleHit2[62] & !dbleHit2[61] & !dbleHit2[60] & !dbleHit2[59] &
!dbleHit2[58] & !dbleHit2[57] & !dbleHit2[56] & !dbleHit2[55] &
!dbleHit2[14] & !dbleHit2[13] & !dbleHit2[12] & !dbleHit2[11] &
!dbleHit2[10] & !dbleHit2[9] & !dbleHit2[8] & !dbleHit2[7] &
!dbleHit2[6] & !dbleHit2[5] & !dbleHit2[4] & !dbleHit2[3] &
- !dbleHit2[2] & !dbleHit2[1] & !dbleHit2[0] & !coinc44;
+ !dbleHit2[2] & !dbleHit2[1] & !dbleHit2[0] & !fCoinc44;
// DS reduction
for (i=0; i<31; i++) {
//___________________________________________
void AliMUONLocalTriggerBoard::TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], Int_t y4[16],
- Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16],
- Int_t coinc44)
+ Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16])
{
// note : resMid = 1 -> cancel
//---------------------------------------------------------
!dble2[3] & !dble2[2] & !dble2[1] & !dble2[0];
for (i=0; i<16; i++) {
- sgle1[i] = sgle1[i] & notOr1 & !coinc44;
- sgle2[i] = sgle2[i] & notOr2 & !coinc44;
+ sgle1[i] = sgle1[i] & notOr1 & !fCoinc44;
+ sgle2[i] = sgle2[i] & notOr2 & !fCoinc44;
}
//---------------------------------------------------------
fDev += 15;
// GET LUT OUTPUT FOR icirc/istripX1/deviation/istripY
- fLUT->GetLutOutput(fNumber, fStripX11, fDev, fStripY11, fLutLpt, fLutHpt, fLutApt);
+ fLUT->GetLutOutput(fNumber, fStripX11, fDev, fStripY11, fLutLpt, fLutHpt);
}
}
for (Int_t i=0; i<4; i++) deviation += Int_t(fMinDev[i]<<i);
Float_t pt = 0.; //triggerCircuit->PtCal(fStripX11, fDev, fStripY11);
- printf("-------------------------------------------\n");
+ printf("-------------------------------------\n");
printf(" Local Trigger info for circuit Id %i (number %i ) \n", idCircuit, icirc);
printf(" istripX1 signDev deviation istripY = %i %i %i %i \n", fStripX11, fMinDev[4], deviation, iStripY);
printf(" pt = %f (GeV/c) \n", pt);
- printf("-------------------------------------------\n");
+ printf("-------------------------------------\n");
printf(" Local Trigger Lut Output = Lpt : ");
for (Int_t i=1; i>=0; i--) printf("%i", fLutLpt[i]);
printf(" Hpt : ");
for (Int_t i=1; i>=0; i--) printf("%i", fLutHpt[i]);
- printf(" Apt : ");
- for (Int_t i=1; i>=0; i--) printf("%i", fLutApt[i]);
printf("\n");
- printf("-------------------------------------------\n");
+ printf("-------------------------------------\n");
}
}
xXX4[i+24] = x4u[i];
}
- Int_t coinc44 = 0;
+// Int_t coinc44 = 0;
- TrigX(xX1, xX2, xXX3, xXX4, coinc44);
+ TrigX(xX1, xX2, xXX3, xXX4);
Int_t yY1[16], yY2[16], yY3[16], yY4[16];
yY4D[i] = y4d[i];
}
- TrigY(yY1, yY2, yY3, yY4, yY3U, yY3D, yY4U, yY4D, coinc44);
+ TrigY(yY1, yY2, yY3, yY4, yY3U, yY3D, yY4U, yY4D);
-// ASIGN fLutLpt, fLutHpt, fLutApt
+// ASIGN fLutLpt, fLutHpt
LocalTrigger();
- fResponse = fLutApt[0] +
- static_cast<int>(fLutApt[1]<<1) +
- static_cast<int>(fLutLpt[0]<<2) +
- static_cast<int>(fLutLpt[1]<<3) +
- static_cast<int>(fLutHpt[0]<<4) +
- static_cast<int>(fLutHpt[1]<<5);
+ fResponse = fLutLpt[0] +
+ static_cast<int>(fLutLpt[1]<<1) +
+ static_cast<int>(fLutHpt[0]<<2) +
+ static_cast<int>(fLutHpt[1]<<3);
}
ClassImp(AliMUONLocalTriggerBoard)