]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDataInterface.cxx
- Adding comment lines to class description needed for Root documentation
[u/mrichter/AliRoot.git] / MUON / AliMUONDataInterface.cxx
CommitLineData
13985652 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/* $Id$ */
48b32e42 17
48b32e42 18#include "AliMUONDataInterface.h"
e9bef706 19#include "AliMUONDigit.h"
20#include "AliMUONGeometryTransformer.h"
554b38a6 21#include "AliMUONGlobalTrigger.h"
30178c30 22#include "AliMUONHit.h"
e9bef706 23#include "AliMUONLocalTrigger.h"
30178c30 24#include "AliMUONRawCluster.h"
554b38a6 25#include "AliMUONTrack.h"
e9bef706 26#include "AliMUONTriggerCircuit.h"
a202c2d2 27#include "AliMUONVClusterStore.h"
e9bef706 28#include "AliMUONVDigitStore.h"
a202c2d2 29#include "AliMUONVTrackStore.h"
e9bef706 30#include "AliMUONVTriggerStore.h"
a202c2d2 31#include "AliMUONVTriggerTrackStore.h"
e9bef706 32
33#include "AliLoader.h"
34#include "AliLog.h"
a202c2d2 35#include "AliLog.h"
e9bef706 36#include "AliRunLoader.h"
37
38#include <TError.h>
39#include <TParticle.h>
40#include <Riostream.h>
41#include <TFile.h>
a202c2d2 42#include <TList.h>
e9bef706 43#include <TNtuple.h>
44#include <TSystem.h>
6d149c9e 45
85fec35d 46///
47/// \class AliMUONDataInterface
48///
a202c2d2 49/// An easy to use interface to the MUON data data stored in
50/// TreeS, TreeD, TreeR and TreeT.
51///
52/// For MC related information (i.e. TreeH, TreeK, TreeTR), see
53/// AliMUONMCDataInterface.
54///
85fec35d 55///
56/// This interface in not necessarily the fastest way to fetch the data but
57/// it is the easiest.
85fec35d 58///
a202c2d2 59/// \author Laurent Aphecetche, Subatech
13985652 60
61/// \cond CLASSIMP
62ClassImp(AliMUONDataInterface)
63/// \endcond
48b32e42 64
e9bef706 65//AliLoader* fLoader; //!< Tree accessor
66//AliMUONVDigitStore* fDigitStore; //!< current digit store (owner)
67//AliMUONVTriggerStore* fTriggerStore; //!< current trigger store (owner)
68//AliMUONVClusterStore* fClusterStore; //!< current cluster store (owner)
69//AliMUONVTrackStore* fTrackStore; //!< current track store (owner)
70//AliMUONVTriggerTrackStore* fTriggerTrackStore; //!< current trigger track store (owner)
71//Int_t fCurrentEvent; //!< Current event we've read in
72//Bool_t fIsValid; //!< whether we were initialized properly or not
73
74Int_t AliMUONDataInterface::fgInstanceCounter(0);
75
a202c2d2 76//______________________________________________________________________________
77AliMUONDataInterface::AliMUONDataInterface(const char* filename)
e9bef706 78: TObject(),
79fLoader(0x0),
80fDigitStore(0x0),
81fTriggerStore(0x0),
82fClusterStore(0x0),
83fTrackStore(0x0),
84fTriggerTrackStore(0x0),
85fCurrentEvent(-1),
86fIsValid(kFALSE)
48b32e42 87{
a202c2d2 88 /// ctor
89 /// @param filename should be the full path to a valid galice.root file
90
e9bef706 91 ++fgInstanceCounter;
92
93 Open(filename);
925e6570 94}
48b32e42 95
a202c2d2 96//______________________________________________________________________________
48b32e42 97AliMUONDataInterface::~AliMUONDataInterface()
98{
a202c2d2 99 /// dtor
e9bef706 100 if ( fLoader )
101 {
102 delete fLoader->GetRunLoader();
103 }
104 --fgInstanceCounter;
a202c2d2 105}
48b32e42 106
a202c2d2 107//______________________________________________________________________________
108AliMUONVClusterStore*
e9bef706 109AliMUONDataInterface::ClusterStore(Int_t event)
a202c2d2 110{
e9bef706 111 /// Return clusterStore for a given event.
112 /// Return 0x0 if event not found.
113 /// Returned pointer should not be deleted
114
115 if ( LoadEvent(event) ) return 0x0;
116
117 fLoader->LoadRecPoints();
118
119 TTree* treeR = fLoader->TreeR();
120
121 if (!treeR)
122 {
123 AliError("Could not get treeR");
124 return 0x0;
125 }
126
127 if (!fClusterStore)
128 {
129 fClusterStore = AliMUONVClusterStore::Create(*treeR);
130 }
131
132 if ( fClusterStore )
133 {
134 fClusterStore->Clear();
135 fClusterStore->Connect(*treeR);
136 treeR->GetEvent(0);
137 }
138
139 fLoader->UnloadRecPoints();
140
141 return fClusterStore;
142}
3455463a 143
e9bef706 144//______________________________________________________________________________
145AliMUONVDigitStore*
146AliMUONDataInterface::DigitStore(Int_t event)
147{
148 /// Return digitStore for a given event.
149 /// Return 0x0 if event not found.
150 /// Returned pointer should not be deleted
151
152 if ( LoadEvent(event) ) return 0x0;
153
154 fLoader->LoadDigits();
155
156 TTree* treeD = fLoader->TreeD();
157
158 if (!treeD)
159 {
160 AliError("Could not get treeD");
161 return 0x0;
162 }
163
164 if (!fDigitStore)
165 {
166 fDigitStore = AliMUONVDigitStore::Create(*treeD);
167 }
168
169 if ( fDigitStore )
170 {
171 fDigitStore->Clear();
172 fDigitStore->Connect(*treeD);
173 treeD->GetEvent(0);
174 }
175
176 fLoader->UnloadDigits();
177
178 return fDigitStore;
925e6570 179}
48b32e42 180
a202c2d2 181//______________________________________________________________________________
182void
e9bef706 183AliMUONDataInterface::DumpDigits(Int_t event, Bool_t sorted)
48b32e42 184{
e9bef706 185 /// Dump the digits for a given event, sorted if so required
186 DigitStore(event);
187 if ( fDigitStore )
188 {
189 if ( sorted )
190 {
191 DumpSorted(*fDigitStore);
192 }
193 else
194 {
195 fDigitStore->Print();
196 }
197 }
925e6570 198}
48b32e42 199
a202c2d2 200//______________________________________________________________________________
e9bef706 201void
202AliMUONDataInterface::DumpRecPoints(Int_t event, Bool_t sorted)
6d149c9e 203{
e9bef706 204 /// Dump the recpoints for a given event, sorted if so required
205 ClusterStore(event);
206 if ( fClusterStore )
207 {
208 if ( sorted )
209 {
210 DumpSorted(*fClusterStore);
211 }
212 else
213 {
214 fClusterStore->Print();
215 }
216 }
6d149c9e 217}
218
e9bef706 219//_____________________________________________________________________________
220void
221AliMUONDataInterface::DumpSorted(const AliMUONVStore& store) const
6d149c9e 222{
e9bef706 223 /// Dump the given store, in sorted order
a202c2d2 224
e9bef706 225 TIter next(store.CreateIterator());
a202c2d2 226 TObject* object;
e9bef706 227 TList list;
228 list.SetOwner(kFALSE);
a202c2d2 229
e9bef706 230 while ( ( object = next() ) )
a202c2d2 231 {
e9bef706 232 list.Add(object);
a202c2d2 233 }
234
e9bef706 235 list.Sort();
236
237 list.Print();
a202c2d2 238}
239
240//______________________________________________________________________________
241void
e9bef706 242AliMUONDataInterface::DumpTracks(Int_t event, Bool_t sorted)
a202c2d2 243{
e9bef706 244 /// Dump tracks for a given event, sorted if requested
245
246 TrackStore(event);
247
248 if ( fTrackStore )
a202c2d2 249 {
e9bef706 250 if ( sorted )
251 {
252 DumpSorted(*fTrackStore);
253 }
254 else
255 {
256 fTrackStore->Print();
257 }
a202c2d2 258 }
e9bef706 259}
260
261//______________________________________________________________________________
262void
263AliMUONDataInterface::DumpTriggerTracks(Int_t event, Bool_t sorted)
264{
265 /// Dump trigger tracks for a given event, sorted if requested
266
267 TriggerTrackStore(event);
a202c2d2 268
e9bef706 269 if ( fTriggerTrackStore )
a202c2d2 270 {
e9bef706 271 if ( sorted )
272 {
273 DumpSorted(*fTriggerTrackStore);
274 }
275 else
a202c2d2 276 {
e9bef706 277 fTriggerTrackStore->Print();
a202c2d2 278 }
e9bef706 279 }
280}
6d149c9e 281
e9bef706 282//_____________________________________________________________________________
283void
284AliMUONDataInterface::DumpTrigger(Int_t event, const char* treeLetter)
285{
286 /// Dump trigger for a given event from a given tree (if event>=0)
287 /// or loop over all events and build a trigger ntuple if event<0
288 /// treeLetter can be R or D to tell from which tree to read the information
a202c2d2 289
e9bef706 290 if ( event < 0 )
291 {
292 NtupleTrigger(treeLetter);
a202c2d2 293 }
294 else
295 {
e9bef706 296 TriggerStore(event,treeLetter);
a202c2d2 297
e9bef706 298 if ( fTriggerStore )
299 {
300 fTriggerStore->Print();
301 }
302 }
a202c2d2 303}
6d149c9e 304
e9bef706 305//_____________________________________________________________________________
a202c2d2 306void
e9bef706 307AliMUONDataInterface::NtupleTrigger(const char* treeLetter)
48b32e42 308{
e9bef706 309 //// Loop over events to build trigger ntuples
310 ///
311
312 TString sTreeLetter(treeLetter);
313 sTreeLetter.ToUpper();
314
315 if ( sTreeLetter != "R" && sTreeLetter != "D" )
316 {
317 AliError(Form("Cannot handle tree%s. Use D or R",treeLetter));
318 return;
319 }
320
321 // book ntuples
322 TNtuple tupleGlo("TgtupleGlo","Global Trigger Ntuple",
323 "ev:slpt:shpt:uplpt:uphpt:lplpt:lplpt");
324 TNtuple tupleLoc("TgtupleLoc","Local Trigger Ntuple",
325 "ev:LoCircuit:LoStripX:LoDev:StripY:LoLpt:LoHpt:y11:y21:x11");
326
327 // initialize counters
328 Int_t sLowpt=0;
329 Int_t sHighpt=0;
330 Int_t uSLowpt=0;
331 Int_t uSHighpt=0;
332 Int_t lSLowpt=0;
333 Int_t lSHighpt=0;
334
d3acfadf 335 AliMUONGeometryTransformer transformer;
ef4cb4f1 336 transformer.LoadGeometryData(Form("%s/geometry.root",
e9bef706 337 gSystem->DirName(fLoader->GetRunLoader()->GetFileName())));
338
339 AliMUONTriggerCircuit triggerCircuit(&transformer);
340
341 // select output file name from selected Tree
342 Char_t fileNameOut[30];
343 if (sTreeLetter == "D")
344 {
345 AliInfo(Form("reading from Digits\n"));
346 sprintf(fileNameOut,"TriggerCheckFromDigits.root");
347 }
348 else if (sTreeLetter == "R")
349 {
350 AliInfo(Form("reading from RecPoints\n"));
351 sprintf(fileNameOut,"TriggerCheckFromRP.root");
352 }
353
354 // loop on events
355 Int_t nevents = NumberOfEvents();
356
357 for (Int_t ievent=0; ievent<nevents; ++ievent)
358 {
359 if (ievent%100==0) AliInfo(Form("Processing event %d\n",ievent));
360
361 AliMUONVTriggerStore* triggerStore = TriggerStore(ievent);
362
363 if (!triggerStore)
364 {
365 AliError(Form("Could not read %s from tree%s","Trigger",treeLetter));
366 return;
367 }
368
369 // get global trigger info
370 AliMUONGlobalTrigger* gloTrg = triggerStore->Global();
371 sLowpt+=gloTrg->SingleLpt();
372 sHighpt+=gloTrg->SingleHpt();
373 uSLowpt+=gloTrg->PairUnlikeLpt();
374 uSHighpt+=gloTrg->PairUnlikeHpt();
375 lSLowpt+=gloTrg->PairLikeLpt();
376 lSHighpt+=gloTrg->PairLikeHpt();
377
378 // loop on local triggers
379 TIter next(triggerStore->CreateIterator());
380 AliMUONLocalTrigger* locTrg(0x0);
381 while ( ( locTrg = static_cast<AliMUONLocalTrigger*>(next()) ) )
382 {
383 Bool_t xTrig=kFALSE;
384 Bool_t yTrig=kFALSE;
385
386 if ( locTrg->LoSdev()==1 && locTrg->LoDev()==0 &&
387 locTrg->LoStripX()==0) xTrig=kFALSE; // no trigger in X
388 else xTrig=kTRUE; // trigger in X
389 if (locTrg->LoTrigY()==1 &&
390 locTrg->LoStripY()==15 ) yTrig = kFALSE; // no trigger in Y
391 else yTrig = kTRUE; // trigger in Y
392
393 if (xTrig && yTrig)
394 { // fill ntuple if trigger in X and Y
395 tupleLoc.Fill(ievent,locTrg->LoCircuit(),
396 locTrg->LoStripX(),
397 locTrg->LoDev(),
398 locTrg->LoStripY(),
399 locTrg->LoLpt(),
400 locTrg->LoHpt(),
401 triggerCircuit.GetY11Pos(locTrg->LoCircuit(),locTrg->LoStripX()),
402 triggerCircuit.GetY21Pos(locTrg->LoCircuit(),locTrg->LoStripX()+locTrg->LoDev()+1),
403 triggerCircuit.GetX11Pos(locTrg->LoCircuit(),locTrg->LoStripY()));
404 }
405 tupleGlo.Fill(ievent,gloTrg->SingleLpt(),gloTrg->SingleHpt(),
406 gloTrg->PairUnlikeLpt(),gloTrg->PairUnlikeHpt(),
407 gloTrg->PairLikeLpt(),gloTrg->PairLikeHpt());
408 } // end of loop on local triggers
409 } // end of loop on events
410
411 // print info and store ntuples
412 printf("\n");
413 printf("=============================================\n");
414 printf("================ SUMMARY ==================\n");
415 printf("\n");
416 printf("Total number of events processed %d \n",nevents);
417 printf("\n");
418 printf(" Global Trigger output Low pt High pt\n");
419 printf(" number of Single :\t");
420 printf("%i\t%i\t",sLowpt,sHighpt);
421 printf("\n");
422 printf(" number of UnlikeSign pair :\t");
423 printf("%i\t%i\t",uSLowpt,uSHighpt);
424 printf("\n");
425 printf(" number of LikeSign pair :\t");
426 printf("%i\t%i\t",lSLowpt,lSHighpt);
427 printf("\n");
428 printf("=============================================\n");
429 fflush(stdout);
430
431 TFile myFile(fileNameOut, "RECREATE");
432 tupleGlo.Write();
433 tupleLoc.Write();
434 myFile.Close();
925e6570 435}
48b32e42 436
a202c2d2 437//______________________________________________________________________________
438Bool_t
439AliMUONDataInterface::IsValid() const
440{
441 /// Whether we were properly initialized from a valid galice.root file
e9bef706 442 return fIsValid;
a202c2d2 443}
48b32e42 444
e9bef706 445//_____________________________________________________________________________
a202c2d2 446Int_t
e9bef706 447AliMUONDataInterface::LoadEvent(Int_t event)
48b32e42 448{
e9bef706 449 /// Load event if different from the current one.
450 if ( event != fCurrentEvent )
451 {
452 fCurrentEvent = event;
453 AliDebug(1,Form("Loading event %d using runLoader %p",event,fLoader->GetRunLoader()));
454 if ( event < NumberOfEvents() )
455 {
456 return fLoader->GetRunLoader()->GetEvent(event);
457 }
458 else
459 {
460 return 1;
461 }
462 }
463 return 0;
925e6570 464}
48b32e42 465
a202c2d2 466//______________________________________________________________________________
e9bef706 467Int_t
468AliMUONDataInterface::NumberOfEvents() const
a202c2d2 469{
e9bef706 470 /// Number of events in the current galice.root file we're attached to
471 if (!IsValid()) return 0;
472 return fLoader->GetRunLoader()->GetNumberOfEvents();
a202c2d2 473}
48b32e42 474
e9bef706 475//_____________________________________________________________________________
a202c2d2 476void
e9bef706 477AliMUONDataInterface::Open(const char* filename)
48b32e42 478{
e9bef706 479 /// Connect to a given galice.root file
480
481 delete fDigitStore;
482 fDigitStore=0x0;
483 delete fTriggerStore;
484 fTriggerStore=0x0;
485 delete fClusterStore;
486 fClusterStore=0x0;
487 delete fTrackStore;
488 fTrackStore=0x0;
489 delete fTriggerTrackStore;
490 fTriggerTrackStore=0x0;
491
492 fCurrentEvent=-1;
493
494 if ( fLoader )
495 {
496 delete fLoader->GetRunLoader();
497 }
498
499 fLoader = 0x0;
500
501 fIsValid = kTRUE;
502
503 TString foldername(Form("%s-%d",ClassName(),fgInstanceCounter));
504
505 while (AliRunLoader::GetRunLoader(foldername))
506 {
507 delete AliRunLoader::GetRunLoader(foldername);
508 }
509
510 AliRunLoader* runLoader = AliRunLoader::Open(filename,foldername);
511 if (!runLoader)
512 {
513 AliError(Form("Cannot open file %s",filename));
514 fIsValid = kFALSE;
515 }
516 fLoader = runLoader->GetDetectorLoader("MUON");
517 if (!fLoader)
518 {
519 AliError("Cannot get AliMUONLoader");
520 fIsValid = kFALSE;
521 }
522
523 if (!IsValid())
524 {
525 AliError(Form("Could not access %s filename. Object is unuseable",filename));
526 }
925e6570 527}
48b32e42 528
a202c2d2 529//______________________________________________________________________________
530AliMUONVTrackStore*
e9bef706 531AliMUONDataInterface::TrackStore(Int_t event)
48b32e42 532{
e9bef706 533 /// Return the trackStore for a given event.
534 /// Return 0x0 if event not found.
535 /// Returned pointer should not be deleted
536
537 if ( LoadEvent(event) ) return 0x0;
538
539 fLoader->LoadTracks();
540
541 TTree* treeT = fLoader->TreeT();
542
543 if (!treeT)
544 {
545 AliError("Could not get treeT");
546 return 0x0;
547 }
548
549 if (!fTrackStore)
550 {
551 fTrackStore = AliMUONVTrackStore::Create(*treeT);
552 }
553
554 if ( fTrackStore )
555 {
556 fTrackStore->Clear();
557 fTrackStore->Connect(*treeT);
558 treeT->GetEvent(0);
559 }
560
561 fLoader->UnloadTracks();
562
563 return fTrackStore;
925e6570 564}
48b32e42 565
a202c2d2 566//______________________________________________________________________________
567AliMUONVTriggerTrackStore*
e9bef706 568AliMUONDataInterface::TriggerTrackStore(Int_t event)
a202c2d2 569{
e9bef706 570 /// Return the triggerTrackStore for a given event.
571 /// Return 0x0 if event not found.
572 /// Returned pointer should not be deleted
573
574 if ( LoadEvent(event) ) return 0x0;
575
576 fLoader->LoadTracks();
577
578 TTree* treeT = fLoader->TreeT();
579
580 if (!treeT)
581 {
582 AliError("Could not get treeT");
583 return 0x0;
584 }
585
586 if (!fTriggerTrackStore)
587 {
588 fTriggerTrackStore = AliMUONVTriggerTrackStore::Create(*treeT);
589 }
590
591 if ( fTriggerTrackStore )
592 {
593 fTriggerTrackStore->Clear();
594 fTriggerTrackStore->Connect(*treeT);
595 treeT->GetEvent(0);
596 }
597
598 fLoader->UnloadTracks();
599
600 return fTriggerTrackStore;
a202c2d2 601}
48b32e42 602
e9bef706 603//_____________________________________________________________________________
604AliMUONVTriggerStore*
605AliMUONDataInterface::TriggerStore(Int_t event, const char* treeLetter)
48b32e42 606{
e9bef706 607 /// Return the triggerStore for a given event.
608 /// Return 0x0 if event not found.
609 /// Returned pointer should not be deleted
610 /// treeLetter can be R or D to tell from which tree to read the information
611
612 if ( LoadEvent(event) ) return 0x0;
613
614 TTree* tree(0x0);
615
616 TString stree(treeLetter);
617 stree.ToUpper();
618
619 if ( stree == "D" )
620 {
621 fLoader->LoadDigits();
622 tree = fLoader->TreeD();
623 }
624 else if ( stree == "R" )
625 {
626 fLoader->LoadRecPoints();
627 tree = fLoader->TreeR();
628 }
629
630 if ( !tree )
631 {
632 AliError(Form("Could not get tree%s",treeLetter));
633 return 0x0;
634 }
635
636 if (!fTriggerStore)
637 {
638 fTriggerStore = AliMUONVTriggerStore::Create(*tree);
639 }
640
641 if ( fTriggerStore )
642 {
643 fTriggerStore->Clear();
644 fTriggerStore->Connect(*tree);
645 tree->GetEvent(0);
646 }
647
648 if ( stree == "D" )
649 {
650 fLoader->UnloadDigits();
651 }
652 else if ( stree == "R" )
653 {
654 fLoader->UnloadRecPoints();
655 }
656
657 return fTriggerStore;
925e6570 658}
48b32e42 659
a202c2d2 660//______________________________________________________________________________
661//______________________________________________________________________________
662//______________________________________________________________________________
663//______________________________________________________________________________
48b32e42 664
a202c2d2 665void AliMUONDataInterface::Reset()
48b32e42 666{
a202c2d2 667/// \deprecated Method is going to be removed
668
669 AliFatal("Deprecated");
925e6570 670}
48b32e42 671
a202c2d2 672Bool_t AliMUONDataInterface::UseCurrentRunLoader()
554b38a6 673{
a202c2d2 674/// \deprecated Method is going to be removed
675
676 AliFatal("Deprecated");
677 return kFALSE;
554b38a6 678}
679
a202c2d2 680Int_t AliMUONDataInterface::NumberOfEvents(TString , TString )
48b32e42 681{
a202c2d2 682/// \deprecated Method is going to be removed
48b32e42 683
a202c2d2 684 AliFatal("Deprecated");
685 return 0;
925e6570 686}
48b32e42 687
688
a202c2d2 689Int_t AliMUONDataInterface::NumberOfParticles(TString , TString , Int_t )
48b32e42 690{
a202c2d2 691/// \deprecated Method is going to be removed
48b32e42 692
a202c2d2 693 AliFatal("Deprecated");
694 return 0;
925e6570 695}
48b32e42 696
697
698TParticle* AliMUONDataInterface::Particle(
a202c2d2 699 TString , TString , Int_t , Int_t
48b32e42 700 )
701{
a202c2d2 702/// \deprecated Method is going to be removed
703
704 AliFatal("Deprecated");
705 return 0;
925e6570 706}
48b32e42 707
708
a202c2d2 709Int_t AliMUONDataInterface::NumberOfTracks(TString , TString , Int_t )
48b32e42 710{
a202c2d2 711/// \deprecated Method is going to be removed
48b32e42 712
a202c2d2 713 AliFatal("Deprecated");
714 return 0;
925e6570 715}
48b32e42 716
717
718Int_t AliMUONDataInterface::NumberOfHits(
a202c2d2 719 TString , TString , Int_t , Int_t
48b32e42 720 )
721{
a202c2d2 722/// \deprecated Method is going to be removed
723
724 AliFatal("Deprecated");
725 return 0;
925e6570 726}
48b32e42 727
728
729AliMUONHit* AliMUONDataInterface::Hit(
a202c2d2 730 TString , TString , Int_t ,
731 Int_t , Int_t
48b32e42 732 )
733{
a202c2d2 734/// \deprecated Method is going to be removed
735
736 AliFatal("Deprecated");
737 return 0;
925e6570 738}
48b32e42 739
740
741Int_t AliMUONDataInterface::NumberOfSDigits(
a202c2d2 742 TString , TString , Int_t ,
743 Int_t , Int_t
48b32e42 744 )
745{
a202c2d2 746/// \deprecated Method is going to be removed
747
748 AliFatal("Deprecated");
749 return 0;
925e6570 750}
48b32e42 751
752
753AliMUONDigit* AliMUONDataInterface::SDigit(
a202c2d2 754 TString , TString , Int_t ,
755 Int_t , Int_t , Int_t
48b32e42 756 )
757{
a202c2d2 758/// \deprecated Method is going to be removed
759
760 AliFatal("Deprecated");
761 return 0;
925e6570 762}
48b32e42 763
764
765Int_t AliMUONDataInterface::NumberOfDigits(
a202c2d2 766 TString , TString , Int_t ,
767 Int_t , Int_t
48b32e42 768 )
769{
a202c2d2 770/// \deprecated Method is going to be removed
771
772 AliFatal("Deprecated");
773 return 0;
925e6570 774}
48b32e42 775
776
777AliMUONDigit* AliMUONDataInterface::Digit(
a202c2d2 778 TString , TString , Int_t ,
779 Int_t , Int_t , Int_t
48b32e42 780 )
781{
a202c2d2 782/// \deprecated Method is going to be removed
783
784 AliFatal("Deprecated");
785 return 0;
925e6570 786}
48b32e42 787
788
789Int_t AliMUONDataInterface::NumberOfRawClusters(
a202c2d2 790 TString , TString , Int_t , Int_t
48b32e42 791 )
792{
a202c2d2 793/// \deprecated Method is going to be removed
794
795 AliFatal("Deprecated");
796 return 0;
925e6570 797}
48b32e42 798
799
800AliMUONRawCluster* AliMUONDataInterface::RawCluster(
a202c2d2 801 TString , TString , Int_t ,
802 Int_t , Int_t
48b32e42 803 )
804{
a202c2d2 805/// \deprecated Method is going to be removed
806
807 AliFatal("Deprecated");
808 return 0;
925e6570 809}
48b32e42 810
811
a202c2d2 812Int_t AliMUONDataInterface::NumberOfLocalTriggers(TString , TString , Int_t )
48b32e42 813{
a202c2d2 814/// \deprecated Method is going to be removed
815
816 AliFatal("Deprecated");
817 return 0;
925e6570 818}
48b32e42 819
820
821AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(
a202c2d2 822 TString , TString , Int_t , Int_t
48b32e42 823 )
824{
a202c2d2 825/// \deprecated Method is going to be removed
826
827 AliFatal("Deprecated");
828 return 0;
925e6570 829}
48b32e42 830
a202c2d2 831Bool_t AliMUONDataInterface::SetFile(TString , TString )
48b32e42 832{
a202c2d2 833/// \deprecated Method is going to be removed
48b32e42 834
a202c2d2 835 AliFatal("Deprecated");
836 return 0;
925e6570 837}
48b32e42 838
839
a202c2d2 840Bool_t AliMUONDataInterface::GetEvent(Int_t )
48b32e42 841{
a202c2d2 842/// \deprecated Method is going to be removed
48b32e42 843
a202c2d2 844 AliFatal("Deprecated");
845 return 0;
925e6570 846}
48b32e42 847
48b32e42 848Int_t AliMUONDataInterface::NumberOfParticles()
849{
a202c2d2 850/// \deprecated Method is going to be removed
851
852 AliFatal("Deprecated");
853 return 0;
925e6570 854}
48b32e42 855
856
a202c2d2 857TParticle* AliMUONDataInterface::Particle(Int_t )
48b32e42 858{
a202c2d2 859/// \deprecated Method is going to be removed
860
861 AliFatal("Deprecated");
862 return 0;
925e6570 863}
48b32e42 864
865
866Int_t AliMUONDataInterface::NumberOfTracks()
867{
a202c2d2 868/// \deprecated Method is going to be removed
869
870 AliFatal("Deprecated");
871 return 0;
925e6570 872}
48b32e42 873
874
a202c2d2 875Int_t AliMUONDataInterface::NumberOfHits(Int_t )
48b32e42 876{
a202c2d2 877/// \deprecated Method is going to be removed
878
879 AliFatal("Deprecated");
880 return 0;
925e6570 881}
48b32e42 882
883
a202c2d2 884AliMUONHit*
885AliMUONDataInterface::Hit(Int_t , Int_t )
48b32e42 886{
a202c2d2 887/// \deprecated Method is going to be removed
888
889 AliFatal("Deprecated");
890 return 0;
925e6570 891}
48b32e42 892
893
a202c2d2 894Int_t AliMUONDataInterface::NumberOfSDigits(Int_t , Int_t )
48b32e42 895{
a202c2d2 896/// \deprecated Method is going to be removed
897
898 AliFatal("Deprecated");
899 return 0;
925e6570 900}
48b32e42 901
902
a202c2d2 903AliMUONDigit* AliMUONDataInterface::SDigit(Int_t , Int_t , Int_t )
48b32e42 904{
a202c2d2 905/// \deprecated Method is going to be removed
906
907 AliFatal("Deprecated");
908 return 0;
909
925e6570 910}
48b32e42 911
912
a202c2d2 913Int_t AliMUONDataInterface::NumberOfDigits(Int_t , Int_t )
48b32e42 914{
a202c2d2 915/// \deprecated Method is going to be removed
916
917 AliFatal("Deprecated");
918 return 0;
919
925e6570 920}
48b32e42 921
922
a202c2d2 923AliMUONDigit* AliMUONDataInterface::Digit(Int_t , Int_t , Int_t )
48b32e42 924{
a202c2d2 925/// \deprecated Method is going to be removed
926
927 AliFatal("Deprecated");
928 return 0;
925e6570 929}
48b32e42 930
931
a202c2d2 932Int_t AliMUONDataInterface::NumberOfRawClusters(Int_t )
48b32e42 933{
a202c2d2 934/// \deprecated Method is going to be removed
935
936 AliFatal("Deprecated");
937 return 0;
925e6570 938}
48b32e42 939
940
a202c2d2 941AliMUONRawCluster* AliMUONDataInterface::RawCluster(Int_t , Int_t )
48b32e42 942{
a202c2d2 943/// \deprecated Method is going to be removed
944
945 AliFatal("Deprecated");
946 return 0;
925e6570 947}
48b32e42 948
949
950Int_t AliMUONDataInterface::NumberOfLocalTriggers()
951{
a202c2d2 952/// \deprecated Method is going to be removed
953
954 AliFatal("Deprecated");
955 return 0;
925e6570 956}
48b32e42 957
958
a202c2d2 959AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(Int_t )
48b32e42 960{
a202c2d2 961/// \deprecated Method is going to be removed
962
963 AliFatal("Deprecated");
964 return 0;
925e6570 965}
554b38a6 966
967Int_t AliMUONDataInterface::NumberOfGlobalTriggers()
968{
a202c2d2 969/// \deprecated Method is going to be removed
970
971 AliFatal("Deprecated");
972 return 0;
554b38a6 973}
974
a202c2d2 975AliMUONGlobalTrigger* AliMUONDataInterface::GlobalTrigger(Int_t )
554b38a6 976{
a202c2d2 977/// \deprecated Method is going to be removed
978
979 AliFatal("Deprecated");
980 return 0;
554b38a6 981}
982
983Int_t AliMUONDataInterface::NumberOfRecTracks()
984{
a202c2d2 985/// \deprecated Method is going to be removed
986
987 AliFatal("Deprecated");
988 return 0;
554b38a6 989}
990
a202c2d2 991AliMUONTrack* AliMUONDataInterface::RecTrack(Int_t )
554b38a6 992{
a202c2d2 993/// \deprecated Method is going to be removed
994
995 AliFatal("Deprecated");
996 return 0;
554b38a6 997}