#include "AliJetESDReaderHeader.h"
#include "AliESD.h"
#include "AliESDtrack.h"
+#include "AliHeader.h"
ClassImp(AliJetESDmcReader)
AliJetESDmcReader::AliJetESDmcReader():
- fMass(0),
- fSign(0)
+ fAliHeader(0),
+ fMass(0),
+ fSign(0)
{
// Constructor
fReaderHeader = 0x0;
//____________________________________________________________________________
-void AliJetESDmcReader::FillMomentumArray(Int_t event)
+Bool_t AliJetESDmcReader::FillMomentumArray(Int_t event)
{
// Fill momentum array
// set the signal flags
fSignalFlag.Set(goodTrack,sflag);
fCutFlag.Set(goodTrack,cflag);
-
+ return kTRUE;
+
}
#include "AliJetReader.h"
class AliJetESDReaderHeader;
+class AliHeader;
+
class AliJetESDmcReader : public AliJetReader
Int_t GetTrackSign() const {return fSign;} // returns sign of the track
// Setters
- void FillMomentumArray(Int_t event);
- void OpenInputFiles();
+ Bool_t FillMomentumArray(Int_t event);
+ void OpenInputFiles();
protected:
- Float_t fMass; // Particle mass
- Int_t fSign; // Particle sign
+ AliHeader* fAliHeader; //! Event header
+ Float_t fMass; //! Particle mass
+ Int_t fSign; //! Particle sign
ClassDef(AliJetESDmcReader,1)
};
#include <TDatabasePDG.h>
#include <TRandom.h>
// From AliRoot ...
+#include "AliJet.h"
#include "AliJetKineReaderHeader.h"
#include "AliJetKineReader.h"
#include "AliRunLoader.h"
#include "AliStack.h"
+#include "AliHeader.h"
+#include "AliGenPythiaEventHeader.h"
ClassImp(AliJetKineReader)
AliJetKineReader::AliJetKineReader():
fRunLoader(0x0),
+ fAliHeader(0x0),
fMass(0),
fPdgC(0)
{
{
// Destructor
delete fReaderHeader;
+ delete fAliHeader;
}
//____________________________________________________________________________
//____________________________________________________________________________
-void AliJetKineReader::FillMomentumArray(Int_t event)
+Bool_t AliJetKineReader::FillMomentumArray(Int_t event)
{
// Fill momentum array for event
fSignalFlag.Set(goodTrack,sflag);
fCutFlag.Set(goodTrack,cflag);
printf("\nIn event %d, number of good tracks %d \n", event, goodTrack);
-
+ return kTRUE;
}
}
+Bool_t AliJetKineReader::GetGenJets(AliJet* genJets)
+{
+ // Get generated jets from mc header
+ AliHeader* alih = GetAliHeader();
+ if (alih == 0) return kFALSE;
+ AliGenEventHeader * genh = alih->GenEventHeader();
+ if (genh == 0) return kFALSE;
+ Int_t nj =((AliGenPythiaEventHeader*)genh)->NTriggerJets();
+ Int_t* m = new Int_t[nj];
+ Int_t* k = new Int_t[nj];
+ for (Int_t i=0; i< nj; i++) {
+ Float_t p[4];
+ ((AliGenPythiaEventHeader*)genh)->TriggerJet(i,p);
+ genJets->AddJet(p[0],p[1],p[2],p[3]);
+ m[i]=1;
+ k[i]=i;
+ }
+ genJets->SetNinput(nj);
+ genJets->SetMultiplicities(m);
+ genJets->SetInJet(k);
+ return kTRUE;
+}
#include "AliJetReader.h"
class AliRunLoader;
+class AliHeader;
class AliJetKineReader : public AliJetReader
{
Float_t GetParticleMass() const {return fMass;} // returns mass of the Track
Int_t GetParticlePdgCode() const {return fPdgC;} // returns Pdg code
// Setters
- void FillMomentumArray(Int_t event);
- void OpenInputFiles();
+ Bool_t FillMomentumArray(Int_t event);
+ void OpenInputFiles();
// Fast Simulation
Float_t SmearMomentum(Int_t ind, Float_t p);
Bool_t Efficiency(Float_t pt, Float_t eta, Float_t phi);
-
+ // Others
+ virtual Bool_t GetGenJets(AliJet* /*genJets*/);
+ virtual AliHeader* GetAliHeader() {return fAliHeader;}
+
protected:
AliJetKineReader(const AliJetKineReader& rJetKine);
AliJetKineReader& operator = (const AliJetKineReader& rkr);
- AliRunLoader *fRunLoader; // Pointer to the run loader
+ AliRunLoader *fRunLoader; //! Pointer to the run loader
+ AliHeader *fAliHeader; //! Header
- Float_t fMass; // Particle mass
- Int_t fPdgC; // Pdg code
+ Float_t fMass; //!Particle mass
+ Int_t fPdgC; //!Pdg code
ClassDef(AliJetKineReader,1)
};
//____________________________________________________________________________
-void AliJetMCReader::FillMomentumArray(Int_t event)
+Bool_t AliJetMCReader::FillMomentumArray(Int_t event)
{
// Fill momentum array
TClonesArray &arrayMC = *fArrayMC;
goodTrack++;
}
printf("\nNumber of good tracks %d \n", goodTrack);
+ return kTRUE;
}
public:
AliJetMCReader();
virtual ~AliJetMCReader();
- void FillMomentumArray(Int_t event);
+ Bool_t FillMomentumArray(Int_t event);
protected:
Float_t fPdgC; // Pdg code
AliJetReaderHeader("AliJetMCReaderHeader")
{
// Constructor
- SetPtCut();
+ fDCA = 3.;
}
//____________________________________________________________________________
public:
AliJetMCReaderHeader();
virtual ~AliJetMCReaderHeader();
-
- // Getters
- Double_t GetPtCut() const {return fPtCut;}
- Float_t GetDCA() const {return fDCA;} // not working so far..(always 0)
-
- // Setters
- virtual void SetPtCut(Double_t par=2.0) {fPtCut = par;}
- virtual void SetDCA(Float_t dca = 3.0) {fDCA = dca;} // this is for the track!!! (recommended by P.H.)
-
protected:
- //parameters set by user
- Double_t fPtCut;
- Float_t fDCA;
-
-
ClassDef(AliJetMCReaderHeader,1);
};