New detector AD
[u/mrichter/AliRoot.git] / AD / AliADRecoParam.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 /**************************************************************************************
18
19         AD's RecoParams Version 1.0
20
21         In this version we only consider:
22
23         ->) The AD's Trigger Mode (Single Muon Trigger or Multi Muon Trigger)
24         ->) The AD'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 "AliADRecoParam.h"
45
46 ClassImp(AliADRecoParam)
47
48 //_____________________________________________________________________________
49 AliADRecoParam::AliADRecoParam():
50   AliDetectorRecoParam()
51 //  fAcordeSingleMuonTrigger(kFALSE),
52 //  fAcordeMultiMuonTrigger(kFALSE),
53 //  fAcordeWord0(0x00000000),
54 //  fAcordeWord1(0x00000000),
55 //  fAcordeWord2(0x00000000),
56 //  fAcordeWord3(0x00000000)       
57 {
58         // AD's RecoParam constructor
59  
60          SetNameTitle("AD","AD");
61          AliInfo(Form("Empty object for AD RecoParam"));
62 }
63
64
65 //____________________________________________________________________________
66 AliADRecoParam::AliADRecoParam(const AliADRecoParam &p):
67   AliDetectorRecoParam(p)
68 //  fAcordeSingleMuonTrigger(p.fAcordeSingleMuonTrigger),
69 //  fAcordeMultiMuonTrigger(p.fAcordeMultiMuonTrigger),
70 //  fAcordeWord0(p.fAcordeWord0),
71 //  fAcordeWord1(p.fAcordeWord1),
72 //  fAcordeWord2(p.fAcordeWord2),
73 //  fAcordeWord3(p.fAcordeWord3)
74 {
75         // Copy of constructor
76 }
77
78 //_____________________________________________________________________________
79 AliADRecoParam& AliADRecoParam::operator=(const AliADRecoParam &p)
80 {
81         // AD's RecoParam Assign Operator
82
83         if (this == &p)
84         return *this;
85   
86         AliDetectorRecoParam::operator=(p);
87 /*      fAcordeSingleMuonTrigger=p.fAcordeSingleMuonTrigger;
88         fAcordeMultiMuonTrigger=p.fAcordeMultiMuonTrigger;      
89         fAcordeWord0=p.fAcordeWord0;
90         fAcordeWord1=p.fAcordeWord1;
91         fAcordeWord2=p.fAcordeWord2;
92         fAcordeWord3=p.fAcordeWord3;
93   */    
94         return *this;
95 }
96 //_____________________________________________________________________________
97 AliADRecoParam::~AliADRecoParam() 
98 {
99         // AD's RecoParam destructor
100 }
101
102 //_____________________________________________________________________________
103 /*
104 AliADRecoParam *AliADRecoParam::GetPbPbparam()
105 {
106  
107         // Set AD's default reconstruction parameters for PbPb 
108   
109         AliADRecoParam *acordeRecoParam = new AliADRecoParam();
110
111         // fAcordeTriggerMode = "AD_SINGLE" for AD's Single Muon Trigger
112         // fAcordeTriggerMode = "AD_MULTI" for AD's Multi Muon Trigger
113         
114         // By now we set fAcordeSingeMuonTrigger as default
115
116         acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable AD_SINGLE
117         acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable AD_MULTI
118         acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] AD's modules in AD_SINGLE
119         acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] AD's modules in AD_SINGLE
120         acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] AD's modules in AD_MULTI
121         acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] AD's modules in AD_MULTI
122         return acordeRecoParam;
123 }
124
125 //_____________________________________________________________________________
126 AliADRecoParam *AliADRecoParam::GetPPparam()
127 {
128         // Set AD's default reconstruction parameters for PbPb 
129   
130         AliADRecoParam *acordeRecoParam = new AliADRecoParam();
131
132         // fAcordeTriggerMode = "AD_SINGLE" for AD's Single Muon Trigger
133         // fAcordeTriggerMode = "AD_MULTI" for AD's Multi Muon Trigger
134         
135         // By now we set fAcordeSingeMuonTrigger as default
136
137         acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable AD_SINGLE
138         acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable AD_MULTI
139         acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] AD's modules in AD_SINGLE
140         acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] AD's modules in AD_SINGLE
141         acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] AD's modules in AD_MULTI
142         acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] AD's modules in AD_MULTI
143         return acordeRecoParam;
144 }
145
146 //_____________________________________________________________________________
147 AliADRecoParam *AliADRecoParam::GetCosmicMuonParam()
148 {
149          // Set AD's default reconstruction parameters for PbPb 
150   
151         AliADRecoParam *acordeRecoParam = new AliADRecoParam();
152
153         // fAcordeTriggerMode = "AD_SINGLE" for AD's Single Muon Trigger
154         // fAcordeTriggerMode = "AD_MULTI" for AD's Multi Muon Trigger
155         
156         // By now we set fAcordeSingeMuonTrigger as default
157
158         acordeRecoParam->fAcordeSingleMuonTrigger=kTRUE; // Enable AD_SINGLE
159         acordeRecoParam->fAcordeMultiMuonTrigger=kFALSE; // Disable AD_MULTI
160         acordeRecoParam->fAcordeWord0 = 0x3FFFFFFF; // [1..30] AD's modules in AD_SINGLE
161         acordeRecoParam->fAcordeWord1 = 0x7FFFFFFF; // [31..60] AD's modules in AD_SINGLE
162         acordeRecoParam->fAcordeWord2 = 0xBFFFFFFF; // [1..30] AD's modules in AD_MULTI
163         acordeRecoParam->fAcordeWord3 = 0xFFFFFFFF; // [31..60] AD's modules in AD_MULTI
164         return acordeRecoParam;
165 }
166 */
167 //_____________________________________________________________________________
168 void AliADRecoParam::PrintParameters() const
169 {
170         // Printing of the used AD reconstruction parameters
171
172  //     AliInfo(Form("AD's Single Muon Trigger Mode: %b", fAcordeSingleMuonTrigger));
173 //      AliInfo(Form("AD's Multi Muon Trigger Mode: %b", fAcordeMultiMuonTrigger));
174 //      if(fAcordeSingleMuonTrigger==kTRUE)
175 //      {
176 //              AliInfo(Form("AD's Trigger Mask: 0x%08x 0x%08x",fAcordeWord0,fAcordeWord1));
177 //      }
178 //      if(fAcordeMultiMuonTrigger==kTRUE)
179 //      {
180   //              AliInfo(Form("AD's Trigger Mask: 0x%08x 0x%08x",fAcordeWord2,fAcordeWord3));
181
182 //      }
183
184
185         AliInfo(Form("Empty object for AD RecoParam"));
186
187
188 }