//
/// \ingroup base
/// \class AliMUONData
-/// \brief MUON data
-///
-/// Class containing MUON data: hits, digits, rawclusters, globaltrigger,
+/// \brief Class containing MUON data: hits, digits, rawclusters, globaltrigger,
/// localtrigger, etc ...
///
-/// Author: Gines Martinez, Subatech, September 2003
+// Author: Gines Martinez, Subatech, September 2003
#include <TNamed.h>
-class TArrayI;
-
#include "AliLoader.h"
-class TClonesArray;
-class TNamed;
-class TObjArray;
-class TTree;
-class TIterator;
-
class AliMUONConstants;
class AliMUONRawCluster;
class AliMUONTrack;
class AliMUONRegionalTrigger;
class AliMUONGlobalTrigger;
+class AliRunLoader;
+
+class TClonesArray;
+class TNamed;
+class TObjArray;
+class TTree;
+class TIterator;
+class TArrayI;
+
+
//__________________________________________________________________
/////////////////////////////////////////////////////////////////////
// //
AliMUONData();
AliMUONData(AliLoader * loader, const char* name, const char* title);
+ AliMUONData(const char* galiceFile);
virtual ~AliMUONData();
virtual void AddDigit(Int_t id, const AliMUONDigit& digit); // use copy constructor
virtual void AddSDigit(Int_t id, const AliMUONDigit& digit); // use copy constructor
/// Return reconstructed trigger tracks
TClonesArray* RecTriggerTracks() {return fRecTriggerTracks;}
- /// Load hits for \a i th entry in hits three
- void GetTrack(Int_t it) const {
- if (fLoader && fLoader->TreeH())
- fLoader->TreeH()->GetEvent(it);
- }
- /// Get number of entries in hits three
- Int_t GetNtracks() const {
- Int_t ntrk = 0;
- if (fLoader && fLoader->TreeH())
- ntrk = (Int_t) fLoader->TreeH()->GetEntries();
- return ntrk;
- }
+ void GetTrack(Int_t it) const;
+ Int_t GetNtracks() const;
void GetDigits() const;
- /// Load sdigits tree
- void GetSDigits() const {
- if (fLoader && fLoader->TreeS())
- fLoader->TreeS()->GetEvent(0);
- }
- /// Load raw clusters tree
- void GetRawClusters() const {
- if (fLoader && fLoader->TreeR())
- fLoader->TreeR()->GetEvent(0);
- }
- /// Load trigger tree
- void GetTrigger() const {
- if (fLoader && fLoader->TreeR())
- fLoader->TreeR()->GetEvent(0);
- }
- /// Load trigger D tree
- void GetTriggerD() const {
- if (fLoader && fLoader->TreeD())
- fLoader->TreeD()->GetEvent(0);
- }
+ void GetSDigits() const;
+ void GetRawClusters() const;
+ void GetTrigger() const;
+ void GetTriggerD() const;
+ void GetRecTracks() const;
+ void GetRecTriggerTracks() const;
+
/// Return split level
Int_t GetSplitLevel() const {return fSplitLevel;}
- /// Return reconstructed tracks
- void GetRecTracks() const {
- if (fLoader && fLoader->TreeT())
- fLoader->TreeT()->GetEvent(0);
- }
- /// Return reconstructed trigger tracks
- void GetRecTriggerTracks() const {
- if (fLoader && fLoader->TreeT())
- fLoader->TreeT()->GetEvent(0);
- }
Bool_t IsRawClusterBranchesInTree();
Bool_t IsDigitsBranchesInTree();
virtual void Fill(Option_t* opt=" ");
virtual void MakeBranch(Option_t *opt=" ");
+ virtual void SetDataContainer(Option_t *opt=" ");
virtual void SetTreeAddress(Option_t *opt=" ");
/// Set split level
/// Return tree with particles
TTree* TreeP() {return fLoader->TreeP(); }
- // TIterator* CreateDigitIterator(AliMUONData::EChamberIteration type);
+ // Methods to dump data
+ void DumpKine(Int_t event2Check=0);
+ void DumpHits(Int_t event2Check=0, Option_t* opt="full");
+ void DumpDigits(Int_t event2Check=0, Option_t* opt="tracks");
+ void DumpSDigits(Int_t event2Check=0, Option_t* opt="tracks");
+ void DumpRecPoints(Int_t event2Check=0, Option_t* opt="full");
+ void DumpRecTrigger(Int_t event2Check=0, Int_t write = 0, Bool_t readFromRP = kTRUE);
protected:
+ /// Not implemented
AliMUONData(const AliMUONData& rhs);
+ /// Not implemented
AliMUONData& operator=(const AliMUONData& rhs);
+ AliRunLoader* fRunLoader; //!< Run loader pointer
AliLoader* fLoader; //!< Detector Loader pointer
TClonesArray* fHits; ///< One event in treeH per primary track
TObjArray* fDigits; ///< One event in treeD and one branch per detection plane
ClassDef(AliMUONData,3) // Data accessor for MUON module
};
+// inline functions
+
+
+/// Load hits for \a i th entry in hits three
+inline void AliMUONData::GetTrack(Int_t it) const {
+ if (fLoader && fLoader->TreeH())
+ fLoader->TreeH()->GetEvent(it);
+}
+
+/// Load sdigits tree
+inline void AliMUONData::GetSDigits() const {
+ if (fLoader && fLoader->TreeS())
+ fLoader->TreeS()->GetEvent(0);
+}
+
+/// Load raw clusters tree
+inline void AliMUONData::GetRawClusters() const {
+ if (fLoader && fLoader->TreeR())
+ fLoader->TreeR()->GetEvent(0);
+}
+
+/// Load trigger tree
+inline void AliMUONData::GetTrigger() const {
+ if (fLoader && fLoader->TreeR())
+ fLoader->TreeR()->GetEvent(0);
+}
+
+/// Load trigger D tree
+inline void AliMUONData::GetTriggerD() const {
+ if (fLoader && fLoader->TreeD())
+ fLoader->TreeD()->GetEvent(0);
+}
+
+/// Return reconstructed tracks
+inline void AliMUONData::GetRecTracks() const {
+ if (fLoader && fLoader->TreeT())
+ fLoader->TreeT()->GetBranch("MUONTrack")->GetEvent(0);
+}
+
+/// Return reconstructed trigger tracks
+inline void AliMUONData::GetRecTriggerTracks() const {
+ if (fLoader && fLoader->TreeT())
+ fLoader->TreeT()->GetBranch("MUONTriggerTrack")->GetEvent(0);
+}
+
#endif