fDeltaPt(0.01),
fSelectAll(kFALSE),
fDecayer(0),
- fForceConv(kFALSE)
+ fForceConv(kFALSE),
+ fKeepParent(kFALSE),
+ fKeepIfOneChildSelected(kFALSE)
{
// Default constructor
}
fDeltaPt(0.01),
fSelectAll(kFALSE),
fDecayer(0),
- fForceConv(kFALSE)
+ fForceConv(kFALSE),
+ fKeepParent(kFALSE),
+ fKeepIfOneChildSelected(kFALSE)
{
// Constructor using number of particles parameterisation id and library
fName = "Param";
fDeltaPt(0.01),
fSelectAll(kFALSE),
fDecayer(0),
- fForceConv(kFALSE)
+ fForceConv(kFALSE),
+ fKeepParent(kFALSE),
+ fKeepIfOneChildSelected(kFALSE)
{
// Constructor using parameterisation id and number of particles
//
fDeltaPt(0.01),
fSelectAll(kFALSE),
fDecayer(0),
- fForceConv(kFALSE)
+ fForceConv(kFALSE),
+ fKeepParent(kFALSE),
+ fKeepIfOneChildSelected(kFALSE)
{
// Constructor
// Gines Martinez 1/10/99
int solvDim=0;
double tmp=abc[0];
for(int i=0; i<3; i++)
- if(abs(abc[i])>tmp){
+ if(fabs(abc[i])>tmp){
solvDim=i;
- tmp=abs(abc[i]);
+ tmp=fabs(abc[i]);
}
xyz[solvDim]=(-abc[(1+solvDim)%3]-abc[(2+solvDim)%3])/abc[(0+solvDim)%3];
{
// Initialisation
- if (gMC) fDecayer = gMC->GetDecayer();
+ if (TVirtualMC::GetMC()) fDecayer = TVirtualMC::GetMC()->GetDecayer();
//Begin_Html
/*
<img src="picts/AliGenParam.gif">
pSelected[i] = 1;
ncsel++;
} else {
- ncsel=-1;
- break;
+ if(!fKeepIfOneChildSelected){
+ ncsel=-1;
+ break;
+ }
} // child kine cuts
} else {
pSelected[i] = 1;
} // if decay products
Int_t iparent;
- if ((fCutOnChild && ncsel >0) || !fCutOnChild){
- ipa++;
+
+ if (fKeepParent || (fCutOnChild && ncsel >0) || !fCutOnChild){
//
// Parent
KeepTrack(nt);
fNprimaries++;
+ //but count is as "generated" particle" only if it produced child(s) within cut
+ if ((fCutOnChild && ncsel >0) || !fCutOnChild){
+ ipa++;
+ }
+
//
// Decay Products
//