]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDataInterface.cxx
Removing volpath.dat file
[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
335 AliMUONGeometryTransformer transformer(kFALSE);
336 transformer.ReadGeometryData("volpath.dat",
337 Form("%s/geometry.root",
338 gSystem->DirName(fLoader->GetRunLoader()->GetFileName())));
339
340 AliMUONTriggerCircuit triggerCircuit(&transformer);
341
342 // select output file name from selected Tree
343 Char_t fileNameOut[30];
344 if (sTreeLetter == "D")
345 {
346 AliInfo(Form("reading from Digits\n"));
347 sprintf(fileNameOut,"TriggerCheckFromDigits.root");
348 }
349 else if (sTreeLetter == "R")
350 {
351 AliInfo(Form("reading from RecPoints\n"));
352 sprintf(fileNameOut,"TriggerCheckFromRP.root");
353 }
354
355 // loop on events
356 Int_t nevents = NumberOfEvents();
357
358 for (Int_t ievent=0; ievent<nevents; ++ievent)
359 {
360 if (ievent%100==0) AliInfo(Form("Processing event %d\n",ievent));
361
362 AliMUONVTriggerStore* triggerStore = TriggerStore(ievent);
363
364 if (!triggerStore)
365 {
366 AliError(Form("Could not read %s from tree%s","Trigger",treeLetter));
367 return;
368 }
369
370 // get global trigger info
371 AliMUONGlobalTrigger* gloTrg = triggerStore->Global();
372 sLowpt+=gloTrg->SingleLpt();
373 sHighpt+=gloTrg->SingleHpt();
374 uSLowpt+=gloTrg->PairUnlikeLpt();
375 uSHighpt+=gloTrg->PairUnlikeHpt();
376 lSLowpt+=gloTrg->PairLikeLpt();
377 lSHighpt+=gloTrg->PairLikeHpt();
378
379 // loop on local triggers
380 TIter next(triggerStore->CreateIterator());
381 AliMUONLocalTrigger* locTrg(0x0);
382 while ( ( locTrg = static_cast<AliMUONLocalTrigger*>(next()) ) )
383 {
384 Bool_t xTrig=kFALSE;
385 Bool_t yTrig=kFALSE;
386
387 if ( locTrg->LoSdev()==1 && locTrg->LoDev()==0 &&
388 locTrg->LoStripX()==0) xTrig=kFALSE; // no trigger in X
389 else xTrig=kTRUE; // trigger in X
390 if (locTrg->LoTrigY()==1 &&
391 locTrg->LoStripY()==15 ) yTrig = kFALSE; // no trigger in Y
392 else yTrig = kTRUE; // trigger in Y
393
394 if (xTrig && yTrig)
395 { // fill ntuple if trigger in X and Y
396 tupleLoc.Fill(ievent,locTrg->LoCircuit(),
397 locTrg->LoStripX(),
398 locTrg->LoDev(),
399 locTrg->LoStripY(),
400 locTrg->LoLpt(),
401 locTrg->LoHpt(),
402 triggerCircuit.GetY11Pos(locTrg->LoCircuit(),locTrg->LoStripX()),
403 triggerCircuit.GetY21Pos(locTrg->LoCircuit(),locTrg->LoStripX()+locTrg->LoDev()+1),
404 triggerCircuit.GetX11Pos(locTrg->LoCircuit(),locTrg->LoStripY()));
405 }
406 tupleGlo.Fill(ievent,gloTrg->SingleLpt(),gloTrg->SingleHpt(),
407 gloTrg->PairUnlikeLpt(),gloTrg->PairUnlikeHpt(),
408 gloTrg->PairLikeLpt(),gloTrg->PairLikeHpt());
409 } // end of loop on local triggers
410 } // end of loop on events
411
412 // print info and store ntuples
413 printf("\n");
414 printf("=============================================\n");
415 printf("================ SUMMARY ==================\n");
416 printf("\n");
417 printf("Total number of events processed %d \n",nevents);
418 printf("\n");
419 printf(" Global Trigger output Low pt High pt\n");
420 printf(" number of Single :\t");
421 printf("%i\t%i\t",sLowpt,sHighpt);
422 printf("\n");
423 printf(" number of UnlikeSign pair :\t");
424 printf("%i\t%i\t",uSLowpt,uSHighpt);
425 printf("\n");
426 printf(" number of LikeSign pair :\t");
427 printf("%i\t%i\t",lSLowpt,lSHighpt);
428 printf("\n");
429 printf("=============================================\n");
430 fflush(stdout);
431
432 TFile myFile(fileNameOut, "RECREATE");
433 tupleGlo.Write();
434 tupleLoc.Write();
435 myFile.Close();
925e6570 436}
48b32e42 437
a202c2d2 438//______________________________________________________________________________
439Bool_t
440AliMUONDataInterface::IsValid() const
441{
442 /// Whether we were properly initialized from a valid galice.root file
e9bef706 443 return fIsValid;
a202c2d2 444}
48b32e42 445
e9bef706 446//_____________________________________________________________________________
a202c2d2 447Int_t
e9bef706 448AliMUONDataInterface::LoadEvent(Int_t event)
48b32e42 449{
e9bef706 450 /// Load event if different from the current one.
451 if ( event != fCurrentEvent )
452 {
453 fCurrentEvent = event;
454 AliDebug(1,Form("Loading event %d using runLoader %p",event,fLoader->GetRunLoader()));
455 if ( event < NumberOfEvents() )
456 {
457 return fLoader->GetRunLoader()->GetEvent(event);
458 }
459 else
460 {
461 return 1;
462 }
463 }
464 return 0;
925e6570 465}
48b32e42 466
a202c2d2 467//______________________________________________________________________________
e9bef706 468Int_t
469AliMUONDataInterface::NumberOfEvents() const
a202c2d2 470{
e9bef706 471 /// Number of events in the current galice.root file we're attached to
472 if (!IsValid()) return 0;
473 return fLoader->GetRunLoader()->GetNumberOfEvents();
a202c2d2 474}
48b32e42 475
e9bef706 476//_____________________________________________________________________________
a202c2d2 477void
e9bef706 478AliMUONDataInterface::Open(const char* filename)
48b32e42 479{
e9bef706 480 /// Connect to a given galice.root file
481
482 delete fDigitStore;
483 fDigitStore=0x0;
484 delete fTriggerStore;
485 fTriggerStore=0x0;
486 delete fClusterStore;
487 fClusterStore=0x0;
488 delete fTrackStore;
489 fTrackStore=0x0;
490 delete fTriggerTrackStore;
491 fTriggerTrackStore=0x0;
492
493 fCurrentEvent=-1;
494
495 if ( fLoader )
496 {
497 delete fLoader->GetRunLoader();
498 }
499
500 fLoader = 0x0;
501
502 fIsValid = kTRUE;
503
504 TString foldername(Form("%s-%d",ClassName(),fgInstanceCounter));
505
506 while (AliRunLoader::GetRunLoader(foldername))
507 {
508 delete AliRunLoader::GetRunLoader(foldername);
509 }
510
511 AliRunLoader* runLoader = AliRunLoader::Open(filename,foldername);
512 if (!runLoader)
513 {
514 AliError(Form("Cannot open file %s",filename));
515 fIsValid = kFALSE;
516 }
517 fLoader = runLoader->GetDetectorLoader("MUON");
518 if (!fLoader)
519 {
520 AliError("Cannot get AliMUONLoader");
521 fIsValid = kFALSE;
522 }
523
524 if (!IsValid())
525 {
526 AliError(Form("Could not access %s filename. Object is unuseable",filename));
527 }
925e6570 528}
48b32e42 529
a202c2d2 530//______________________________________________________________________________
531AliMUONVTrackStore*
e9bef706 532AliMUONDataInterface::TrackStore(Int_t event)
48b32e42 533{
e9bef706 534 /// Return the trackStore for a given event.
535 /// Return 0x0 if event not found.
536 /// Returned pointer should not be deleted
537
538 if ( LoadEvent(event) ) return 0x0;
539
540 fLoader->LoadTracks();
541
542 TTree* treeT = fLoader->TreeT();
543
544 if (!treeT)
545 {
546 AliError("Could not get treeT");
547 return 0x0;
548 }
549
550 if (!fTrackStore)
551 {
552 fTrackStore = AliMUONVTrackStore::Create(*treeT);
553 }
554
555 if ( fTrackStore )
556 {
557 fTrackStore->Clear();
558 fTrackStore->Connect(*treeT);
559 treeT->GetEvent(0);
560 }
561
562 fLoader->UnloadTracks();
563
564 return fTrackStore;
925e6570 565}
48b32e42 566
a202c2d2 567//______________________________________________________________________________
568AliMUONVTriggerTrackStore*
e9bef706 569AliMUONDataInterface::TriggerTrackStore(Int_t event)
a202c2d2 570{
e9bef706 571 /// Return the triggerTrackStore for a given event.
572 /// Return 0x0 if event not found.
573 /// Returned pointer should not be deleted
574
575 if ( LoadEvent(event) ) return 0x0;
576
577 fLoader->LoadTracks();
578
579 TTree* treeT = fLoader->TreeT();
580
581 if (!treeT)
582 {
583 AliError("Could not get treeT");
584 return 0x0;
585 }
586
587 if (!fTriggerTrackStore)
588 {
589 fTriggerTrackStore = AliMUONVTriggerTrackStore::Create(*treeT);
590 }
591
592 if ( fTriggerTrackStore )
593 {
594 fTriggerTrackStore->Clear();
595 fTriggerTrackStore->Connect(*treeT);
596 treeT->GetEvent(0);
597 }
598
599 fLoader->UnloadTracks();
600
601 return fTriggerTrackStore;
a202c2d2 602}
48b32e42 603
e9bef706 604//_____________________________________________________________________________
605AliMUONVTriggerStore*
606AliMUONDataInterface::TriggerStore(Int_t event, const char* treeLetter)
48b32e42 607{
e9bef706 608 /// Return the triggerStore for a given event.
609 /// Return 0x0 if event not found.
610 /// Returned pointer should not be deleted
611 /// treeLetter can be R or D to tell from which tree to read the information
612
613 if ( LoadEvent(event) ) return 0x0;
614
615 TTree* tree(0x0);
616
617 TString stree(treeLetter);
618 stree.ToUpper();
619
620 if ( stree == "D" )
621 {
622 fLoader->LoadDigits();
623 tree = fLoader->TreeD();
624 }
625 else if ( stree == "R" )
626 {
627 fLoader->LoadRecPoints();
628 tree = fLoader->TreeR();
629 }
630
631 if ( !tree )
632 {
633 AliError(Form("Could not get tree%s",treeLetter));
634 return 0x0;
635 }
636
637 if (!fTriggerStore)
638 {
639 fTriggerStore = AliMUONVTriggerStore::Create(*tree);
640 }
641
642 if ( fTriggerStore )
643 {
644 fTriggerStore->Clear();
645 fTriggerStore->Connect(*tree);
646 tree->GetEvent(0);
647 }
648
649 if ( stree == "D" )
650 {
651 fLoader->UnloadDigits();
652 }
653 else if ( stree == "R" )
654 {
655 fLoader->UnloadRecPoints();
656 }
657
658 return fTriggerStore;
925e6570 659}
48b32e42 660
a202c2d2 661//______________________________________________________________________________
662//______________________________________________________________________________
663//______________________________________________________________________________
664//______________________________________________________________________________
48b32e42 665
a202c2d2 666void AliMUONDataInterface::Reset()
48b32e42 667{
a202c2d2 668/// \deprecated Method is going to be removed
669
670 AliFatal("Deprecated");
925e6570 671}
48b32e42 672
a202c2d2 673Bool_t AliMUONDataInterface::UseCurrentRunLoader()
554b38a6 674{
a202c2d2 675/// \deprecated Method is going to be removed
676
677 AliFatal("Deprecated");
678 return kFALSE;
554b38a6 679}
680
a202c2d2 681Int_t AliMUONDataInterface::NumberOfEvents(TString , TString )
48b32e42 682{
a202c2d2 683/// \deprecated Method is going to be removed
48b32e42 684
a202c2d2 685 AliFatal("Deprecated");
686 return 0;
925e6570 687}
48b32e42 688
689
a202c2d2 690Int_t AliMUONDataInterface::NumberOfParticles(TString , TString , Int_t )
48b32e42 691{
a202c2d2 692/// \deprecated Method is going to be removed
48b32e42 693
a202c2d2 694 AliFatal("Deprecated");
695 return 0;
925e6570 696}
48b32e42 697
698
699TParticle* AliMUONDataInterface::Particle(
a202c2d2 700 TString , TString , Int_t , Int_t
48b32e42 701 )
702{
a202c2d2 703/// \deprecated Method is going to be removed
704
705 AliFatal("Deprecated");
706 return 0;
925e6570 707}
48b32e42 708
709
a202c2d2 710Int_t AliMUONDataInterface::NumberOfTracks(TString , TString , Int_t )
48b32e42 711{
a202c2d2 712/// \deprecated Method is going to be removed
48b32e42 713
a202c2d2 714 AliFatal("Deprecated");
715 return 0;
925e6570 716}
48b32e42 717
718
719Int_t AliMUONDataInterface::NumberOfHits(
a202c2d2 720 TString , TString , Int_t , Int_t
48b32e42 721 )
722{
a202c2d2 723/// \deprecated Method is going to be removed
724
725 AliFatal("Deprecated");
726 return 0;
925e6570 727}
48b32e42 728
729
730AliMUONHit* AliMUONDataInterface::Hit(
a202c2d2 731 TString , TString , Int_t ,
732 Int_t , Int_t
48b32e42 733 )
734{
a202c2d2 735/// \deprecated Method is going to be removed
736
737 AliFatal("Deprecated");
738 return 0;
925e6570 739}
48b32e42 740
741
742Int_t AliMUONDataInterface::NumberOfSDigits(
a202c2d2 743 TString , TString , Int_t ,
744 Int_t , Int_t
48b32e42 745 )
746{
a202c2d2 747/// \deprecated Method is going to be removed
748
749 AliFatal("Deprecated");
750 return 0;
925e6570 751}
48b32e42 752
753
754AliMUONDigit* AliMUONDataInterface::SDigit(
a202c2d2 755 TString , TString , Int_t ,
756 Int_t , Int_t , Int_t
48b32e42 757 )
758{
a202c2d2 759/// \deprecated Method is going to be removed
760
761 AliFatal("Deprecated");
762 return 0;
925e6570 763}
48b32e42 764
765
766Int_t AliMUONDataInterface::NumberOfDigits(
a202c2d2 767 TString , TString , Int_t ,
768 Int_t , Int_t
48b32e42 769 )
770{
a202c2d2 771/// \deprecated Method is going to be removed
772
773 AliFatal("Deprecated");
774 return 0;
925e6570 775}
48b32e42 776
777
778AliMUONDigit* AliMUONDataInterface::Digit(
a202c2d2 779 TString , TString , Int_t ,
780 Int_t , Int_t , Int_t
48b32e42 781 )
782{
a202c2d2 783/// \deprecated Method is going to be removed
784
785 AliFatal("Deprecated");
786 return 0;
925e6570 787}
48b32e42 788
789
790Int_t AliMUONDataInterface::NumberOfRawClusters(
a202c2d2 791 TString , TString , Int_t , Int_t
48b32e42 792 )
793{
a202c2d2 794/// \deprecated Method is going to be removed
795
796 AliFatal("Deprecated");
797 return 0;
925e6570 798}
48b32e42 799
800
801AliMUONRawCluster* AliMUONDataInterface::RawCluster(
a202c2d2 802 TString , TString , Int_t ,
803 Int_t , Int_t
48b32e42 804 )
805{
a202c2d2 806/// \deprecated Method is going to be removed
807
808 AliFatal("Deprecated");
809 return 0;
925e6570 810}
48b32e42 811
812
a202c2d2 813Int_t AliMUONDataInterface::NumberOfLocalTriggers(TString , TString , Int_t )
48b32e42 814{
a202c2d2 815/// \deprecated Method is going to be removed
816
817 AliFatal("Deprecated");
818 return 0;
925e6570 819}
48b32e42 820
821
822AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(
a202c2d2 823 TString , TString , Int_t , Int_t
48b32e42 824 )
825{
a202c2d2 826/// \deprecated Method is going to be removed
827
828 AliFatal("Deprecated");
829 return 0;
925e6570 830}
48b32e42 831
a202c2d2 832Bool_t AliMUONDataInterface::SetFile(TString , TString )
48b32e42 833{
a202c2d2 834/// \deprecated Method is going to be removed
48b32e42 835
a202c2d2 836 AliFatal("Deprecated");
837 return 0;
925e6570 838}
48b32e42 839
840
a202c2d2 841Bool_t AliMUONDataInterface::GetEvent(Int_t )
48b32e42 842{
a202c2d2 843/// \deprecated Method is going to be removed
48b32e42 844
a202c2d2 845 AliFatal("Deprecated");
846 return 0;
925e6570 847}
48b32e42 848
48b32e42 849Int_t AliMUONDataInterface::NumberOfParticles()
850{
a202c2d2 851/// \deprecated Method is going to be removed
852
853 AliFatal("Deprecated");
854 return 0;
925e6570 855}
48b32e42 856
857
a202c2d2 858TParticle* AliMUONDataInterface::Particle(Int_t )
48b32e42 859{
a202c2d2 860/// \deprecated Method is going to be removed
861
862 AliFatal("Deprecated");
863 return 0;
925e6570 864}
48b32e42 865
866
867Int_t AliMUONDataInterface::NumberOfTracks()
868{
a202c2d2 869/// \deprecated Method is going to be removed
870
871 AliFatal("Deprecated");
872 return 0;
925e6570 873}
48b32e42 874
875
a202c2d2 876Int_t AliMUONDataInterface::NumberOfHits(Int_t )
48b32e42 877{
a202c2d2 878/// \deprecated Method is going to be removed
879
880 AliFatal("Deprecated");
881 return 0;
925e6570 882}
48b32e42 883
884
a202c2d2 885AliMUONHit*
886AliMUONDataInterface::Hit(Int_t , Int_t )
48b32e42 887{
a202c2d2 888/// \deprecated Method is going to be removed
889
890 AliFatal("Deprecated");
891 return 0;
925e6570 892}
48b32e42 893
894
a202c2d2 895Int_t AliMUONDataInterface::NumberOfSDigits(Int_t , Int_t )
48b32e42 896{
a202c2d2 897/// \deprecated Method is going to be removed
898
899 AliFatal("Deprecated");
900 return 0;
925e6570 901}
48b32e42 902
903
a202c2d2 904AliMUONDigit* AliMUONDataInterface::SDigit(Int_t , Int_t , Int_t )
48b32e42 905{
a202c2d2 906/// \deprecated Method is going to be removed
907
908 AliFatal("Deprecated");
909 return 0;
910
925e6570 911}
48b32e42 912
913
a202c2d2 914Int_t AliMUONDataInterface::NumberOfDigits(Int_t , Int_t )
48b32e42 915{
a202c2d2 916/// \deprecated Method is going to be removed
917
918 AliFatal("Deprecated");
919 return 0;
920
925e6570 921}
48b32e42 922
923
a202c2d2 924AliMUONDigit* AliMUONDataInterface::Digit(Int_t , Int_t , Int_t )
48b32e42 925{
a202c2d2 926/// \deprecated Method is going to be removed
927
928 AliFatal("Deprecated");
929 return 0;
925e6570 930}
48b32e42 931
932
a202c2d2 933Int_t AliMUONDataInterface::NumberOfRawClusters(Int_t )
48b32e42 934{
a202c2d2 935/// \deprecated Method is going to be removed
936
937 AliFatal("Deprecated");
938 return 0;
925e6570 939}
48b32e42 940
941
a202c2d2 942AliMUONRawCluster* AliMUONDataInterface::RawCluster(Int_t , Int_t )
48b32e42 943{
a202c2d2 944/// \deprecated Method is going to be removed
945
946 AliFatal("Deprecated");
947 return 0;
925e6570 948}
48b32e42 949
950
951Int_t AliMUONDataInterface::NumberOfLocalTriggers()
952{
a202c2d2 953/// \deprecated Method is going to be removed
954
955 AliFatal("Deprecated");
956 return 0;
925e6570 957}
48b32e42 958
959
a202c2d2 960AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(Int_t )
48b32e42 961{
a202c2d2 962/// \deprecated Method is going to be removed
963
964 AliFatal("Deprecated");
965 return 0;
925e6570 966}
554b38a6 967
968Int_t AliMUONDataInterface::NumberOfGlobalTriggers()
969{
a202c2d2 970/// \deprecated Method is going to be removed
971
972 AliFatal("Deprecated");
973 return 0;
554b38a6 974}
975
a202c2d2 976AliMUONGlobalTrigger* AliMUONDataInterface::GlobalTrigger(Int_t )
554b38a6 977{
a202c2d2 978/// \deprecated Method is going to be removed
979
980 AliFatal("Deprecated");
981 return 0;
554b38a6 982}
983
984Int_t AliMUONDataInterface::NumberOfRecTracks()
985{
a202c2d2 986/// \deprecated Method is going to be removed
987
988 AliFatal("Deprecated");
989 return 0;
554b38a6 990}
991
a202c2d2 992AliMUONTrack* AliMUONDataInterface::RecTrack(Int_t )
554b38a6 993{
a202c2d2 994/// \deprecated Method is going to be removed
995
996 AliFatal("Deprecated");
997 return 0;
554b38a6 998}