From Jochen - EveHLT development accumulated since the end of March.
[u/mrichter/AliRoot.git] / EVE / EveHLT / AliEveHOMERSrcTranslator.cxx
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3 // Author: Jochen Thaeder <thaeder@kip.uni-heidelberg.de>                *
4 //         for The ALICE HLT Project.                                    *
5
6 //-*- Mode: C++ -*-
7
8 /** @file   AliEveHOMERSrcTranslator.cxx
9     @author Jochen Thaeder
10     @date
11     @brief  Src Translator of HomerManger
12 */
13
14 #if __GNUC__>= 3
15    using namespace std;
16 #endif
17
18 #define use_aliroot
19 #define use_root
20 #define ROWHOUGHPARAMS
21 #define use_reconstruction
22 #define use_newio
23 #define ROOTVERSION    "unchecked"
24 #define ALIROOTVERSION "unchecked"
25 #define __ROOT__
26 #define USE_ALILOG
27 #define LINUX
28
29 #define EVE_DEBUG 1
30 // -- -- -- -- -- -- -- 
31 #include "AliEveHOMERSource.h"
32 #include "AliEveHOMERSrcTranslator.h"
33 #include "AliEveHOMERSrcObject.h"
34 // -- -- -- -- -- -- -- 
35 #include "TString.h"
36 #include <TApplication.h>
37 #include "Riostream.h"
38 #include "TXMLAttr.h"
39 #include "TCollection.h"
40 #include "TList.h"
41 #include "TObjString.h"
42 #include "TObjArray.h"
43 // -- -- -- -- -- -- -- 
44 #include "AliLog.h"
45
46 //______________________________________________________________________________
47 //
48 // Translate HLT data-sources.
49
50 ClassImp(AliEveHOMERSrcTranslator)
51
52 /*
53  * ---------------------------------------------------------------------------------
54  *                            Constructor / Destructor
55  * ---------------------------------------------------------------------------------
56  */
57
58 //##################################################################################
59   AliEveHOMERSrcTranslator::AliEveHOMERSrcTranslator( TString realm ) :
60     fBasePortMap(NULL),
61     fObjectMap(NULL),
62     fRealm(realm)
63 {
64   // This Class should handle the translation of 
65   // internal hostnames and ports to the ones used by
66   // HOMER according to realm, where AliEVE is running in.
67   
68   SetupPortMap();
69   SetupObjectMap();
70 }
71
72 //##################################################################################
73 AliEveHOMERSrcTranslator::~AliEveHOMERSrcTranslator() {
74   // The destructor
75
76   if ( fBasePortMap )
77     delete fBasePortMap;
78   fBasePortMap = NULL;
79 }
80
81 /*
82  * ---------------------------------------------------------------------------------
83  *                           Translation - public
84  * ---------------------------------------------------------------------------------
85  */
86
87 //##################################################################################
88 Int_t AliEveHOMERSrcTranslator::Translate( TString xmlNodename, TString xmlPort, 
89                                            TString &hostname, Int_t &port ) {
90   // Translate hostname and port for source which has to be used by HOMER
91   // ( due to port mapping inside the HLT )
92   // * param xmlNodename  Nodename out of the XML
93   // * param xmlPort      Port out of the XML
94   // * param hostname     Return of the hostname
95   // * param port         Return of the port
96   // * return             0 on sucess, 1 if port couldn't be resolved,
97
98   Int_t iResult = 0;
99
100   // *** Resolve hostname
101   hostname = ResolveHostname( xmlNodename );
102   
103   // *** Resolve port
104   port = ResolvePort( xmlPort, xmlNodename );
105   
106   if ( port == -1 ) {
107     AliError( Form("Error resolving port : %s", xmlPort.Data()) );
108     iResult = 1;
109   }
110
111   // *** Summary
112 #if EVE_DEBUG
113   if ( !iResult ) {
114     AliInfo( Form("%s:%i resolved out of %s:%s", hostname.Data(), port, xmlNodename.Data(), xmlPort.Data()) );
115   }
116 #endif
117
118   return iResult;
119 }
120
121 //##################################################################################
122 void AliEveHOMERSrcTranslator::ApplyDetectorCorrections( TString &detector, TString &subDetector) {
123   // Apply corrections for differnt detectors and subdetectors */
124
125   // -- Correct TPC subdetector, because in we have somtimes "A","C"
126   if ( ! detector.CompareTo("TPC") ) {
127     if ( subDetector.BeginsWith('A') ) {
128       subDetector.Remove( TString::kLeading, 'A' );
129     }
130     else if ( subDetector.BeginsWith('C') ) {
131       subDetector.Remove( TString::kLeading, 'C' );
132       Int_t tmp = subDetector.Atoi() + 18;
133       subDetector = "";
134       subDetector += tmp;
135     }
136   }
137   
138   // -- Correct for MUON
139   if ( ! detector.CompareTo("DIMU") ) {
140     detector = "MUON";
141     
142     if ( ! subDetector.CompareTo("TRG") )
143       subDetector = "1";
144     else if ( ! subDetector.CompareTo("TRK") )
145       subDetector = "2";
146   }
147 }
148
149 //##################################################################################
150 Int_t AliEveHOMERSrcTranslator::FillSourceDesc( AliHLTHOMERSourceDesc* source, TString name ) {
151   // Fill SourceDesc with object Information
152
153   Int_t iResult = 0;
154
155   TString detector = source->GetDetector();
156
157   if ( ! fObjectMap->FindObject( detector ) ) {
158     AliError( Form("Error mapping for detector not known : %s", detector.Data()) );
159     AliError( Form("Error mapping for NAME : %s", name.Data()) );
160     iResult = 1;
161
162     return iResult;
163   }
164
165
166   TMap * objectMap = (TMap*) fObjectMap->GetValue( detector );
167
168
169
170   if ( ! objectMap->FindObject( name ) ) {
171   cout << "DET..." << detector.Data() << endl;    
172
173     source->SetSourceName( name, "" );
174     source->SetSourceType( 0, "*******" );
175   }
176   else {
177     AliEveHOMERSrcObject* srcObject = (AliEveHOMERSrcObject*) objectMap->FindObject( name );
178     source->SetSourceName( name, srcObject->GetClassName() );
179     source->SetSourceType( srcObject->GetSpecification(), srcObject->GetDataType() );
180   }
181
182   return iResult;
183 }
184
185 /*
186  * ---------------------------------------------------------------------------------
187  *                            Source Resolving - private
188  * ---------------------------------------------------------------------------------
189  */
190
191 //##################################################################################
192 TString AliEveHOMERSrcTranslator::ResolveHostname( TString nodename ){
193   // resolves the hostname, out of the XML nodename, and the realm set
194
195   TString hostname = 0;
196
197   // -- Set hostname according to realm
198   if ( ! fRealm.CompareTo( "ACR" ) ) 
199     hostname = "alihlt-dcs0.cern.ch";
200   else if ( ! fRealm.CompareTo( "GPN" ) ) 
201     hostname = "alihlt-vobox0.cern.ch";
202   else if ( ! fRealm.CompareTo( "KIP" ) ) 
203     hostname = "alihlt-gw0.kip.uni-heidelberg.de";
204   else 
205     hostname = nodename;
206
207   return hostname;
208 }
209
210 //##################################################################################
211 Int_t AliEveHOMERSrcTranslator::ResolvePort( TString srcPort, TString nodename ) {
212   // resolves the port, out of the XML port, and the realm set
213   Int_t port = -1;
214
215   if ( ! srcPort.IsDigit() )
216     return port;
217
218   if ( srcPort.Atoi() < kNodeBasePort )
219     return port;
220   
221   if ( ! fBasePortMap->FindObject( nodename ) ) 
222     return port;
223
224   port = srcPort.Atoi();
225   
226   if ( ! fRealm.CompareTo( "HLT" ) )
227     return port;
228
229   Int_t offset = port - kNodeBasePort;
230
231   port = ( ( (TObjString*) fBasePortMap->GetValue(nodename) )->GetString() ).Atoi();
232   port += offset;
233
234   return port;
235 }
236
237 /*
238  * ---------------------------------------------------------------------------------
239  *                             Setup - private
240  * ---------------------------------------------------------------------------------
241  */
242
243 //##################################################################################
244 void AliEveHOMERSrcTranslator::SetupPortMap () {
245   // Setup hostname to port mapping
246
247   fBasePortMap = new TMap();    
248   //fBasePortMap->SetOwnerKeyValue();
249
250   fBasePortMap->Add( new TObjString("cntpca000"), new TObjString("49408"));
251   fBasePortMap->Add( new TObjString("feptpcao00"), new TObjString("49436"));
252   fBasePortMap->Add( new TObjString("feptpcai00"), new TObjString("49440"));
253   fBasePortMap->Add( new TObjString("feptpcao01"), new TObjString("49444"));
254   fBasePortMap->Add( new TObjString("feptpcao02"), new TObjString("49564"));
255   fBasePortMap->Add( new TObjString("feptpcai02"), new TObjString("49568"));
256   fBasePortMap->Add( new TObjString("feptpcao03"), new TObjString("49572"));
257   fBasePortMap->Add( new TObjString("cntpca040"), new TObjString("49664"));
258   fBasePortMap->Add( new TObjString("feptpcao04"), new TObjString("49692"));
259   fBasePortMap->Add( new TObjString("feptpcai04"), new TObjString("49696"));
260   fBasePortMap->Add( new TObjString("feptpcao05"), new TObjString("49700"));
261   fBasePortMap->Add( new TObjString("feptpcao06"), new TObjString("49820"));
262   fBasePortMap->Add( new TObjString("feptpcai06"), new TObjString("49824"));
263   fBasePortMap->Add( new TObjString("feptpcao07"), new TObjString("49828"));
264   fBasePortMap->Add( new TObjString("cntpca080"), new TObjString("49920"));
265   fBasePortMap->Add( new TObjString("feptpcao08"), new TObjString("49948"));
266   fBasePortMap->Add( new TObjString("feptpcai08"), new TObjString("49952"));
267   fBasePortMap->Add( new TObjString("feptpcao09"), new TObjString("49956"));
268   fBasePortMap->Add( new TObjString("feptpcao10"), new TObjString("50076"));
269   fBasePortMap->Add( new TObjString("feptpcai10"), new TObjString("50080"));
270   fBasePortMap->Add( new TObjString("feptpcao11"), new TObjString("50084"));
271   fBasePortMap->Add( new TObjString("cntpca120"), new TObjString("50176"));
272   fBasePortMap->Add( new TObjString("feptpcao12"), new TObjString("50204"));
273   fBasePortMap->Add( new TObjString("feptpcai12"), new TObjString("50208"));
274   fBasePortMap->Add( new TObjString("feptpcao13"), new TObjString("50212"));
275   fBasePortMap->Add( new TObjString("feptpcao14"), new TObjString("50332"));
276   fBasePortMap->Add( new TObjString("feptpcai14"), new TObjString("50336"));
277   fBasePortMap->Add( new TObjString("feptpcao15"), new TObjString("50340"));
278   fBasePortMap->Add( new TObjString("cntpca160"), new TObjString("50432"));
279   fBasePortMap->Add( new TObjString("feptpcao16"), new TObjString("50460"));
280   fBasePortMap->Add( new TObjString("feptpcai16"), new TObjString("50464"));
281   fBasePortMap->Add( new TObjString("feptpcao17"), new TObjString("50468"));
282   fBasePortMap->Add( new TObjString("cntrd0"), new TObjString("54144"));
283   fBasePortMap->Add( new TObjString("feptrd00"), new TObjString("54168"));
284   fBasePortMap->Add( new TObjString("feptrd04"), new TObjString("54172"));
285   fBasePortMap->Add( new TObjString("feptrd08"), new TObjString("54176"));
286   fBasePortMap->Add( new TObjString("feptrd10"), new TObjString("54180"));
287   fBasePortMap->Add( new TObjString("feptrd14"), new TObjString("54184"));
288   fBasePortMap->Add( new TObjString("feptpcco16"), new TObjString("54428"));
289   fBasePortMap->Add( new TObjString("feptpcci16"), new TObjString("54432"));
290   fBasePortMap->Add( new TObjString("feptpcco17"), new TObjString("54436"));
291   fBasePortMap->Add( new TObjString("feptpcco14"), new TObjString("54556"));
292   fBasePortMap->Add( new TObjString("feptpcci14"), new TObjString("54560"));
293   fBasePortMap->Add( new TObjString("feptpcco15"), new TObjString("54564"));
294   fBasePortMap->Add( new TObjString("cntpcc120"), new TObjString("54656"));
295   fBasePortMap->Add( new TObjString("feptpcco12"), new TObjString("54684"));
296   fBasePortMap->Add( new TObjString("feptpcci12"), new TObjString("54688"));
297   fBasePortMap->Add( new TObjString("feptpcco13"), new TObjString("54692"));
298   fBasePortMap->Add( new TObjString("feptpcco10"), new TObjString("54812"));
299   fBasePortMap->Add( new TObjString("feptpcci10"), new TObjString("54816"));
300   fBasePortMap->Add( new TObjString("feptpcco11"), new TObjString("54820"));
301   fBasePortMap->Add( new TObjString("cntpcc080"), new TObjString("54912"));
302   fBasePortMap->Add( new TObjString("feptpcco08"), new TObjString("54940"));
303   fBasePortMap->Add( new TObjString("feptpcci08"), new TObjString("54944"));
304   fBasePortMap->Add( new TObjString("feptpcco09"), new TObjString("54948"));
305   fBasePortMap->Add( new TObjString("feptpcco06"), new TObjString("55068"));
306   fBasePortMap->Add( new TObjString("feptpcci06"), new TObjString("55072"));
307   fBasePortMap->Add( new TObjString("feptpcco07"), new TObjString("55076"));
308   fBasePortMap->Add( new TObjString("cntpcc040"), new TObjString("55168"));
309   fBasePortMap->Add( new TObjString("feptpcco04"), new TObjString("55196"));
310   fBasePortMap->Add( new TObjString("feptpcci04"), new TObjString("55200"));
311   fBasePortMap->Add( new TObjString("feptpcco05"), new TObjString("55204"));
312   fBasePortMap->Add( new TObjString("feptpcco02"), new TObjString("55324"));
313   fBasePortMap->Add( new TObjString("feptpcci02"), new TObjString("55328"));
314   fBasePortMap->Add( new TObjString("feptpcco03"), new TObjString("55332"));
315   fBasePortMap->Add( new TObjString("cntpcc000"), new TObjString("55424"));
316   fBasePortMap->Add( new TObjString("feptpcco00"), new TObjString("55452"));
317   fBasePortMap->Add( new TObjString("feptpcci00"), new TObjString("55456"));
318   fBasePortMap->Add( new TObjString("feptpcco01"), new TObjString("55460"));
319   fBasePortMap->Add( new TObjString("cnspd0"), new TObjString("57728"));
320   fBasePortMap->Add( new TObjString("fepspd0"), new TObjString("57752"));
321   fBasePortMap->Add( new TObjString("fepspd1"), new TObjString("57756"));
322   fBasePortMap->Add( new TObjString("fepspd2"), new TObjString("57760"));
323   fBasePortMap->Add( new TObjString("fepspd3"), new TObjString("57764"));
324   fBasePortMap->Add( new TObjString("fepspd4"), new TObjString("57768"));
325   fBasePortMap->Add( new TObjString("cnssd0"), new TObjString("57856"));
326   fBasePortMap->Add( new TObjString("fepssd0"), new TObjString("57880"));
327   fBasePortMap->Add( new TObjString("fepssd1"), new TObjString("57884"));
328   fBasePortMap->Add( new TObjString("fepssd2"), new TObjString("57888"));
329   fBasePortMap->Add( new TObjString("fepssd3"), new TObjString("57892"));
330   fBasePortMap->Add( new TObjString("fepphos4"), new TObjString("57896"));
331   fBasePortMap->Add( new TObjString("fepsdd5"), new TObjString("57896"));
332   fBasePortMap->Add( new TObjString("fephmpid0"), new TObjString("58008"));
333   fBasePortMap->Add( new TObjString("fepsdd0"), new TObjString("58008"));
334   fBasePortMap->Add( new TObjString("fephmpid1"), new TObjString("58012"));
335   fBasePortMap->Add( new TObjString("fepsdd1"), new TObjString("58012"));
336   fBasePortMap->Add( new TObjString("fephmpid2"), new TObjString("58016"));
337   fBasePortMap->Add( new TObjString("fepsdd2"), new TObjString("58016"));
338   fBasePortMap->Add( new TObjString("fephmpid3"), new TObjString("58020"));
339   fBasePortMap->Add( new TObjString("fepsdd3"), new TObjString("58020"));
340   fBasePortMap->Add( new TObjString("fepphos1"), new TObjString("58024"));
341   fBasePortMap->Add( new TObjString("fepsdd4"), new TObjString("58024"));
342   fBasePortMap->Add( new TObjString("feptriggerdet"), new TObjString("58140"));
343   fBasePortMap->Add( new TObjString("fepfmdaccorde"), new TObjString("58144"));
344   fBasePortMap->Add( new TObjString("fephltout0"), new TObjString("58400"));
345   fBasePortMap->Add( new TObjString("fephltout1"), new TObjString("58404"));
346   fBasePortMap->Add( new TObjString("cnphos0"), new TObjString("58624"));
347   fBasePortMap->Add( new TObjString("fepphos2"), new TObjString("58656"));
348   fBasePortMap->Add( new TObjString("fepphos3"), new TObjString("58660"));
349   fBasePortMap->Add( new TObjString("cndimutrg0"), new TObjString("58752"));
350   fBasePortMap->Add( new TObjString("fepdimutrg"), new TObjString("58784"));
351   fBasePortMap->Add( new TObjString("cndimutrk0"), new TObjString("58880"));
352   fBasePortMap->Add( new TObjString("fepdimutrk1"), new TObjString("58904"));
353   fBasePortMap->Add( new TObjString("fepdimutrk2"), new TObjString("58908"));
354   fBasePortMap->Add( new TObjString("fepdimutrk3"), new TObjString("58912"));
355   fBasePortMap->Add( new TObjString("fepdimutrk4"), new TObjString("58916"));
356   fBasePortMap->Add( new TObjString("fepdimutrk5"), new TObjString("58920"));
357  
358
359 //   fBasePortMap->Add( new TObjString("feptpcao00"), new TObjString("49436"));
360 //   fBasePortMap->Add( new TObjString("feptpcai00"), new TObjString("49440"));
361 //   fBasePortMap->Add( new TObjString("feptpcao01"), new TObjString("49444"));
362 //   fBasePortMap->Add( new TObjString("feptpcao02"), new TObjString("49564"));
363 //   fBasePortMap->Add( new TObjString("feptpcai02"), new TObjString("49568"));
364 //   fBasePortMap->Add( new TObjString("feptpcao03"), new TObjString("49572"));
365 //   fBasePortMap->Add( new TObjString("feptpcao04"), new TObjString("49692"));
366 //   fBasePortMap->Add( new TObjString("feptpcai04"), new TObjString("49696"));
367 //   fBasePortMap->Add( new TObjString("feptpcao05"), new TObjString("49700"));
368 //   fBasePortMap->Add( new TObjString("feptpcao06"), new TObjString("49820"));
369 //   fBasePortMap->Add( new TObjString("feptpcai06"), new TObjString("49824"));
370 //   fBasePortMap->Add( new TObjString("feptpcao07"), new TObjString("49828"));
371 //   fBasePortMap->Add( new TObjString("feptpcao08"), new TObjString("49948"));
372 //   fBasePortMap->Add( new TObjString("feptpcai08"), new TObjString("49952"));
373 //   fBasePortMap->Add( new TObjString("feptpcao09"), new TObjString("49956"));
374 //   fBasePortMap->Add( new TObjString("feptpcao10"), new TObjString("50076"));
375 //   fBasePortMap->Add( new TObjString("feptpcai10"), new TObjString("50080"));
376 //   fBasePortMap->Add( new TObjString("feptpcao11"), new TObjString("50084"));
377 //   fBasePortMap->Add( new TObjString("feptpcao12"), new TObjString("50204"));
378 //   fBasePortMap->Add( new TObjString("feptpcai12"), new TObjString("50208"));
379 //   fBasePortMap->Add( new TObjString("feptpcao13"), new TObjString("50212"));
380 //   fBasePortMap->Add( new TObjString("feptpcao14"), new TObjString("50332"));
381 //   fBasePortMap->Add( new TObjString("feptpcai14"), new TObjString("50336"));
382 //   fBasePortMap->Add( new TObjString("feptpcao15"), new TObjString("50340"));
383 //   fBasePortMap->Add( new TObjString("feptpcao16"), new TObjString("50460"));
384 //   fBasePortMap->Add( new TObjString("feptpcai16"), new TObjString("50464"));
385 //   fBasePortMap->Add( new TObjString("feptpcao17"), new TObjString("50468"));
386 //   fBasePortMap->Add( new TObjString("feptrd00"), new TObjString("54168"));
387 //   fBasePortMap->Add( new TObjString("feptrd04"), new TObjString("54172"));
388 //   fBasePortMap->Add( new TObjString("feptrd08"), new TObjString("54176"));
389 //   fBasePortMap->Add( new TObjString("feptrd10"), new TObjString("54180"));
390 //   fBasePortMap->Add( new TObjString("feptrd14"), new TObjString("54184"));
391 //   fBasePortMap->Add( new TObjString("feptpcco16"), new TObjString("54428"));
392 //   fBasePortMap->Add( new TObjString("feptpcci16"), new TObjString("54432"));
393 //   fBasePortMap->Add( new TObjString("feptpcco17"), new TObjString("54436"));
394 //   fBasePortMap->Add( new TObjString("feptpcco14"), new TObjString("54556"));
395 //   fBasePortMap->Add( new TObjString("feptpcci14"), new TObjString("54560"));
396 //   fBasePortMap->Add( new TObjString("feptpcco15"), new TObjString("54564"));
397 //   fBasePortMap->Add( new TObjString("feptpcco12"), new TObjString("54684"));
398 //   fBasePortMap->Add( new TObjString("feptpcci12"), new TObjString("54688"));
399 //   fBasePortMap->Add( new TObjString("feptpcco13"), new TObjString("54692"));
400 //   fBasePortMap->Add( new TObjString("feptpcco10"), new TObjString("54812"));
401 //   fBasePortMap->Add( new TObjString("feptpcci10"), new TObjString("54816"));
402 //   fBasePortMap->Add( new TObjString("feptpcco11"), new TObjString("54820"));
403 //   fBasePortMap->Add( new TObjString("feptpcco08"), new TObjString("54940"));
404 //   fBasePortMap->Add( new TObjString("feptpcci08"), new TObjString("54944"));
405 //   fBasePortMap->Add( new TObjString("feptpcco09"), new TObjString("54948"));
406 //   fBasePortMap->Add( new TObjString("feptpcco06"), new TObjString("55068"));
407 //   fBasePortMap->Add( new TObjString("feptpcci06"), new TObjString("55072"));
408 //   fBasePortMap->Add( new TObjString("feptpcco07"), new TObjString("55076"));
409 //   fBasePortMap->Add( new TObjString("feptpcco04"), new TObjString("55196"));
410 //   fBasePortMap->Add( new TObjString("feptpcci04"), new TObjString("55200"));
411 //   fBasePortMap->Add( new TObjString("feptpcco05"), new TObjString("55204"));
412 //   fBasePortMap->Add( new TObjString("feptpcco02"), new TObjString("55324"));
413 //   fBasePortMap->Add( new TObjString("feptpcci02"), new TObjString("55328"));
414 //   fBasePortMap->Add( new TObjString("feptpcco03"), new TObjString("55332"));
415 //   fBasePortMap->Add( new TObjString("feptpcco00"), new TObjString("55452"));
416 //   fBasePortMap->Add( new TObjString("feptpcci00"), new TObjString("55456"));
417 //   fBasePortMap->Add( new TObjString("feptpcco01"), new TObjString("55460"));
418 //   fBasePortMap->Add( new TObjString("fepspd0"), new TObjString("57752"));
419 //   fBasePortMap->Add( new TObjString("fepspd1"), new TObjString("57756"));
420 //   fBasePortMap->Add( new TObjString("fepspd2"), new TObjString("57760"));
421 //   fBasePortMap->Add( new TObjString("fepspd3"), new TObjString("57764"));
422 //   fBasePortMap->Add( new TObjString("fepspd4"), new TObjString("57768"));
423 //   fBasePortMap->Add( new TObjString("fepssd0"), new TObjString("57880"));
424 //   fBasePortMap->Add( new TObjString("fepssd1"), new TObjString("57884"));
425 //   fBasePortMap->Add( new TObjString("fepssd2"), new TObjString("57888"));
426 //   fBasePortMap->Add( new TObjString("fepssd3"), new TObjString("57892"));
427 //   fBasePortMap->Add( new TObjString("feptriggerdet"), new TObjString("58140"));
428 //   fBasePortMap->Add( new TObjString("fepfmdaccorde"), new TObjString("58144"));
429 //   fBasePortMap->Add( new TObjString("fephmpid0"), new TObjString("58264"));
430 //   fBasePortMap->Add( new TObjString("fephmpid1"), new TObjString("58268"));
431 //   fBasePortMap->Add( new TObjString("fephmpid2"), new TObjString("58272"));
432 //   fBasePortMap->Add( new TObjString("fephmpid3"), new TObjString("58276"));
433 //   fBasePortMap->Add( new TObjString("fephltout0"), new TObjString("58400"));
434 //   fBasePortMap->Add( new TObjString("fephltout1"), new TObjString("58404"));
435 //   fBasePortMap->Add( new TObjString("fepphos2"), new TObjString("58656"));
436 //   fBasePortMap->Add( new TObjString("fepphos3"), new TObjString("58660"));
437 //   fBasePortMap->Add( new TObjString("fepphos4"), new TObjString("58664"));
438 //   fBasePortMap->Add( new TObjString("fepdimutrg"), new TObjString("58784"));
439 //   fBasePortMap->Add( new TObjString("fepdimutrk1"), new TObjString("58904"));
440 //   fBasePortMap->Add( new TObjString("fepdimutrk2"), new TObjString("58908"));
441 //   fBasePortMap->Add( new TObjString("fepdimutrk3"), new TObjString("58912"));
442 //   fBasePortMap->Add( new TObjString("fepdimutrk4"), new TObjString("58916"));
443 //   fBasePortMap->Add( new TObjString("fepdimutrk5"), new TObjString("58920"));
444
445 }
446
447 //##################################################################################
448 void AliEveHOMERSrcTranslator::SetupObjectMap () {
449   // Setup hostname to port mapping
450
451   fObjectMap = new TMap();      
452   // fObjectMap->SetOwnerKeyValue();
453
454   SetupObjectMapTPC();
455   SetupObjectMapTRD();
456   SetupObjectMapPHOS();
457   SetupObjectMapDIMUON();
458 }
459
460 //##################################################################################
461 void AliEveHOMERSrcTranslator::SetupObjectMapTPC() {
462   //Setup the Object mapping for TPC
463
464   TMap* objectMap =  new TMap();
465   fObjectMap->Add( new TObjString("TPC"), objectMap );
466   
467   SetupObjectMapCommon( objectMap );
468
469   objectMap->Add( new TObjString("CF"),            new AliEveHOMERSrcObject( "AliHLTTPCClusterDataFormat", "CLUSTERS", 0 ) );
470   objectMap->Add( new TObjString("RelayCF"),       new AliEveHOMERSrcObject( "AliHLTTPCClusterDataFormat", "CLUSTERS", 0 ) );
471   objectMap->Add( new TObjString("CalibPedestal"), new AliEveHOMERSrcObject( "AliTPCCalibPedestal", "HIS_CAL", 0 ) );
472   objectMap->Add( new TObjString("CalibPulser"),   new AliEveHOMERSrcObject( "AliTPCCalibPulser", "HIS_CAL", 0 ) );
473   objectMap->Add( new TObjString("ESDConv"),       new AliEveHOMERSrcObject( "TTree", "ESD_TREE", 0 ) );
474   objectMap->Add( new TObjString("ESDCM"),         new AliEveHOMERSrcObject( "TTree", "ESD_TREE", 0 ) );
475   objectMap->Add( new TObjString("ESDCA"),         new AliEveHOMERSrcObject( "TTree", "ESD_TREE", 0 ) );
476   objectMap->Add( new TObjString("RelayESD"),      new AliEveHOMERSrcObject( "TTree", "ESD_TREE", 0 ) );
477   objectMap->Add( new TObjString("KRCF"),          new AliEveHOMERSrcObject( "TH1F", "ROOTHIST", 0 ) );
478   objectMap->Add( new TObjString("RelayKR"),       new AliEveHOMERSrcObject( "TH1F", "ROOTHIST", 0 ) );
479   objectMap->Add( new TObjString("CLHI"),          new AliEveHOMERSrcObject( "TH1F", "ROOTHIST", 0 ) );
480   objectMap->Add( new TObjString("RelayCLHI"),     new AliEveHOMERSrcObject( "TH1F", "ROOTHIST", 0 ) );
481   objectMap->Add( new TObjString("NM"),            new AliEveHOMERSrcObject( "TH1F", "ROOTHIST", 0 ) );
482   objectMap->Add( new TObjString("HH"),            new AliEveHOMERSrcObject( "TH1F", "ROOTHIST", 0 ) );
483
484 }
485
486 //##################################################################################
487 void AliEveHOMERSrcTranslator::SetupObjectMapTRD(){
488   //Setup the Object mapping for TRD
489
490   TMap* objectMap =  new TMap();
491   fObjectMap->Add( new TObjString("TRD"), objectMap );
492
493   SetupObjectMapCommon( objectMap );
494
495 }
496
497 //##################################################################################
498 void AliEveHOMERSrcTranslator::SetupObjectMapPHOS(){
499   //Setup the Object mapping for PHOS
500
501   TMap* objectMap =  new TMap();
502   fObjectMap->Add( new TObjString("PHOS"), objectMap );
503
504   SetupObjectMapCommon( objectMap );
505
506
507 }
508
509 //##################################################################################
510 void AliEveHOMERSrcTranslator::SetupObjectMapDIMUON(){
511   //Setup the Object mapping for DIMUON
512
513   TMap* objectMap =  new TMap();
514   fObjectMap->Add( new TObjString("MUON"), objectMap );
515
516   objectMap->Add( new TObjString("RECHITS"),        new AliEveHOMERSrcObject( "", "RECHITS", 0 ) );
517   objectMap->Add( new TObjString("TRIGRECS"),       new AliEveHOMERSrcObject( "", "TRIGRECS", 0 ) );
518   objectMap->Add( new TObjString("DECIDSIN"),       new AliEveHOMERSrcObject( "", "DECIDSIN", 0 ) );
519   objectMap->Add( new TObjString("DECIDPAR"),       new AliEveHOMERSrcObject( "", "DECIDPAR", 0 ) );
520   objectMap->Add( new TObjString("MANTRACK"),       new AliEveHOMERSrcObject( "", "MANTRACK", 0 ) );
521
522
523   SetupObjectMapCommon( objectMap );
524   
525
526 }
527
528 //##################################################################################
529 void AliEveHOMERSrcTranslator::SetupObjectMapCommon( TMap* objectMap) {
530   // Setup the common Object mappings
531
532   objectMap->Add( new TObjString("RP"),    new AliEveHOMERSrcObject( "", "DDL_RAW", 0 ) );
533   objectMap->Add( new TObjString("FP"),    new AliEveHOMERSrcObject( "", "DDL_RAW", 0 ) );
534   objectMap->Add( new TObjString("Relay"), new AliEveHOMERSrcObject( "", "DDL_RAW", 0 ) );
535 }
536
537
538