+ //printf(">> trials << %d\n",fTrials);
+}
+
+Bool_t AliGenHerwig::CheckParton(TParticle* parton1, TParticle* parton2)
+{
+// Check the kinematic trigger condition
+//
+//Select events with parton max energy
+ if(fPtHardMax < parton1->Pt()) return kFALSE;
+
+// Select events within angular window
+ Double_t eta[2];
+ eta[0] = parton1->Eta();
+ eta[1] = parton2->Eta();
+ Double_t phi[2];
+ phi[0] = parton1->Phi();
+ phi[1] = parton2->Phi();
+ Int_t pdg[2];
+ pdg[0] = parton1->GetPdgCode();
+ pdg[1] = parton2->GetPdgCode();
+ printf("min %f, max %f\n",fPtHardMin, fPtHardMax);
+ printf("Parton 1: %s, pT= %2.2f, eta = %1.2f, phi = %2.2f\n", parton1->GetName(),parton1->Pt(), eta[0],phi[0]*TMath::RadToDeg());
+ printf("Parton 2: %s, pT= %2.2f, eta = %1.2f, phi = %2.2f\n", parton2->GetName(),parton2->Pt(), eta[1],phi[1]*TMath::RadToDeg());
+
+ if (fProcess == kHeJets) {
+ //Check if one of the 2 outgoing partons are in the eta-phi window
+ for(Int_t i = 0; i < 2; i++)
+ if ((eta[i] < fEtaMaxParton && eta[i] > fEtaMinParton) &&
+ (phi[i] < fPhiMaxParton && phi[i] > fPhiMinParton)) return kTRUE ;
+ }
+
+ else {
+ //Check if the gamma and the jet are in the eta-phi window
+ Int_t igj = 0;
+ Int_t ijj = 0;
+ if(pdg[0] == 22) ijj=1;
+ else igj=1;
+ if ((eta[ijj] < fEtaMaxParton && eta[ijj] > fEtaMinParton) &&
+ (phi[ijj] < fPhiMaxParton && phi[ijj] > fPhiMinParton)) {
+
+ if ((eta[igj] < fEtaMaxGamma && eta[igj] > fEtaMinGamma) &&
+ (phi[igj] < fPhiMaxGamma && phi[igj] > fPhiMinGamma)) return kTRUE;
+
+ }
+ }
+
+ return kFALSE ;