CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/DataFormats/HeavyIonEvent/interface/Centrality.h

Go to the documentation of this file.
00001 //
00002 // $Id: Centrality.h,v 1.12 2010/08/23 16:42:01 nart Exp $
00003 //
00004 
00005 #ifndef DataFormats_Centrality_h
00006 #define DataFormats_Centrality_h
00007 
00008 #include <string>
00009 #include <vector>
00010 
00011 namespace reco { class Centrality {
00012 public:
00013   Centrality(double d=0, std::string label = "");
00014   virtual ~Centrality();
00015 
00016   friend class CentralityProducer;
00017 
00018   double    raw()               const { return value_; }
00019   std::string label()           const { return label_; }
00020 
00021   double EtHFhitSum() const {return etHFhitSumPlus_ + etHFhitSumMinus_;}
00022   double EtHFhitSumPlus() const {return etHFhitSumPlus_;}
00023   double EtHFhitSumMinus() const {return etHFhitSumMinus_;}
00024   double EtHFtowerSum() const {return etHFtowerSumPlus_ + etHFtowerSumMinus_;}
00025   double EtHFtowerSumPlus() const {return etHFtowerSumPlus_;}
00026   double EtHFtowerSumMinus() const {return etHFtowerSumMinus_;}
00027   double EtHFtruncated() const {return etHFtruncatedPlus_ + etHFtruncatedMinus_;}
00028   double EtHFtruncatedPlus() const {return etHFtruncatedPlus_;}
00029   double EtHFtruncatedMinus() const {return etHFtruncatedMinus_;}
00030   double EtEESum() const {return etEESumPlus_ + etEESumMinus_;}
00031   double EtEESumPlus() const {return etEESumPlus_;}
00032   double EtEESumMinus() const {return etEESumMinus_;}
00033   double EtEEtruncated() const {return etEEtruncatedPlus_ + etEEtruncatedMinus_;}
00034   double EtEEtruncatedPlus() const {return etEEtruncatedPlus_;}
00035   double EtEEtruncatedMinus() const {return etEEtruncatedMinus_;}
00036   double EtEBSum() const {return etEBSum_;}
00037   double EtEBtruncated() const {return etEBtruncated_;}
00038   double EtEcalSum() const {return etEBSum_ + EtEESum();}
00039   double EtEcaltruncated() const {return etEBtruncated_ + EtEEtruncated();}
00040   double multiplicityPixel() const {return pixelMultiplicity_;}
00041   double Ntracks() const {return trackMultiplicity_;}
00042   double NtracksPtCut() const {return ntracksPtCut_;}
00043   double NtracksEtaCut() const {return ntracksEtaCut_;}
00044   double NtracksEtaPtCut() const {return ntracksEtaPtCut_;}
00045   double NpixelTracks() const {return nPixelTracks_;}
00046 
00047   double zdcSum() const {return zdcSumPlus_ + zdcSumMinus_;}
00048   double zdcSumPlus() const {return zdcSumPlus_;}
00049   double zdcSumMinus() const {return zdcSumMinus_;}
00050   double EtMidRapiditySum() const {return etMidRapiditySum_;}
00051 
00052 protected:
00053   double value_;
00054   std::string label_;
00055 
00056   double etHFhitSumPlus_;
00057   double etHFtowerSumPlus_;
00058   double etHFtruncatedPlus_;
00059 
00060   double etHFhitSumMinus_;
00061   double etHFtowerSumMinus_;
00062   double etHFtruncatedMinus_;
00063 
00064   double etEESumPlus_;
00065   double etEEtruncatedPlus_;
00066   double etEESumMinus_;
00067   double etEEtruncatedMinus_;
00068   double etEBSum_;
00069   double etEBtruncated_;
00070 
00071   double pixelMultiplicity_;
00072   double trackMultiplicity_;
00073   double zdcSumPlus_;
00074   double zdcSumMinus_;
00075   double etMidRapiditySum_;
00076   double ntracksPtCut_;
00077   double ntracksEtaCut_;
00078   double ntracksEtaPtCut_;
00079   double nPixelTracks_;
00080 
00081 };
00082 
00083  typedef std::vector<reco::Centrality> CentralityCollection;
00084 
00085 }
00086 
00087 #include "DataFormats/HeavyIonEvent/interface/CentralityBins.h"
00088 #include "FWCore/Framework/interface/EventSetup.h"
00089 const CentralityBins* getCentralityBinsFromDB(const edm::EventSetup& iSetup);
00090 
00091 
00092 
00093 #endif 
00094 
00095