CMS 3D CMS Logo

Public Member Functions | Private Attributes

Rivet::CMS_2010_S8656010 Class Reference

List of all members.

Public Member Functions

void analyze (const Event &event)
 CMS_2010_S8656010 ()
void finalize ()
void init ()

Private Attributes

AIDA::IHistogram1D * _h_dNch_dEta
AIDA::IHistogram1D * _h_dNch_dpT [12]
AIDA::IHistogram1D * _h_dNch_dpT_all
double _Nevt_after_cuts

Detailed Description

Definition at line 10 of file CMS_2010_S8656010.cc.


Constructor & Destructor Documentation

Rivet::CMS_2010_S8656010::CMS_2010_S8656010 ( ) [inline]

Definition at line 13 of file CMS_2010_S8656010.cc.

                        : Analysis("CMS_2010_S8656010") {
       setBeams(PROTON, PROTON);
       setNeedsCrossSection(false);
    }

Member Function Documentation

void Rivet::CMS_2010_S8656010::analyze ( const Event event) [inline]

Definition at line 50 of file CMS_2010_S8656010.cc.

References _h_dNch_dEta, _h_dNch_dpT, _h_dNch_dpT_all, _Nevt_after_cuts, eta(), event(), AlCaHLTBitMon_ParallelJobs::p, and CommonMethods::weight().

                                     {

      if (!fuzzyEquals(sqrtS(), 7000*GeV, 1E-3) ) {
        return;
      }

      const double weight = event.weight();

      //charge particles
      const ChargedFinalState& charged = applyProjection<ChargedFinalState>(event, "CFS");
      
      _Nevt_after_cuts += weight;
 
      foreach (const Particle& p, charged.particles()) {
        const double pT = p.momentum().pT();            
        const double eta = p.momentum().eta();
        
        // The data is actually a duplicated folded distribution.  This should mimic it.
        _h_dNch_dEta->fill(eta, 0.5*weight);
        _h_dNch_dEta->fill(-eta, 0.5*weight);
        if (fabs(eta)<2.4 && pT>0.1) {
          if (pT<6.0) {
            _h_dNch_dpT_all->fill(pT, weight/pT);
            if (pT<2.0) {
              int ietabin = fabs(eta)/0.2;
              _h_dNch_dpT[ietabin]->fill(pT, weight);
            }
          }
        }
      }
      return;
    }
void Rivet::CMS_2010_S8656010::finalize ( void  ) [inline]

Definition at line 84 of file CMS_2010_S8656010.cc.

References _h_dNch_dEta, _h_dNch_dpT, _h_dNch_dpT_all, _Nevt_after_cuts, and pileupReCalc_HLTpaths::scale.

                    {

      if (!fuzzyEquals(sqrtS(), 7000*GeV, 1E-3) ) {
        return;
      }

      const double normfac = 1.0/_Nevt_after_cuts; // Normalizing to unit eta is automatic
      // The pT distributions in bins of eta must be normalized to unit eta.  This is a factor of 2
      // for the |eta| times 0.2 (eta range).
      // The pT distributions over all eta are normalized to unit eta (2.0*2.4) and by 1/2*pi*pT. 
      // The 1/pT part is taken care of in the filling.  The 1/2pi is taken care of here.
      const double normpT = normfac/(2.0*0.2);
      const double normpTall = normfac/(2.0*3.141592654*2.0*2.4);

      for (int ietabin=0; ietabin < 12; ietabin++){
        scale(_h_dNch_dpT[ietabin], normpT);
      }
      scale(_h_dNch_dpT_all, normpTall);
      scale(_h_dNch_dEta, normfac);
      return;
    }
void Rivet::CMS_2010_S8656010::init ( void  ) [inline]

Definition at line 19 of file CMS_2010_S8656010.cc.

References _h_dNch_dEta, _h_dNch_dpT, _h_dNch_dpT_all, and _Nevt_after_cuts.

                {
      ChargedFinalState cfs(-2.5, 2.5, 0.0*GeV);
      addProjection(cfs, "CFS");
      addProjection(Beam(), "Beam");

      _Nevt_after_cuts = 0;
      
      if(fuzzyEquals(sqrtS(), 7000*GeV, 1E-3)){
        _h_dNch_dpT[0] = bookHistogram1D(1, 1, 1);
        _h_dNch_dpT[1] = bookHistogram1D(1, 1, 2);
        _h_dNch_dpT[2] = bookHistogram1D(1, 1, 3);
        _h_dNch_dpT[3] = bookHistogram1D(1, 1, 4);

        _h_dNch_dpT[4] = bookHistogram1D(2, 1, 1);
        _h_dNch_dpT[5] = bookHistogram1D(2, 1, 2);
        _h_dNch_dpT[6] = bookHistogram1D(2, 1, 3);
        _h_dNch_dpT[7] = bookHistogram1D(2, 1, 4);

        _h_dNch_dpT[8] = bookHistogram1D(3, 1, 1);
        _h_dNch_dpT[9] = bookHistogram1D(3, 1, 2);
        _h_dNch_dpT[10] = bookHistogram1D(3, 1, 3);
        _h_dNch_dpT[11] = bookHistogram1D(3, 1, 4);

        _h_dNch_dpT_all = bookHistogram1D(4, 1, 1);

        _h_dNch_dEta = bookHistogram1D(5, 1, 1);
      }
      return;
    }

Member Data Documentation

AIDA::IHistogram1D* Rivet::CMS_2010_S8656010::_h_dNch_dEta [private]

Definition at line 112 of file CMS_2010_S8656010.cc.

Referenced by analyze(), finalize(), and init().

AIDA::IHistogram1D* Rivet::CMS_2010_S8656010::_h_dNch_dpT[12] [private]

Definition at line 109 of file CMS_2010_S8656010.cc.

Referenced by analyze(), finalize(), and init().

AIDA::IHistogram1D* Rivet::CMS_2010_S8656010::_h_dNch_dpT_all [private]

Definition at line 110 of file CMS_2010_S8656010.cc.

Referenced by analyze(), finalize(), and init().

Definition at line 114 of file CMS_2010_S8656010.cc.

Referenced by analyze(), finalize(), and init().