1591 |
|
} |
1592 |
|
else value = 24 - getPdgIdBinValue(mcparticles->at(index).grandMotherId); |
1593 |
|
} |
1594 |
+ |
else if(variable == "pfMuonsFromVertex"){ |
1595 |
+ |
double d0Error, dzError; |
1596 |
+ |
|
1597 |
+ |
d0Error = hypot (object->tkD0err, hypot (chosenVertex ()->xError, chosenVertex ()->yError)); |
1598 |
+ |
dzError = hypot (object->tkDZerr, chosenVertex ()->zError); |
1599 |
+ |
value = fabs (object->correctedD0Vertex) > 0.2 || fabs (object->correctedDZ) > 0.5 |
1600 |
+ |
|| fabs (object->correctedD0Vertex / d0Error) > 99.0 |
1601 |
+ |
|| fabs (object->correctedDZ / dzError) > 99.0; |
1602 |
+ |
value = (object->isStandAloneMuon && !object->isTrackerMuon && !object->isGlobalMuon) || !value; |
1603 |
+ |
} |
1604 |
|
|
1605 |
|
|
1606 |
|
|
1991 |
|
} |
1992 |
|
else value = 24 - getPdgIdBinValue(mcparticles->at(index).grandMotherId); |
1993 |
|
} |
1994 |
+ |
else if(variable == "pfElectronsFromVertex"){ |
1995 |
+ |
double d0Error, dzError; |
1996 |
+ |
|
1997 |
+ |
d0Error = hypot (object->tkD0err, hypot (chosenVertex ()->xError, chosenVertex ()->yError)); |
1998 |
+ |
dzError = hypot (object->tkDZerr, chosenVertex ()->zError); |
1999 |
+ |
value = fabs (object->correctedD0Vertex) > 0.2 || fabs (object->correctedDZ) > 0.5 |
2000 |
+ |
|| fabs (object->correctedD0Vertex / d0Error) > 99.0 |
2001 |
+ |
|| fabs (object->correctedDZ / dzError) > 99.0; |
2002 |
+ |
value = !value; |
2003 |
+ |
} |
2004 |
|
|
2005 |
|
|
2006 |
|
|
3100 |
|
TLorentzVector fourVector2(0, 0, 0, 0); |
3101 |
|
if(variable == "deltaPhi") value = fabs(deltaPhi(object1->phi,object2->phi)); |
3102 |
|
else if(variable == "deltaEta") value = fabs(object1->eta - object2->eta); |
3103 |
< |
else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi); |
3104 |
< |
else if(variable == "invMass"){ |
3105 |
< |
fourVector1.SetPtEtaPhiM(object1->pt, object1->eta, object1->phi, electronMass); |
3106 |
< |
fourVector2.SetPtEtaPhiM(object2->pt, object2->eta, object2->phi, electronMass ); |
3107 |
< |
|
3108 |
< |
value = (fourVector1 + fourVector2).M(); |
3103 |
> |
else if(variable == "deltaR") value = deltaR(object1->eta,object1->phi,object2->eta,object2->phi); |
3104 |
> |
else if(variable == "invMass"){ |
3105 |
> |
fourVector1.SetPtEtaPhiM(object1->pt, object1->eta, object1->phi, electronMass); |
3106 |
> |
fourVector2.SetPtEtaPhiM(object2->pt, object2->eta, object2->phi, electronMass ); |
3107 |
> |
|
3108 |
> |
value = (fourVector1 + fourVector2).M(); |
3109 |
|
} |
3110 |
|
else if(variable == "chargeProduct"){ |
3111 |
|
value = object1->charge*object2->charge; |
3112 |
|
} |
3113 |
< |
else{std::cout << "WARNING: invalid variable '" << variable << "'\n"; value = -999;} |
3114 |
< |
value = applyFunction(function, value); |
3115 |
< |
return value; |
3113 |
> |
else{std::cout << "WARNING: invalid variable '" << variable << "'\n"; value = -999;} |
3114 |
> |
value = applyFunction(function, value); |
3115 |
> |
return value; |
3116 |
|
|
3117 |
|
} |
3118 |
|
|