From: cussonno Date: Thu, 29 Jul 2004 09:18:34 +0000 (+0000) Subject: Add local cards pattern & local decision words (Christian) X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=6dc7fcdf906f8991a866792725b9c8bd0c846390;p=u%2Fmrichter%2FAliRoot.git Add local cards pattern & local decision words (Christian) --- diff --git a/MUON/AliMUONLocalTrigger.cxx b/MUON/AliMUONLocalTrigger.cxx index 5a3449b0441..9f636fe9a15 100644 --- a/MUON/AliMUONLocalTrigger.cxx +++ b/MUON/AliMUONLocalTrigger.cxx @@ -30,6 +30,19 @@ AliMUONLocalTrigger::AliMUONLocalTrigger() fLoLpt = 0; fLoHpt = 0; fLoApt = 0; + + fX1Pattern = 0; + fX2Pattern = 0; + fX3Pattern = 0; + fX4Pattern = 0; + + fY1Pattern = 0; + fY2Pattern = 0; + fY3Pattern = 0; + fY4Pattern = 0; + + fLoDecision = 0; + } //---------------------------------------------------------------------- AliMUONLocalTrigger::AliMUONLocalTrigger(const AliMUONLocalTrigger& theMUONLocalTrig) @@ -43,6 +56,18 @@ AliMUONLocalTrigger::AliMUONLocalTrigger(const AliMUONLocalTrigger& theMUONLocal fLoLpt = theMUONLocalTrig.fLoLpt; fLoHpt = theMUONLocalTrig.fLoHpt; fLoApt = theMUONLocalTrig.fLoApt; + + fX1Pattern = theMUONLocalTrig.fX1Pattern; + fX2Pattern = theMUONLocalTrig.fX2Pattern; + fX3Pattern = theMUONLocalTrig.fX3Pattern; + fX4Pattern = theMUONLocalTrig.fX4Pattern; + + fY1Pattern = theMUONLocalTrig.fY1Pattern; + fY2Pattern = theMUONLocalTrig.fY2Pattern; + fY3Pattern = theMUONLocalTrig.fY3Pattern; + fY4Pattern = theMUONLocalTrig.fY4Pattern; + + fLoDecision = theMUONLocalTrig.fLoDecision; } //---------------------------------------------------------------------- AliMUONLocalTrigger& AliMUONLocalTrigger::operator=(const AliMUONLocalTrigger& theMUONLocalTrig) @@ -62,11 +87,23 @@ AliMUONLocalTrigger& AliMUONLocalTrigger::operator=(const AliMUONLocalTrigger& t fLoHpt = theMUONLocalTrig.fLoHpt; fLoApt = theMUONLocalTrig.fLoApt; + fX1Pattern = theMUONLocalTrig.fX1Pattern; + fX2Pattern = theMUONLocalTrig.fX2Pattern; + fX3Pattern = theMUONLocalTrig.fX3Pattern; + fX4Pattern = theMUONLocalTrig.fX4Pattern; + + fY1Pattern = theMUONLocalTrig.fY1Pattern; + fY2Pattern = theMUONLocalTrig.fY2Pattern; + fY3Pattern = theMUONLocalTrig.fY3Pattern; + fY4Pattern = theMUONLocalTrig.fY4Pattern; + + fLoDecision = theMUONLocalTrig.fLoDecision; + return *this; } //---------------------------------------------------------------------- -AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t *localtr) +AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t* localtr) { // add a local trigger object fLoCircuit = localtr[0]; @@ -76,5 +113,23 @@ AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t *localtr) fLoLpt = localtr[4]; fLoHpt = localtr[5]; fLoApt = localtr[6]; + + // keep on with this way + fX1Pattern = (UShort_t)localtr[7]; + fX2Pattern = (UShort_t)localtr[8]; + fX3Pattern = (UShort_t)localtr[9]; + fX4Pattern = (UShort_t)localtr[10]; + + fY1Pattern = (UShort_t)localtr[11]; + fY2Pattern = (UShort_t)localtr[12]; + fY3Pattern = (UShort_t)localtr[13]; + fY4Pattern = (UShort_t)localtr[14]; } +//---------------------------------------------------------------------- +Char_t AliMUONLocalTrigger::GetLoDecision() +{ + fLoDecision = (fLoLpt & 0x3); + fLoDecision |= (fLoHpt << 2) & 0xC; + return fLoDecision; +} diff --git a/MUON/AliMUONLocalTrigger.h b/MUON/AliMUONLocalTrigger.h index 7c16ff3f6b3..6911f8b208d 100644 --- a/MUON/AliMUONLocalTrigger.h +++ b/MUON/AliMUONLocalTrigger.h @@ -13,7 +13,7 @@ class AliMUONLocalTrigger : public TObject { public: AliMUONLocalTrigger(); AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor ! - AliMUONLocalTrigger(Int_t *localtr); + AliMUONLocalTrigger(Int_t* localtr); virtual ~AliMUONLocalTrigger(){;} AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs); @@ -23,9 +23,22 @@ class AliMUONLocalTrigger : public TObject { Int_t LoStripY() const {return fLoStripY;}; Int_t LoLpt() const {return fLoLpt;}; Int_t LoHpt() const {return fLoHpt;}; - Int_t LoApt() const {return fLoApt;}; + Int_t LoApt() const {return fLoApt;}; - ClassDef(AliMUONLocalTrigger,1) // reconstructed Local Trigger object + + UShort_t GetX1Pattern() const {return fX1Pattern;} + UShort_t GetX2Pattern() const {return fX2Pattern;} + UShort_t GetX3Pattern() const {return fX3Pattern;} + UShort_t GetX4Pattern() const {return fX4Pattern;} + + UShort_t GetY1Pattern() const {return fY1Pattern;} + UShort_t GetY2Pattern() const {return fY2Pattern;} + UShort_t GetY3Pattern() const {return fY3Pattern;} + UShort_t GetY4Pattern() const {return fY4Pattern;} + + Char_t GetLoDecision(); + + ClassDef(AliMUONLocalTrigger,2) // reconstructed Local Trigger object private: Int_t fLoCircuit; // circuit number @@ -35,7 +48,18 @@ private: 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 Int_t fLoApt; // All pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef - + + UShort_t fX1Pattern; // X and Y strip pattern for each chamber + UShort_t fX2Pattern; + UShort_t fX3Pattern; + UShort_t fX4Pattern; + + UShort_t fY1Pattern; + UShort_t fY2Pattern; + UShort_t fY3Pattern; + UShort_t fY4Pattern; + + Char_t fLoDecision; // local decision word (4 bits) }; #endif diff --git a/MUON/AliMUONTriggerDecision.cxx b/MUON/AliMUONTriggerDecision.cxx index e3e4f8838d0..7901ec0e1c1 100644 --- a/MUON/AliMUONTriggerDecision.cxx +++ b/MUON/AliMUONTriggerDecision.cxx @@ -1404,18 +1404,33 @@ void AliMUONTriggerDecision::Digits2Trigger(){ for (Int_t icirc=0; icircAddLocalTrigger(*pLocTrig); // add a local trigger in the list }