CMS 3D CMS Logo

Public Member Functions | Private Attributes

CosmicGenFilterLowE Class Reference

#include <CosmicGenFilterLowE.h>

Inheritance diagram for CosmicGenFilterLowE:
edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

Public Member Functions

 CosmicGenFilterLowE (const edm::ParameterSet &conf)
bool filter (edm::Event &iEvent, edm::EventSetup const &c)
virtual ~CosmicGenFilterLowE ()

Private Attributes

TRandom2 RanGen2

Detailed Description

Definition at line 16 of file CosmicGenFilterLowE.h.


Constructor & Destructor Documentation

CosmicGenFilterLowE::CosmicGenFilterLowE ( const edm::ParameterSet conf) [explicit]

Definition at line 15 of file CosmicGenFilterLowE.cc.

{
}
virtual CosmicGenFilterLowE::~CosmicGenFilterLowE ( ) [inline, virtual]

Definition at line 19 of file CosmicGenFilterLowE.h.

{}

Member Function Documentation

bool CosmicGenFilterLowE::filter ( edm::Event iEvent,
edm::EventSetup const &  c 
) [virtual]

Implements edm::EDFilter.

Definition at line 19 of file CosmicGenFilterLowE.cc.

References edm::Event::getByLabel(), i, and funct::pow().

{
  
  
  edm::Handle<edm::HepMCProduct>HepMCEvt;
  iEvent.getByLabel("generator","",HepMCEvt);
  const HepMC::GenEvent* MCEvt = HepMCEvt->GetEvent();
  
  double Ene = 0;
  
  for(HepMC::GenEvent::particle_const_iterator i=MCEvt->particles_begin(); i != MCEvt->particles_end();++i)
    {
      Ene = (*i)->momentum().e();
    }
  
  float r1;
  double prob;
  prob = RanGen2.Rndm();
  r1 = float(prob);
  float fpmax = 2372.;
  float fp;
  double ten = 10.0;
  float fp3gev = 650.;  //...needed for the renormalization;
  
  
  if (Ene < 3) {
      
    fp =  90.*(1.48*((pow(Ene,-1.5))* pow(ten,(1.189+0.9604*log10(Ene)-1.114*log10(Ene)*log10(Ene) +0.1775*log10(Ene)*log10(Ene)*log10(Ene)))));
    if (r1 < (fp/fpmax))  return true;
    else return false;
  }
  else {
    if ( r1 < (fp3gev/fpmax))  {
      return true;         
    }
    else return false;
  }
}

Member Data Documentation

TRandom2 CosmicGenFilterLowE::RanGen2 [private]

Definition at line 24 of file CosmicGenFilterLowE.h.