]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGlobalTrigger.cxx
Various fixes in order to compile the DA source code
[u/mrichter/AliRoot.git] / MUON / AliMUONGlobalTrigger.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/ 
15  
16
17 /* $Id$ */
18
19
20 #include "AliMUONGlobalTrigger.h"
21 #include "AliLog.h"
22 #include "AliMUONLocalStruct.h"
23
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 
29 /// (Ch. Finck)
30 /// \author Ph. Crochet
31
32 /// \cond CLASSIMP
33 ClassImp(AliMUONGlobalTrigger)
34 /// \endcond
35
36 //----------------------------------------------------------------------
37 AliMUONGlobalTrigger::AliMUONGlobalTrigger()
38   : TObject(),
39     fSingleLpt(0),
40     fSingleHpt(0),
41       
42     fPairUnlikeLpt(0),
43     fPairUnlikeHpt(0),
44     
45     fPairLikeLpt(0),
46     fPairLikeHpt(0)
47
48   /// Default constructor 
49 }
50
51 //----------------------------------------------------------------------
52 AliMUONGlobalTrigger::AliMUONGlobalTrigger(const AliMUONGlobalTrigger& theMUONGlobalTrig)
53   : TObject(theMUONGlobalTrig),
54   
55     fSingleLpt(theMUONGlobalTrig.fSingleLpt),
56     fSingleHpt(theMUONGlobalTrig.fSingleHpt),
57     
58     fPairUnlikeLpt(theMUONGlobalTrig.fPairUnlikeLpt),
59     fPairUnlikeHpt(theMUONGlobalTrig.fPairUnlikeHpt),
60     
61     fPairLikeLpt(theMUONGlobalTrig.fPairLikeLpt),
62     fPairLikeHpt(theMUONGlobalTrig.fPairLikeHpt)
63 {
64   /// Copy constructor
65 }
66
67 //----------------------------------------------------------------------
68 AliMUONGlobalTrigger::~AliMUONGlobalTrigger()
69 {
70   /// Destructor
71 }
72
73 //----------------------------------------------------------------------
74 AliMUONGlobalTrigger& AliMUONGlobalTrigger::operator=(const AliMUONGlobalTrigger& theMUONGlobalTrig)
75 {
76   /// Assignement operator;
77   /// equal operator (useful for non-pointer member in TClonesArray)
78
79   if (this == &theMUONGlobalTrig)
80     return *this;
81     
82   // base class assignement
83   TObject::operator=(theMUONGlobalTrig);
84
85   fSingleLpt  = theMUONGlobalTrig.fSingleLpt;
86   fSingleHpt  = theMUONGlobalTrig.fSingleHpt;
87   
88   fPairUnlikeLpt  = theMUONGlobalTrig.fPairUnlikeLpt;
89   fPairUnlikeHpt  = theMUONGlobalTrig.fPairUnlikeHpt;
90   
91   fPairLikeLpt    = theMUONGlobalTrig.fPairLikeLpt;
92   fPairLikeHpt    = theMUONGlobalTrig.fPairLikeHpt;
93
94   return *this;
95 }
96
97 //-----------------------------------------------------------
98 void AliMUONGlobalTrigger::SetFromGlobalResponse(UShort_t globalResponse)
99 {
100   /// Set class members from global response
101   /// coming from rawdata & global trigger board
102   /// [US:2, LS:2, Single:2] with [Hpt, Lpt]
103   /// remove Apt
104
105   // don't have the information anymore of the sign
106   fSingleLpt = globalResponse & 0x1;
107   fSingleHpt = (globalResponse >> 1) & 0x1;
108
109   fPairUnlikeLpt = (globalResponse >> 4)  & 0x1;
110   fPairUnlikeHpt = (globalResponse >> 5)  & 0x1;
111   
112   fPairLikeLpt = (globalResponse >> 2)  & 0x1;
113   fPairLikeHpt = (globalResponse >> 3)  & 0x1;
114   
115 }
116
117 //-----------------------------------------------------------
118 UChar_t AliMUONGlobalTrigger::GetGlobalResponse() const
119 {
120   /// Global trigger response
121   /// from class member values
122   /// [US:2, LS:2, Single:2] with [Hpt, Lpt]
123
124   Int_t response = 0;
125
126   if (SingleLpt())     response|= 0x1;
127   if (SingleHpt())     response|= 0x2;
128
129   if (PairLikeLpt())   response|= 0x4;
130   if (PairLikeHpt())   response|= 0x8;
131  
132   if (PairUnlikeLpt()) response|= 0x10;
133   if (PairUnlikeHpt()) response|= 0x20;
134
135   return response;
136 }
137 //----------------------------------------------------------------------
138 void AliMUONGlobalTrigger::Print(Option_t* opt) const
139 {
140   ///
141   /// Printing Global Trigger information
142   ///
143   TString sopt(opt);
144   sopt.ToUpper();
145   if ( sopt.Contains("FULL") ) { 
146
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());
151       printf("\n");
152       
153       printf(" UnlikeSign pair           :\t"); 
154       printf("%i\t%i\t",PairUnlikeLpt(),PairUnlikeHpt());
155       printf("\n");
156       
157       printf(" LikeSign pair             :\t");  
158       printf("%i\t%i\t",PairLikeLpt(),PairLikeHpt());
159       printf("\n");
160       
161       printf("=============================================\n");
162   }  
163 }
164
165