2) propagate the title of the generator (which can be set in the config) to the GenEventHeader, so that it can be read at the analysis level.
Francesco Prino
fEtaMaxGamma(20.),
fPhiMinGamma(0.),
fPhiMaxGamma(2. * TMath::Pi()),
+ fUseYCutHQ(kFALSE),
+ fYMinHQ(-20.),
+ fYMaxHQ(20.),
fPycellEtaMax(2.),
fPycellNEta(274),
fPycellNPhi(432),
fEtaMaxGamma(20.),
fPhiMinGamma(0.),
fPhiMaxGamma(2. * TMath::Pi()),
+ fUseYCutHQ(kFALSE),
+ fYMinHQ(-20.),
+ fYMaxHQ(20.),
fPycellEtaMax(2.),
fPycellNEta(274),
fPycellNPhi(432),
if(pdg>0) { theQ=kTRUE; } else { theQbar=kTRUE; }
y = 0.5*TMath::Log((partCheck->Energy()+partCheck->Pz()+1.e-13)/
(partCheck->Energy()-partCheck->Pz()+1.e-13));
- if(y>fYMin && y<fYMax) inYcut=kTRUE;
+ if(fUseYCutHQ && y>fYMinHQ && y<fYMaxHQ) inYcut=kTRUE;
+ if(!fUseYCutHQ && y>fYMin && y<fYMax) inYcut=kTRUE;
}
if(fTriggerParticle) {
if(TMath::Abs(pdg)==fTriggerParticle) triggered=kTRUE;
// Builds the event header, to be called after each event
if (fHeader) delete fHeader;
fHeader = new AliGenPythiaEventHeader("Pythia");
+ fHeader->SetTitle(GetTitle());
//
// Event type
if(fProcDiff>0){
// Phi range for gamma trigger
virtual void SetGammaPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
{fPhiMinGamma = TMath::Pi()*phimin/180.; fPhiMaxGamma = TMath::Pi()*phimax/180.;}
+ // Y range for heavy quark trigger
+ virtual void SetHeavyQuarkYRange(Float_t ymin=-20., Float_t ymax=20.){
+ fYMinHQ = ymin; fYMaxHQ=ymax; fUseYCutHQ=kTRUE;
+ }
// Select events with fragmentation photon, decay photon, pi0 or eta going to PHOS or EMCAL and central barrel
virtual Bool_t TriggerOnSelectedParticles(Int_t np);
Float_t fEtaMaxGamma; // Maximum eta of triggered gamma
Float_t fPhiMinGamma; // Minimum phi of triggered gamma
Float_t fPhiMaxGamma; // Maximum phi of triggered gamma
+ Bool_t fUseYCutHQ; // siwtch for using y cut for heavy quarks
+ Float_t fYMinHQ; // Minimum y of triggered heavy quarks
+ Float_t fYMaxHQ; // Maximum y of triggered heavy quarks
Float_t fPycellEtaMax; // Max. eta for Pycell
Int_t fPycellNEta; // Number of eta bins for Pycell
Int_t fPycellNPhi; // Number of phi bins for Pycell
Bool_t GetWeightsDiffraction(Double_t M, Double_t &Mmin, Double_t &Mmax,
Double_t &wSD, Double_t &wDD, Double_t &wND);
- ClassDef(AliGenPythia, 14) // AliGenerator interface to Pythia
+ ClassDef(AliGenPythia, 15) // AliGenerator interface to Pythia
};
#endif
fEtaMaxGamma(20.),
fPhiMinGamma(0.),
fPhiMaxGamma(2. * TMath::Pi()),
+ fUseYCutHQ(kFALSE),
+ fYMinHQ(-20.),
+ fYMaxHQ(20.),
fPycellEtaMax(2.),
fPycellNEta(274),
fPycellNPhi(432),
fEtaMaxGamma(20.),
fPhiMinGamma(0.),
fPhiMaxGamma(2. * TMath::Pi()),
+ fUseYCutHQ(kFALSE),
+ fYMinHQ(-20.),
+ fYMaxHQ(20.),
fPycellEtaMax(2.),
fPycellNEta(274),
fPycellNPhi(432),
if(pdg>0) { theQ=kTRUE; } else { theQbar=kTRUE; }
y = 0.5*TMath::Log((partCheck->Energy()+partCheck->Pz()+1.e-13)/
(partCheck->Energy()-partCheck->Pz()+1.e-13));
- if(y>fYMin && y<fYMax) inYcut=kTRUE;
+ if(fUseYCutHQ && y>fYMinHQ && y<fYMaxHQ) inYcut=kTRUE;
+ if(!fUseYCutHQ && y>fYMin && y<fYMax) inYcut=kTRUE;
}
if(fCutOnChild && TMath::Abs(pdg) == fPdgCodeParticleforAcceptanceCut) {
// Builds the event header, to be called after each event
if (fHeader) delete fHeader;
fHeader = new AliGenPythiaEventHeader("Pythia");
+ fHeader->SetTitle(GetTitle());
+
//
// Event type
((AliGenPythiaEventHeader*) fHeader)->SetProcessType(fPythia->ProcessCode());
{etamin = fEtaMinGamma; etamax = fEtaMaxGamma;}
virtual void GetGammaPhiRange(Float_t& phimin, Float_t& phimax) const
{phimin = fPhiMinGamma*180./TMath::Pi(); phimax = fPhiMaxGamma*180./TMath::Pi();}
+ // Y range for heavy quark trigger
+ virtual void SetHeavyQuarkYRange(Float_t ymin=-20., Float_t ymax=20.){
+ fYMinHQ = ymin; fYMaxHQ=ymax; fUseYCutHQ=kTRUE;
+ }
+
//
Bool_t IsInEMCAL(Float_t phi, Float_t eta) const;
Bool_t IsInPHOS(Float_t phi, Float_t eta) const;
Float_t fEtaMaxGamma; // Maximum eta of triggered gamma
Float_t fPhiMinGamma; // Minimum phi of triggered gamma
Float_t fPhiMaxGamma; // Maximum phi of triggered gamma
+ Bool_t fUseYCutHQ; // siwtch for using y cut for heavy quarks
+ Float_t fYMinHQ; // Minimum y of triggered heavy quarks
+ Float_t fYMaxHQ; // Maximum y of triggered heavy quarks
Float_t fPycellEtaMax; // Max. eta for Pycell
Int_t fPycellNEta; // Number of eta bins for Pycell
Int_t fPycellNPhi; // Number of phi bins for Pycell
AliGenPythiaPlus(const AliGenPythiaPlus &Pythia);
AliGenPythiaPlus & operator=(const AliGenPythiaPlus & rhs);
- ClassDef(AliGenPythiaPlus, 2) // AliGenerator interface to Pythia
+ ClassDef(AliGenPythiaPlus, 3) // AliGenerator interface to Pythia
};
#endif