#ifndef ALIAODNUCLEXREPLICATOR_H
#define ALIAODNUCLEXREPLICATOR_H
#ifndef ALIDAODBRANCHREPLICATOR_H
# include "AliAODBranchReplicator.h"
#endif
#ifndef ROOT_TExMap
# include "TExMap.h"
#endif
class TClonesArray;
class AliAODMCHeader;
class AliAODVZERO;
class AliAODTZERO;
class AliPIDResponse;
class AliESDv0;
class TArrayI;
class AliAODv0;
class TRefArray;
class AliAODRecoDecay;
class AliAODRecoDecayLF;
class AliAODRecoDecayLF2Prong;
class AliVertexerTracks;
class AliAODHeader;
class AliESDVertex;
class AliESDtrack;
class AliVEvent;
class AliAODVertex;
class AliVertexerTracks;
class AliESDv0;
class AliAODv0;
class TH1F;
class AliAODNuclExReplicator : public AliAODBranchReplicator
{
public:
AliAODNuclExReplicator(const char* name="AliAODNuclExReplicator",
const char* title="Branch Replicator for muon related branches",
Int_t mcMode=0,
Int_t nsigmaTrk1=3, Int_t partType1 = 2,
Int_t nsigmaTrk2=3, Int_t partType2 = 7
);
virtual ~AliAODNuclExReplicator();
virtual TList* GetList() const;
virtual void ReplicateAndFilter(const AliAODEvent& source);
virtual void Terminate();
private:
void SelectParticle(Int_t i);
Bool_t IsParticleSelected(Int_t i);
void CreateLabelMap(const AliAODEvent& source);
Int_t GetNewLabel(Int_t i);
Double_t fBzkG;
Double_t fCosMin ;
Double_t fDCAtracksMin ;
Double_t fRmax ;
Double_t fRmin ;
Double_t fDNmin ;
Double_t fDPmin ;
private:
mutable AliAODHeader* fHeader;
mutable TClonesArray* fVertices;
mutable TClonesArray* fNuclei;
mutable TClonesArray* fSecondaryVerices;
mutable TClonesArray* fDaughterTracks;
mutable TList* fList;
mutable TClonesArray* fMCParticles;
mutable AliAODMCHeader* fMCHeader;
Int_t fMCMode;
TExMap fLabelMap;
TExMap fParticleSelected;
Bool_t fReplicateHeader;
Int_t fnSigmaTrk1;
Int_t fnSigmaTrk2;
Int_t fpartType1;
Int_t fpartType2;
Bool_t fSecVtxWithKF;
AliVertexerTracks* fVertexerTracks;
AliESDVertex *fV1;
Int_t fAODMapSize;
Int_t *fAODMap;
AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray,Double_t &dispersion,Bool_t useTRefArray=kTRUE) const;
AliAODRecoDecayLF2Prong* Make2Prong(TObjArray *twoTrackArray,const AliAODEvent &evento,
AliAODVertex *secVert,Double_t dca);
void AddDaughterRefs(AliAODVertex *v, const AliAODEvent &event, const TObjArray *trkArray) const;
void AddRefs(AliAODVertex *v,AliAODRecoDecayLF *rd, const AliAODEvent &event, const TObjArray *trkArray) const;
private:
AliAODNuclExReplicator(const AliAODNuclExReplicator&);
AliAODNuclExReplicator& operator=(const AliAODNuclExReplicator&);
ClassDef(AliAODNuclExReplicator,5)
};
#endif
AliAODNuclExReplicator.h:1 AliAODNuclExReplicator.h:2 AliAODNuclExReplicator.h:3 AliAODNuclExReplicator.h:4 AliAODNuclExReplicator.h:5 AliAODNuclExReplicator.h:6 AliAODNuclExReplicator.h:7 AliAODNuclExReplicator.h:8 AliAODNuclExReplicator.h:9 AliAODNuclExReplicator.h:10 AliAODNuclExReplicator.h:11 AliAODNuclExReplicator.h:12 AliAODNuclExReplicator.h:13 AliAODNuclExReplicator.h:14 AliAODNuclExReplicator.h:15 AliAODNuclExReplicator.h:16 AliAODNuclExReplicator.h:17 AliAODNuclExReplicator.h:18 AliAODNuclExReplicator.h:19 AliAODNuclExReplicator.h:20 AliAODNuclExReplicator.h:21 AliAODNuclExReplicator.h:22 AliAODNuclExReplicator.h:23 AliAODNuclExReplicator.h:24 AliAODNuclExReplicator.h:25 AliAODNuclExReplicator.h:26 AliAODNuclExReplicator.h:27 AliAODNuclExReplicator.h:28 AliAODNuclExReplicator.h:29 AliAODNuclExReplicator.h:30 AliAODNuclExReplicator.h:31 AliAODNuclExReplicator.h:32 AliAODNuclExReplicator.h:33 AliAODNuclExReplicator.h:34 AliAODNuclExReplicator.h:35 AliAODNuclExReplicator.h:36 AliAODNuclExReplicator.h:37 AliAODNuclExReplicator.h:38 AliAODNuclExReplicator.h:39 AliAODNuclExReplicator.h:40 AliAODNuclExReplicator.h:41 AliAODNuclExReplicator.h:42 AliAODNuclExReplicator.h:43 AliAODNuclExReplicator.h:44 AliAODNuclExReplicator.h:45 AliAODNuclExReplicator.h:46 AliAODNuclExReplicator.h:47 AliAODNuclExReplicator.h:48 AliAODNuclExReplicator.h:49 AliAODNuclExReplicator.h:50 AliAODNuclExReplicator.h:51 AliAODNuclExReplicator.h:52 AliAODNuclExReplicator.h:53 AliAODNuclExReplicator.h:54 AliAODNuclExReplicator.h:55 AliAODNuclExReplicator.h:56 AliAODNuclExReplicator.h:57 AliAODNuclExReplicator.h:58 AliAODNuclExReplicator.h:59 AliAODNuclExReplicator.h:60 AliAODNuclExReplicator.h:61 AliAODNuclExReplicator.h:62 AliAODNuclExReplicator.h:63 AliAODNuclExReplicator.h:64 AliAODNuclExReplicator.h:65 AliAODNuclExReplicator.h:66 AliAODNuclExReplicator.h:67 AliAODNuclExReplicator.h:68 AliAODNuclExReplicator.h:69 AliAODNuclExReplicator.h:70 AliAODNuclExReplicator.h:71 AliAODNuclExReplicator.h:72 AliAODNuclExReplicator.h:73 AliAODNuclExReplicator.h:74 AliAODNuclExReplicator.h:75 AliAODNuclExReplicator.h:76 AliAODNuclExReplicator.h:77 AliAODNuclExReplicator.h:78 AliAODNuclExReplicator.h:79 AliAODNuclExReplicator.h:80 AliAODNuclExReplicator.h:81 AliAODNuclExReplicator.h:82 AliAODNuclExReplicator.h:83 AliAODNuclExReplicator.h:84 AliAODNuclExReplicator.h:85 AliAODNuclExReplicator.h:86 AliAODNuclExReplicator.h:87 AliAODNuclExReplicator.h:88 AliAODNuclExReplicator.h:89 AliAODNuclExReplicator.h:90 AliAODNuclExReplicator.h:91 AliAODNuclExReplicator.h:92 AliAODNuclExReplicator.h:93 AliAODNuclExReplicator.h:94 AliAODNuclExReplicator.h:95 AliAODNuclExReplicator.h:96 AliAODNuclExReplicator.h:97 AliAODNuclExReplicator.h:98 AliAODNuclExReplicator.h:99 AliAODNuclExReplicator.h:100 AliAODNuclExReplicator.h:101 AliAODNuclExReplicator.h:102 AliAODNuclExReplicator.h:103 AliAODNuclExReplicator.h:104 AliAODNuclExReplicator.h:105 AliAODNuclExReplicator.h:106 AliAODNuclExReplicator.h:107 AliAODNuclExReplicator.h:108 AliAODNuclExReplicator.h:109 AliAODNuclExReplicator.h:110 AliAODNuclExReplicator.h:111 AliAODNuclExReplicator.h:112 AliAODNuclExReplicator.h:113 AliAODNuclExReplicator.h:114 AliAODNuclExReplicator.h:115 AliAODNuclExReplicator.h:116 AliAODNuclExReplicator.h:117 AliAODNuclExReplicator.h:118 AliAODNuclExReplicator.h:119 AliAODNuclExReplicator.h:120 AliAODNuclExReplicator.h:121 AliAODNuclExReplicator.h:122 AliAODNuclExReplicator.h:123 AliAODNuclExReplicator.h:124 AliAODNuclExReplicator.h:125 AliAODNuclExReplicator.h:126 AliAODNuclExReplicator.h:127 AliAODNuclExReplicator.h:128 AliAODNuclExReplicator.h:129 AliAODNuclExReplicator.h:130 AliAODNuclExReplicator.h:131 AliAODNuclExReplicator.h:132 AliAODNuclExReplicator.h:133 AliAODNuclExReplicator.h:134 AliAODNuclExReplicator.h:135 AliAODNuclExReplicator.h:136 AliAODNuclExReplicator.h:137 AliAODNuclExReplicator.h:138 AliAODNuclExReplicator.h:139 AliAODNuclExReplicator.h:140 AliAODNuclExReplicator.h:141 AliAODNuclExReplicator.h:142 AliAODNuclExReplicator.h:143 AliAODNuclExReplicator.h:144 AliAODNuclExReplicator.h:145 AliAODNuclExReplicator.h:146 AliAODNuclExReplicator.h:147 AliAODNuclExReplicator.h:148 AliAODNuclExReplicator.h:149 AliAODNuclExReplicator.h:150 AliAODNuclExReplicator.h:151 AliAODNuclExReplicator.h:152 AliAODNuclExReplicator.h:153 AliAODNuclExReplicator.h:154 AliAODNuclExReplicator.h:155 AliAODNuclExReplicator.h:156 AliAODNuclExReplicator.h:157 AliAODNuclExReplicator.h:158