--- PamCut/CollectionActions/Histo2DActions/MassVsRigHistoAction/MassVsRigHistoAction.cpp 2010/04/05 11:07:16 1.1.1.1 +++ PamCut/CollectionActions/Histo2DActions/MassVsRigHistoAction/MassVsRigHistoAction.cpp 2010/04/20 10:26:25 1.4 @@ -8,17 +8,20 @@ /*! @file MassVsRigHistoAction.cpp The MassVsRigHistoAction class implementation file. */ #include "MassVsRigHistoAction.h" +#include "TMath.h" MassVsRigHistoAction::MassVsRigHistoAction(const char *actionName, TString outFileBase, TString mode, bool outRoot, bool outText, TString title, Int_t Z, TString rigBinFile) : - Histo2DAction (actionName, title, outFileBase, mode, outRoot, outText), _Z(Z), _rigBinFile(RigBinFile){ + Histo2DAction (actionName, title, outFileBase, mode, outRoot, outText), _Z(Z), _rigBinFile(rigBinFile){ } void MassVsRigHistoAction::OnGood(PamLevel2 *event) { Float_t betaev = event->GetTrack(0)->GetToFTrack()->beta[12]; Float_t rigev = 1./event->GetTrack(0)->GetTrkTrack()->GetDeflection(); - Float_t Mass = _Z*rigev*sqrt(pow(betaev,-2)-1); + Float_t Mass = 0; + if(TMath::Abs(betaev) <= 1.) Mass = _Z*rigev*sqrt(pow(betaev,-2)-1); + else Mass = -_Z*rigev*sqrt(1-pow(betaev,-2)); Fill(rigev, Mass); }