]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ACORDE/AliACORDERecoParam.cxx
First Implementation of the RecoParams for ACORDE
[u/mrichter/AliRoot.git] / ACORDE / AliACORDERecoParam.cxx
CommitLineData
126aba7e 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/**************************************************************************************
18
19 ACORDE's RecoParams Version 1.0
20
21 In this version we only consider:
22
23 ->) The ACORDE's Trigger Mode (Single Muon Trigger or Multi Muon Trigger)
24 ->) The ACORDE's Trigger Mask (Same in SMT and MMT)
25
26 In Runs PbPb, pp, and cosmics by default we have the same RecoParams.
27
28 From:
29 Mario Rodriguez Cahuantzi <mrodrigu@mail.cern.ch> @ CERN
30 FCFM, BUAP. Puebla, Mexico
31
32 Further comments:
33
34 Arturo Fernandez <afernan@mail.cern.ch>
35
36 March 2nd. 2009
37
38 NOTE: Please suggest improvements if needed.
39
40**************************************************************************************/
41
42#include "AliLog.h"
43
44#include "AliACORDERecoParam.h"
45
46ClassImp(AliACORDERecoParam)
47
48//_____________________________________________________________________________
49AliACORDERecoParam::AliACORDERecoParam():
50 AliDetectorRecoParam(),
51 fAcordeSingleMuonTrigger(kFALSE),
52 fAcordeMultiMuonTrigger(kFALSE),
53 fAcordeWord0(0x00000000),
54 fAcordeWord1(0x00000000),
55 fAcordeWord2(0x00000000),
56 fAcordeWord3(0x00000000)
57{
58 // ACORDE's RecoParam constructor
59
60 SetNameTitle("ACORDE","ACORDE");
61}
62
63
64//____________________________________________________________________________
65AliACORDERecoParam::AliACORDERecoParam(const AliACORDERecoParam &p):
66 AliDetectorRecoParam(p),
67 fAcordeSingleMuonTrigger(p.fAcordeSingleMuonTrigger),
68 fAcordeMultiMuonTrigger(p.fAcordeMultiMuonTrigger),
69 fAcordeWord0(p.fAcordeWord0),
70 fAcordeWord1(p.fAcordeWord1),
71 fAcordeWord2(p.fAcordeWord2),
72 fAcordeWord3(p.fAcordeWord3)
73{
74 // Copy of constructor
75}
76
77//_____________________________________________________________________________
78AliACORDERecoParam& AliACORDERecoParam::operator=(const AliACORDERecoParam &p)
79{
80 // ACORDE's RecoParam Assign Operator
81
82 if (this == &p)
83 return *this;
84
85 AliDetectorRecoParam::operator=(p);
86 fAcordeSingleMuonTrigger=p.fAcordeSingleMuonTrigger;
87 fAcordeMultiMuonTrigger=p.fAcordeMultiMuonTrigger;
88 fAcordeWord0=p.fAcordeWord0;
89 fAcordeWord1=p.fAcordeWord1;
90 fAcordeWord2=p.fAcordeWord2;
91 fAcordeWord3=p.fAcordeWord3;
92
93 return *this;
94}
95//_____________________________________________________________________________
96AliACORDERecoParam::~AliACORDERecoParam()
97{
98 // ACORDE's RecoParam destructor
99}
100
101//_____________________________________________________________________________
102AliACORDERecoParam *AliACORDERecoParam::GetPbPbparam()
103{
104
105 // Set ACORDE's default reconstruction parameters for PbPb
106
107 AliACORDERecoParam *acordeRecoParam = new AliACORDERecoParam();
108
109 // fAcordeTriggerMode = "ACORDE_SINGLE" for ACORDE's Single Muon Trigger
110 // fAcordeTriggerMode = "ACORDE_MULTI" for ACORDE's Multi Muon Trigger
111
112 // By now we set fAcordeSingeMuonTrigger as default
113
114 acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable ACORDE_SINGLE
115 acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable ACORDE_MULTI
116 acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] ACORDE's modules in ACORDE_SINGLE
117 acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] ACORDE's modules in ACORDE_SINGLE
118 acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] ACORDE's modules in ACORDE_MULTI
119 acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] ACORDE's modules in ACORDE_MULTI
120 return acordeRecoParam;
121}
122
123//_____________________________________________________________________________
124AliACORDERecoParam *AliACORDERecoParam::GetPPparam()
125{
126 // Set ACORDE's default reconstruction parameters for PbPb
127
128 AliACORDERecoParam *acordeRecoParam = new AliACORDERecoParam();
129
130 // fAcordeTriggerMode = "ACORDE_SINGLE" for ACORDE's Single Muon Trigger
131 // fAcordeTriggerMode = "ACORDE_MULTI" for ACORDE's Multi Muon Trigger
132
133 // By now we set fAcordeSingeMuonTrigger as default
134
135 acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable ACORDE_SINGLE
136 acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable ACORDE_MULTI
137 acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] ACORDE's modules in ACORDE_SINGLE
138 acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] ACORDE's modules in ACORDE_SINGLE
139 acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] ACORDE's modules in ACORDE_MULTI
140 acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] ACORDE's modules in ACORDE_MULTI
141 return acordeRecoParam;
142}
143
144//_____________________________________________________________________________
145AliACORDERecoParam *AliACORDERecoParam::GetCosmicMuonParam()
146{
147 // Set ACORDE's default reconstruction parameters for PbPb
148
149 AliACORDERecoParam *acordeRecoParam = new AliACORDERecoParam();
150
151 // fAcordeTriggerMode = "ACORDE_SINGLE" for ACORDE's Single Muon Trigger
152 // fAcordeTriggerMode = "ACORDE_MULTI" for ACORDE's Multi Muon Trigger
153
154 // By now we set fAcordeSingeMuonTrigger as default
155
156 acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable ACORDE_SINGLE
157 acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable ACORDE_MULTI
158 acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] ACORDE's modules in ACORDE_SINGLE
159 acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] ACORDE's modules in ACORDE_SINGLE
160 acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] ACORDE's modules in ACORDE_MULTI
161 acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] ACORDE's modules in ACORDE_MULTI
162 return acordeRecoParam;
163}
164
165//_____________________________________________________________________________
166void AliACORDERecoParam::PrintParameters() const
167{
168 // Printing of the used ACORDE reconstruction parameters
169
170 AliInfo(Form("ACORDE's Single Muon Trigger Mode: %b", fAcordeSingleMuonTrigger));
171 AliInfo(Form("ACORDE's Multi Muon Trigger Mode: %b", fAcordeMultiMuonTrigger));
172 if(fAcordeSingleMuonTrigger==kTRUE)
173 {
174 AliInfo(Form("ACORDE's Trigger Mask: 0x%08x 0x%08x",fAcordeWord0,fAcordeWord1));
175 }
176 if(fAcordeMultiMuonTrigger==kTRUE)
177 {
178 AliInfo(Form("ACORDE's Trigger Mask: 0x%08x 0x%08x",fAcordeWord2,fAcordeWord3));
179
180 }
181}