1 #ifndef ALIAODMUONREPLICATOR_H
2 #define ALIAODMUONREPLICATOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 #ifndef ALIDAODBRANCHREPLICATOR_H
11 # include "AliAODBranchReplicator.h"
18 // Implementation of a branch replicator
19 // to produce slim muon and dimuon aods.
21 // Author: L. Aphecetche (Subatech)
23 class AliAnalysisCuts;
29 class AliAODMuonReplicator : public AliAODBranchReplicator
33 AliAODMuonReplicator(const char* name="AliAODMuonReplicator",
34 const char* title="Branch Replicator for muon related branches",
35 AliAnalysisCuts* trackCut=0x0,
36 AliAnalysisCuts* vertexCut=0x0,
38 virtual ~AliAODMuonReplicator();
40 virtual TList* GetList() const;
42 virtual void ReplicateAndFilter(const AliAODEvent& source);
45 void FilterMC(const AliAODEvent& source);
46 void SelectParticle(Int_t i);
47 Bool_t IsParticleSelected(Int_t i);
48 void CreateLabelMap(const AliAODEvent& source);
49 Int_t GetNewLabel(Int_t i);
52 AliAnalysisCuts* fTrackCut; // decides which tracks to keep
53 mutable TClonesArray* fTracks; //! internal array of muon tracks
54 AliAnalysisCuts* fVertexCut; // decides which vertices to keep
55 mutable TClonesArray* fVertices; //! internal array of vertices
56 mutable TClonesArray* fDimuons; //! internal array of dimuons
57 mutable AliAODVZERO* fVZERO; //! internal vzero object
58 mutable AliAODTZERO* fTZERO; //! internal tzero object
59 mutable TList* fList; //! internal list of managed objects (fVertices and fTracks)
61 mutable TClonesArray* fMCParticles; //! internal array of MC particles
62 mutable AliAODMCHeader* fMCHeader; //! internal array of MC header
63 Int_t fMCMode; // MC filtering switch (0=none=no mc information,1=normal=simple copy,>=2=aggressive=filter out)
64 TExMap fLabelMap; //! for MC label remapping (in case of aggressive filtering)
65 TExMap fParticleSelected; //! List of selected MC particles
68 AliAODMuonReplicator(const AliAODMuonReplicator&);
69 AliAODMuonReplicator& operator=(const AliAODMuonReplicator&);
71 ClassDef(AliAODMuonReplicator,5) // Branch replicator for ESD to muon AOD.