]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDataInterface.cxx
Removing, as not used anymore (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONDataInterface.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 /* $Id$ */
17
18 #include "AliMUONDataInterface.h"
19 #include "AliMUONDigit.h"
20 #include "AliMUONGeometryTransformer.h"
21 #include "AliMUONGlobalTrigger.h"
22 #include "AliMUONHit.h"
23 #include "AliMUONLocalTrigger.h"
24 #include "AliMUONRawCluster.h"
25 #include "AliMUONTrack.h"
26 #include "AliMUONTriggerCircuit.h"
27 #include "AliMUONVClusterStore.h"
28 #include "AliMUONVDigitStore.h"
29 #include "AliMUONVTrackStore.h"
30 #include "AliMUONVTriggerStore.h"
31 #include "AliMUONVTriggerTrackStore.h"
32
33 #include "AliLoader.h"
34 #include "AliLog.h"
35 #include "AliLog.h"
36 #include "AliRunLoader.h"
37
38 #include <TError.h>
39 #include <TParticle.h>
40 #include <Riostream.h>
41 #include <TFile.h>
42 #include <TList.h>
43 #include <TNtuple.h>
44 #include <TSystem.h>
45
46 ///
47 /// \class AliMUONDataInterface
48 ///
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 ///
55 ///
56 /// This interface in not necessarily the fastest way to fetch the data but
57 /// it is the easiest.
58 ///
59 /// \author Laurent Aphecetche, Subatech
60
61 /// \cond CLASSIMP
62 ClassImp(AliMUONDataInterface)
63 /// \endcond
64
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
74 Int_t AliMUONDataInterface::fgInstanceCounter(0);
75
76 //______________________________________________________________________________
77 AliMUONDataInterface::AliMUONDataInterface(const char* filename)
78 : TObject(), 
79 fLoader(0x0),
80 fDigitStore(0x0),
81 fTriggerStore(0x0),
82 fClusterStore(0x0),
83 fTrackStore(0x0),
84 fTriggerTrackStore(0x0),
85 fCurrentEvent(-1),
86 fIsValid(kFALSE)
87 {
88   /// ctor
89   /// @param filename should be the full path to a valid galice.root file
90   
91   ++fgInstanceCounter;
92   
93   Open(filename);
94 }
95
96 //______________________________________________________________________________
97 AliMUONDataInterface::~AliMUONDataInterface()
98 {
99   /// dtor
100   if ( fLoader ) 
101   {
102     delete fLoader->GetRunLoader();
103   }
104   --fgInstanceCounter;  
105 }
106
107 //______________________________________________________________________________
108 AliMUONVClusterStore*
109 AliMUONDataInterface::ClusterStore(Int_t event)
110 {
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 }
143
144 //______________________________________________________________________________
145 AliMUONVDigitStore*
146 AliMUONDataInterface::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;
179 }
180
181 //______________________________________________________________________________
182 void
183 AliMUONDataInterface::DumpDigits(Int_t event, Bool_t sorted)
184 {
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   }
198 }
199
200 //______________________________________________________________________________
201 void
202 AliMUONDataInterface::DumpRecPoints(Int_t event, Bool_t sorted)
203 {
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   }
217 }
218
219 //_____________________________________________________________________________
220 void
221 AliMUONDataInterface::DumpSorted(const AliMUONVStore& store) const
222 {
223   /// Dump the given store, in sorted order
224   
225   TIter next(store.CreateIterator());
226   TObject* object;
227   TList list;
228   list.SetOwner(kFALSE);
229   
230   while ( ( object = next() ) )
231   {
232     list.Add(object);
233   }
234   
235   list.Sort();
236   
237   list.Print();
238 }
239
240 //______________________________________________________________________________
241 void
242 AliMUONDataInterface::DumpTracks(Int_t event, Bool_t sorted)
243 {
244   /// Dump tracks for a given event, sorted if requested
245   
246   TrackStore(event);
247   
248   if ( fTrackStore ) 
249   {
250     if ( sorted ) 
251     {
252       DumpSorted(*fTrackStore);
253     }
254     else
255     {
256       fTrackStore->Print();
257     }
258   }
259 }
260
261 //______________________________________________________________________________
262 void
263 AliMUONDataInterface::DumpTriggerTracks(Int_t event, Bool_t sorted)
264 {
265   /// Dump trigger tracks for a given event, sorted if requested
266
267   TriggerTrackStore(event);
268   
269   if ( fTriggerTrackStore ) 
270   {
271     if ( sorted ) 
272     {
273       DumpSorted(*fTriggerTrackStore);
274     }
275     else
276     {
277       fTriggerTrackStore->Print();
278     }
279   }
280 }
281
282 //_____________________________________________________________________________
283 void
284 AliMUONDataInterface::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
289   
290   if ( event < 0 ) 
291   {
292     NtupleTrigger(treeLetter);
293   }
294   else
295   {
296     TriggerStore(event,treeLetter);
297   
298     if ( fTriggerStore ) 
299     {
300       fTriggerStore->Print();
301     }
302   }
303 }
304
305 //_____________________________________________________________________________
306 void
307 AliMUONDataInterface::NtupleTrigger(const char* treeLetter)
308 {
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();
436 }
437
438 //______________________________________________________________________________
439 Bool_t
440 AliMUONDataInterface::IsValid() const
441 {
442   /// Whether we were properly initialized from a valid galice.root file
443   return fIsValid;
444 }
445
446 //_____________________________________________________________________________
447 Int_t
448 AliMUONDataInterface::LoadEvent(Int_t event)
449 {
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;
465 }
466
467 //______________________________________________________________________________
468 Int_t
469 AliMUONDataInterface::NumberOfEvents() const
470 {
471   /// Number of events in the current galice.root file we're attached to 
472   if (!IsValid()) return 0;
473   return fLoader->GetRunLoader()->GetNumberOfEvents();
474 }
475
476 //_____________________________________________________________________________
477 void
478 AliMUONDataInterface::Open(const char* filename)
479 {
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   }
528 }
529
530 //______________________________________________________________________________
531 AliMUONVTrackStore* 
532 AliMUONDataInterface::TrackStore(Int_t event)
533 {
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;
565 }
566
567 //______________________________________________________________________________
568 AliMUONVTriggerTrackStore* 
569 AliMUONDataInterface::TriggerTrackStore(Int_t event)
570 {
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;  
602 }
603
604 //_____________________________________________________________________________
605 AliMUONVTriggerStore*
606 AliMUONDataInterface::TriggerStore(Int_t event, const char* treeLetter)
607 {
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;
659 }
660
661 //______________________________________________________________________________
662 //______________________________________________________________________________
663 //______________________________________________________________________________
664 //______________________________________________________________________________
665
666 void AliMUONDataInterface::Reset()
667 {
668 /// \deprecated Method is going to be removed
669
670   AliFatal("Deprecated");
671 }
672
673 Bool_t AliMUONDataInterface::UseCurrentRunLoader()
674 {
675 /// \deprecated Method is going to be removed
676
677   AliFatal("Deprecated");
678   return kFALSE;
679 }
680   
681 Int_t AliMUONDataInterface::NumberOfEvents(TString , TString )
682 {
683 /// \deprecated Method is going to be removed
684
685   AliFatal("Deprecated");
686   return 0;
687 }
688
689
690 Int_t AliMUONDataInterface::NumberOfParticles(TString , TString , Int_t )
691 {
692 /// \deprecated Method is going to be removed
693
694   AliFatal("Deprecated");
695   return 0;
696 }
697
698
699 TParticle* AliMUONDataInterface::Particle(
700                 TString , TString , Int_t , Int_t 
701         )
702 {
703 /// \deprecated Method is going to be removed
704
705   AliFatal("Deprecated");
706   return 0;
707 }
708
709
710 Int_t AliMUONDataInterface::NumberOfTracks(TString , TString , Int_t )
711 {
712 /// \deprecated Method is going to be removed
713
714   AliFatal("Deprecated");
715   return 0;
716 }
717
718
719 Int_t AliMUONDataInterface::NumberOfHits(
720                 TString , TString , Int_t , Int_t 
721         )
722 {
723 /// \deprecated Method is going to be removed
724
725   AliFatal("Deprecated");
726   return 0;
727 }
728
729
730 AliMUONHit* AliMUONDataInterface::Hit(
731                 TString , TString , Int_t ,
732                 Int_t , Int_t 
733         )
734 {
735 /// \deprecated Method is going to be removed
736
737   AliFatal("Deprecated");
738   return 0;
739 }
740
741
742 Int_t AliMUONDataInterface::NumberOfSDigits(
743                 TString , TString , Int_t ,
744                 Int_t , Int_t 
745         )
746 {
747 /// \deprecated Method is going to be removed
748
749   AliFatal("Deprecated");
750   return 0;
751 }
752
753
754 AliMUONDigit* AliMUONDataInterface::SDigit(
755                 TString , TString , Int_t ,
756                 Int_t , Int_t , Int_t 
757         )
758 {
759 /// \deprecated Method is going to be removed
760
761   AliFatal("Deprecated");
762   return 0;
763 }
764
765
766 Int_t AliMUONDataInterface::NumberOfDigits(
767                 TString , TString , Int_t ,
768                 Int_t , Int_t 
769         )
770 {
771 /// \deprecated Method is going to be removed
772
773   AliFatal("Deprecated");
774   return 0;
775 }
776
777
778 AliMUONDigit* AliMUONDataInterface::Digit(
779                 TString , TString , Int_t ,
780                 Int_t , Int_t , Int_t 
781         )
782 {
783 /// \deprecated Method is going to be removed
784
785   AliFatal("Deprecated");
786   return 0;
787 }
788
789
790 Int_t AliMUONDataInterface::NumberOfRawClusters(
791                 TString , TString , Int_t , Int_t 
792         )
793 {
794 /// \deprecated Method is going to be removed
795
796   AliFatal("Deprecated");
797   return 0;
798 }
799
800
801 AliMUONRawCluster* AliMUONDataInterface::RawCluster(
802                 TString , TString , Int_t ,
803                 Int_t , Int_t 
804         )
805 {
806 /// \deprecated Method is going to be removed
807
808   AliFatal("Deprecated");
809   return 0;
810 }
811
812
813 Int_t AliMUONDataInterface::NumberOfLocalTriggers(TString , TString , Int_t )
814 {
815 /// \deprecated Method is going to be removed
816
817   AliFatal("Deprecated");
818   return 0;
819 }
820
821
822 AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(
823                 TString , TString , Int_t , Int_t 
824         )
825 {
826 /// \deprecated Method is going to be removed
827
828   AliFatal("Deprecated");
829   return 0;
830 }
831
832 Bool_t AliMUONDataInterface::SetFile(TString , TString )
833 {
834 /// \deprecated Method is going to be removed
835
836   AliFatal("Deprecated");
837   return 0;
838 }
839
840
841 Bool_t AliMUONDataInterface::GetEvent(Int_t )
842 {
843 /// \deprecated Method is going to be removed
844
845   AliFatal("Deprecated");
846   return 0;
847 }
848
849 Int_t AliMUONDataInterface::NumberOfParticles()
850 {
851 /// \deprecated Method is going to be removed
852
853   AliFatal("Deprecated");
854   return 0;
855 }
856
857
858 TParticle* AliMUONDataInterface::Particle(Int_t )
859 {
860 /// \deprecated Method is going to be removed
861
862   AliFatal("Deprecated");
863   return 0;
864 }
865
866
867 Int_t AliMUONDataInterface::NumberOfTracks()
868 {
869 /// \deprecated Method is going to be removed
870
871   AliFatal("Deprecated");
872   return 0;
873 }
874
875
876 Int_t AliMUONDataInterface::NumberOfHits(Int_t )
877 {
878 /// \deprecated Method is going to be removed
879
880   AliFatal("Deprecated");
881   return 0;
882 }
883
884
885 AliMUONHit* 
886 AliMUONDataInterface::Hit(Int_t , Int_t )
887 {
888 /// \deprecated Method is going to be removed
889
890   AliFatal("Deprecated");
891   return 0;
892 }
893
894
895 Int_t AliMUONDataInterface::NumberOfSDigits(Int_t , Int_t )
896 {
897 /// \deprecated Method is going to be removed
898
899   AliFatal("Deprecated");
900   return 0;
901 }
902
903
904 AliMUONDigit* AliMUONDataInterface::SDigit(Int_t , Int_t , Int_t )
905 {
906 /// \deprecated Method is going to be removed
907
908   AliFatal("Deprecated");
909   return 0;
910
911 }
912
913
914 Int_t AliMUONDataInterface::NumberOfDigits(Int_t , Int_t )
915 {
916 /// \deprecated Method is going to be removed
917
918   AliFatal("Deprecated");
919   return 0;
920
921 }
922
923
924 AliMUONDigit* AliMUONDataInterface::Digit(Int_t , Int_t , Int_t )
925 {
926 /// \deprecated Method is going to be removed
927
928   AliFatal("Deprecated");
929   return 0;
930 }
931
932
933 Int_t AliMUONDataInterface::NumberOfRawClusters(Int_t )
934 {
935 /// \deprecated Method is going to be removed
936
937   AliFatal("Deprecated");
938   return 0;
939 }
940
941
942 AliMUONRawCluster* AliMUONDataInterface::RawCluster(Int_t , Int_t )
943 {
944 /// \deprecated Method is going to be removed
945
946   AliFatal("Deprecated");
947   return 0;
948 }
949
950
951 Int_t AliMUONDataInterface::NumberOfLocalTriggers()
952 {
953 /// \deprecated Method is going to be removed
954
955   AliFatal("Deprecated");
956   return 0;
957 }
958
959
960 AliMUONLocalTrigger* AliMUONDataInterface::LocalTrigger(Int_t )
961 {
962 /// \deprecated Method is going to be removed
963
964   AliFatal("Deprecated");
965   return 0;
966 }
967
968 Int_t AliMUONDataInterface::NumberOfGlobalTriggers()
969 {
970 /// \deprecated Method is going to be removed
971
972   AliFatal("Deprecated");
973   return 0;
974 }
975
976 AliMUONGlobalTrigger* AliMUONDataInterface::GlobalTrigger(Int_t )
977 {
978 /// \deprecated Method is going to be removed
979
980   AliFatal("Deprecated");
981   return 0;
982 }
983
984 Int_t AliMUONDataInterface::NumberOfRecTracks()
985 {
986 /// \deprecated Method is going to be removed
987
988   AliFatal("Deprecated");
989   return 0;
990 }
991
992 AliMUONTrack* AliMUONDataInterface::RecTrack(Int_t )
993 {
994 /// \deprecated Method is going to be removed
995
996   AliFatal("Deprecated");
997   return 0;
998 }