1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
20 #include "AliMUONGlobalTrigger.h"
22 #include "AliMUONLocalStruct.h"
24 /// \class AliMUONGlobalTrigger
25 /// Global Trigger algorithm data output.
26 /// Built from Local and Regional algorithms. \n
27 /// Update for copy & assigment operator,
28 /// add SetGlobalPattern and GetGlobalPattern method for rawdata
30 /// \author Ph. Crochet
33 ClassImp(AliMUONGlobalTrigger)
36 //----------------------------------------------------------------------
37 AliMUONGlobalTrigger::AliMUONGlobalTrigger()
48 /// Default constructor
51 //----------------------------------------------------------------------
52 AliMUONGlobalTrigger::AliMUONGlobalTrigger(const AliMUONGlobalTrigger& theMUONGlobalTrig)
53 : TObject(theMUONGlobalTrig),
55 fSingleLpt(theMUONGlobalTrig.fSingleLpt),
56 fSingleHpt(theMUONGlobalTrig.fSingleHpt),
58 fPairUnlikeLpt(theMUONGlobalTrig.fPairUnlikeLpt),
59 fPairUnlikeHpt(theMUONGlobalTrig.fPairUnlikeHpt),
61 fPairLikeLpt(theMUONGlobalTrig.fPairLikeLpt),
62 fPairLikeHpt(theMUONGlobalTrig.fPairLikeHpt)
67 //----------------------------------------------------------------------
68 AliMUONGlobalTrigger::~AliMUONGlobalTrigger()
73 //----------------------------------------------------------------------
74 AliMUONGlobalTrigger& AliMUONGlobalTrigger::operator=(const AliMUONGlobalTrigger& theMUONGlobalTrig)
76 /// Assignement operator;
77 /// equal operator (useful for non-pointer member in TClonesArray)
79 if (this == &theMUONGlobalTrig)
82 // base class assignement
83 TObject::operator=(theMUONGlobalTrig);
85 fSingleLpt = theMUONGlobalTrig.fSingleLpt;
86 fSingleHpt = theMUONGlobalTrig.fSingleHpt;
88 fPairUnlikeLpt = theMUONGlobalTrig.fPairUnlikeLpt;
89 fPairUnlikeHpt = theMUONGlobalTrig.fPairUnlikeHpt;
91 fPairLikeLpt = theMUONGlobalTrig.fPairLikeLpt;
92 fPairLikeHpt = theMUONGlobalTrig.fPairLikeHpt;
97 //-----------------------------------------------------------
98 void AliMUONGlobalTrigger::SetFromGlobalResponse(UShort_t globalResponse)
100 /// Set class members from global response
101 /// coming from rawdata & global trigger board
102 /// [US:2, LS:2, Single:2] with [Hpt, Lpt]
105 // don't have the information anymore of the sign
106 fSingleLpt = globalResponse & 0x1;
107 fSingleHpt = (globalResponse >> 1) & 0x1;
109 fPairUnlikeLpt = (globalResponse >> 4) & 0x1;
110 fPairUnlikeHpt = (globalResponse >> 5) & 0x1;
112 fPairLikeLpt = (globalResponse >> 2) & 0x1;
113 fPairLikeHpt = (globalResponse >> 3) & 0x1;
117 //-----------------------------------------------------------
118 UChar_t AliMUONGlobalTrigger::GetGlobalResponse() const
120 /// Global trigger response
121 /// from class member values
122 /// [US:2, LS:2, Single:2] with [Hpt, Lpt]
126 if (SingleLpt()) response|= 0x1;
127 if (SingleHpt()) response|= 0x2;
129 if (PairLikeLpt()) response|= 0x4;
130 if (PairLikeHpt()) response|= 0x8;
132 if (PairUnlikeLpt()) response|= 0x10;
133 if (PairUnlikeHpt()) response|= 0x20;
137 //----------------------------------------------------------------------
138 void AliMUONGlobalTrigger::Print(Option_t* opt) const
141 /// Printing Global Trigger information
145 if ( sopt.Contains("FULL") ) {
147 printf("=============================================\n");
148 printf(" Global Trigger output Low pt High pt\n");
149 printf(" Single :\t");
150 printf("%i\t%i\t",SingleLpt(),SingleHpt());
153 printf(" UnlikeSign pair :\t");
154 printf("%i\t%i\t",PairUnlikeLpt(),PairUnlikeHpt());
157 printf(" LikeSign pair :\t");
158 printf("%i\t%i\t",PairLikeLpt(),PairLikeHpt());
161 printf("=============================================\n");