CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Types | Protected Member Functions | Private Attributes
EEClusterTaskExtras Class Reference

#include <EEClusterTaskExtras.h>

Inheritance diagram for EEClusterTaskExtras:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 EEClusterTaskExtras (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~EEClusterTaskExtras ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Types

enum  L1Triggers {
  CSC_TRIGGER = 0, DT_TRIGGER = 1, ECAL_TRIGGER = 2, HCAL_TRIGGER = 3,
  RPC_TRIGGER = 4
}
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob (void)
 BeginJob. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun. More...
 
void cleanup (void)
 Cleanup. More...
 
std::vector< bool > determineTriggers (const edm::Event &, const edm::EventSetup &eventSetup)
 
bool doMonitorElement (std::string meName)
 
void endJob (void)
 EndJob. More...
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun. More...
 
bool isExclusiveTrigger (int l1Trigger, std::vector< bool > &l1Triggers)
 
void reset (void)
 Reset. More...
 
void setup (void)
 Setup. More...
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Attributes

DQMStoredqmStore_
 
edm::InputTag EcalRecHitCollection_
 
bool enableCleanup_
 
int ievt_
 
bool init_
 
edm::InputTag l1GMTReadoutRecTag_
 
edm::InputTag l1GTReadoutRecTag_
 
std::vector< std::string > meList_
 
bool mergeRuns_
 
MonitorElementmeSCSeedMapOcc_ [2]
 
MonitorElementmeSCSeedMapOccHighEneSC_ [2]
 
MonitorElementmeSCSeedMapOccTrgExclSC_ [2][5]
 
MonitorElementmeSCSeedMapOccTrgSC_ [2][5]
 
MonitorElementmeSCSeedMapTimeTrgSC_ [2][5]
 
MonitorElementmeSCSizCrystalVsEne_
 
std::string prefixME_
 
edm::InputTag SuperClusterCollection_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 22 of file EEClusterTaskExtras.h.

Member Enumeration Documentation

Enumerator
CSC_TRIGGER 
DT_TRIGGER 
ECAL_TRIGGER 
HCAL_TRIGGER 
RPC_TRIGGER 

Definition at line 63 of file EEClusterTaskExtras.h.

Constructor & Destructor Documentation

EEClusterTaskExtras::EEClusterTaskExtras ( const edm::ParameterSet ps)

Constructor.

Definition at line 55 of file EEClusterTaskExtras.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, j, and cppFunctionSkipper::operator.

55  {
56 
57  init_ = false;
58 
60 
61  prefixME_ = ps.getUntrackedParameter<string>("prefixME", "");
62 
63  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
64 
65  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
66 
67  // parameters...
68  SuperClusterCollection_ = ps.getParameter<edm::InputTag>("SuperClusterCollection");
69  EcalRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalRecHitCollection");
70  l1GTReadoutRecTag_ = ps.getParameter<edm::InputTag>("l1GlobalReadoutRecord");
71  l1GMTReadoutRecTag_ = ps.getParameter<edm::InputTag>("l1GlobalMuonReadoutRecord");
72 
73  // histograms...
74 #ifndef EECLUSTERTASKEXTRAS_DQMOFFLINE
75  meSCSizCrystal_ = 0;
76  meSCSizBC_ = 0;
77 
78  meSCSeedEne_ = 0;
79  meSCEne2_ = 0;
80  meSCEneLow_ = 0;
81  meSCEneHigh_ = 0;
82  meSCEneSingleCrystal_ = 0;
83 
84  for(int i=0;i!=2;++) {
85  meSCSeedMapOccSingleCrystal_[i] = 0;
86  meSCSeedMapOccSC_[i] = 0;
87  meSCSeedMapOccHighEne_[i] = 0;
88  meSCSeedMapTimeSC_[i] = 0;
89  for(int j=0;j!=5;++j) {
90  meSCSeedMapOccTrg_[i][j] = 0;
91  meSCSeedMapOccTrgExcl_[i][j] = 0;
92  }
93  }
94 
95  meSCSeedTime_ = 0;
96  meSCSeedTimeVsAmp_ = 0;
97  meSCSeedTimeEEM_ = 0;
98  meSCSeedTimeEEP_ = 0;
99  for(int i=0;i!=18;++i)
100  meSCSeedTimePerFed_[i] = 0;
101 #endif
102 
104 
105  for(int i=0;i!=2;++i) {
106  meSCSeedMapOcc_[i] = 0;
108  for(int j=0;j!=5;++j) {
109  meSCSeedMapTimeTrgSC_[i][j] = 0;
110  meSCSeedMapOccTrgSC_[i][j] = 0;
112  }
113  }
114 
115 }
edm::InputTag l1GMTReadoutRecTag_
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
edm::InputTag EcalRecHitCollection_
MonitorElement * meSCSeedMapOccTrgExclSC_[2][5]
MonitorElement * meSCSeedMapOcc_[2]
edm::InputTag SuperClusterCollection_
int j
Definition: DBlmapReader.cc:9
MonitorElement * meSCSeedMapTimeTrgSC_[2][5]
MonitorElement * meSCSizCrystalVsEne_
MonitorElement * meSCSeedMapOccHighEneSC_[2]
MonitorElement * meSCSeedMapOccTrgSC_[2][5]
edm::InputTag l1GTReadoutRecTag_
EEClusterTaskExtras::~EEClusterTaskExtras ( )
virtual

Destructor.

Definition at line 117 of file EEClusterTaskExtras.cc.

117  {
118 
119 }

Member Function Documentation

void EEClusterTaskExtras::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Analyze.

Implements edm::EDAnalyzer.

Definition at line 675 of file EEClusterTaskExtras.cc.

References edm::SortedCollection< T, SORT >::begin(), DetId::Ecal, jptDQMConfig_cff::eMax, edm::SortedCollection< T, SORT >::end(), edm::SortedCollection< T, SORT >::find(), edm::EventSetup::get(), edm::Event::getByLabel(), EcalADCToGeVConstant::getEBValue(), i, ecalpyutils::ism(), Numbers::iSM(), edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), EEDetId::ix(), EEDetId::iy(), j, edm::Handle< T >::product(), edm::ESHandle< class >::product(), HcalObjRepresent::setup(), std::swap(), and hltHiggsPostProcessors_cff::triggers.

675  {
676 
677  using namespace std;
678 
679  if ( ! init_ ) this->setup();
680 
681  ievt_++;
682 
683  // --- Barrel Super Clusters ---
684 
685  Handle<SuperClusterCollection> pSuperClusters;
686 
687  if ( e.getByLabel(SuperClusterCollection_, pSuperClusters) ) {
688 
689  //int nscc = pSuperClusters->size();
690 
691  //TLorentzVector sc1_p(0,0,0,0);
692  //TLorentzVector sc2_p(0,0,0,0);
693 
694  for ( SuperClusterCollection::const_iterator sCluster = pSuperClusters->begin(); sCluster != pSuperClusters->end(); ++sCluster ) {
695 
696  // seed and shapes
698  e.getByLabel( EcalRecHitCollection_, pEERecHits );
699  if ( pEERecHits.isValid() ) {
700  const EcalRecHitCollection *eeRecHits = pEERecHits.product();
701 
702  // Find the seed rec hit
703  // <= CMSSW_3_0_X
704  //std::vector<DetId> sIds = sCluster->getHitsByDetId();
705  // >= CMSSW_3_1_X
706  std::vector< std::pair<DetId,float> > sIds = sCluster->hitsAndFractions();
707 
708  EcalRecHitCollection::const_iterator seedItr = eeRecHits->begin();
709  EcalRecHitCollection::const_iterator secondItr = eeRecHits->begin();
710 
711  // <= CMSSW_3_0_X
712  //for(std::vector<DetId>::const_iterator idItr = sIds.begin(); idItr != sIds.end(); ++idItr) {
713  //if(idItr->det() != DetId::Ecal) { continue; }
714  //EcalRecHitCollection::const_iterator hitItr = eeRecHits->find((*idItr));
715  // >= CMSSW_3_1_X
716  for(std::vector< std::pair<DetId,float> >::const_iterator idItr = sIds.begin(); idItr != sIds.end(); ++idItr) {
717  DetId id = idItr->first;
718  if(id.det() != DetId::Ecal) { continue; }
719  EcalRecHitCollection::const_iterator hitItr = eeRecHits->find(id);
720  if(hitItr == eeRecHits->end()) { continue; }
721  if(hitItr->energy() > secondItr->energy()) { secondItr = hitItr; }
722  if(hitItr->energy() > seedItr->energy()) { std::swap(seedItr,secondItr); }
723  }
724 
725  EEDetId seedId = (EEDetId) seedItr->id();
726 
727  // Prepare to fill maps
728  int ism = Numbers::iSM(seedId);
729  int eey = seedId.iy();
730  int eex = seedId.ix();
731  float xeey = eey - 0.5;
732  float xeex = eex - 0.5;
733 
734  int side = (ism >=1 && ism <= 9) ? 0 : 1;
735 
737  c.get<EcalADCToGeVConstantRcd>().get(pAgc);
738 
739  vector<bool> triggers = determineTriggers(e,c);
740 
741 #ifndef EECLUSTERTASKEXTRAS_DQMOFFLINE
742  float eMax, e2nd;
743  eMax = seedItr->energy();
744  e2nd = secondItr->energy();
745  // energy, size
746  if(meSCEneLow_) meSCEneLow_->Fill( sCluster->energy() );
747  if(meSCEneHigh_) meSCEneHigh_->Fill( sCluster->energy() );
748  if(meSCSizBC_) meSCSizBC_->Fill( float(sCluster->clustersSize()) );
749 
750  if(meSCSizCrystal_) meSCSizCrystal_->Fill(sIds.size());
751  if(meSCSeedEne_) meSCSeedEne_->Fill(eMax);
752  if(meSCEne2_) meSCEne2_->Fill(eMax+e2nd);
753  //if(meSCEneVsEMax_) meSCEneVsEMax_->Fill(eMax,sCluster->energy());
754 
755  if(meSCSeedMapOccSC_[side]) meSCSeedMapOccSC_[side]->Fill(xeex, xeey);
756 
757  if(sCluster->energy() > 2) {
758  if(meSCSeedMapOccHighEne_[side]) meSCSeedMapOccHighEne_[side]->Fill(xeex, xeey);
759  if(meSCSeedMapOccHighEneSC_[side]) meSCSeedMapOccHighEneSC_[side]->Fill(xeex, xeey);
760  }
761  if(sIds.size() == 1) {
762  if(meSCEneSingleCrystal_) meSCEneSingleCrystal_->Fill(sCluster->energy());
763  if(meSCSeedMapOccSingleCrystal_[side]) meSCSeedMapOccSingleCrystal_[side]->Fill(xeex, xeey);
764  }
765 
766  if(meSCSeedMapOcc_[side]) meSCSeedMapOcc_[side]->Fill(xeex, xeey);
767 
768  if(pAgc.isValid()) {
769  const EcalADCToGeVConstant* agc = pAgc.product();
770  if(seedItr->energy() / agc->getEBValue() > 12) {
771  if(meSCSeedTime_) meSCSeedTime_->Fill(seedItr->time());
772  if(meSCSeedTimeVsAmp_) meSCSeedTimeVsAmp_->Fill(seedItr->time(),sCluster->energy());
773  if(!side)
774  if(meSCSeedTimeEEM_) meSCSeedTimeEEM_->Fill(seedItr->time());
775  if(side)
776  if(meSCSeedTimeEEP_) meSCSeedTimeEEP_->Fill(seedItr->time());
777  if(meSCSeedTimePerFed_[ism-1]) meSCSeedTimePerFed_[ism-1]->Fill(seedItr->time());
778  if(meSCSeedMapTimeSC_[side]) meSCSeedMapTimeSC_[side]->Fill(xeex,xeey,seedItr->time());
779 
780  }
781  }
782  else {
783  LogWarning("EBClusterTaskExtras") << "EcalADCToGeVConstant not valid";
784  }
785  for(int i=0;i!=5;++i) {
786  if(triggers[i]) {
787  if(meSCSeedMapOccTrg_[side][i]) meSCSeedMapOccTrg_[side][i]->Fill(xeex, xeey);
788  bool isExclusive = true;
789  for(int j=0;j!=5;++j) {
790  if(j != i && triggers[j])
791  isExclusive = false;
792  }
793  if(isExclusive)
794  if(meSCSeedMapOccTrgExcl_[side][i]) meSCSeedMapOccTrgExcl_[side][i]->Fill(xeex, xeey);
795  }
796  }
797 #endif
798 
799  if(meSCSizCrystalVsEne_) meSCSizCrystalVsEne_->Fill(sCluster->energy(),sIds.size());
800 
801  for(int i=0;i!=5;++i) {
802  if(triggers[i]) {
803  if(meSCSeedMapOccTrgSC_[side][i]) meSCSeedMapOccTrgSC_[side][i]->Fill(xeex, xeey);
804 
805  if(pAgc.isValid()) {
806  const EcalADCToGeVConstant* agc = pAgc.product();
807  if(seedItr->energy() / agc->getEBValue() > 12) {
808  if(meSCSeedMapTimeTrgSC_[side][i]) meSCSeedMapTimeTrgSC_[side][i]->Fill(xeex, xeey, seedItr->time());
809  }
810  }
811  else {
812  LogWarning("EBClusterTaskExtras") << "EcalADCToGeVConstant not valid";
813  }
814 
815  bool isExclusive = true;
816  for(int j=0;j!=5;++j) {
817  if(j != i && triggers[j])
818  isExclusive = false;
819  }
820  if(isExclusive)
821  if(meSCSeedMapOccTrgExclSC_[side][i]) meSCSeedMapOccTrgExclSC_[side][i]->Fill(xeex, xeey);
822  }
823  }
824  }
825  else {
826  LogWarning("EEClusterTaskExtras") << pEERecHits << " not available";
827  }
828  }
829 
830  } else {
831 
832  LogWarning("EEClusterTaskExtras") << SuperClusterCollection_ << " not available";
833 
834  }
835 
836 }
int i
Definition: DBlmapReader.cc:9
int ix() const
Definition: EEDetId.h:77
edm::InputTag EcalRecHitCollection_
MonitorElement * meSCSeedMapOccTrgExclSC_[2][5]
std::vector< EcalRecHit >::const_iterator const_iterator
void Fill(long long x)
MonitorElement * meSCSeedMapOcc_[2]
edm::InputTag SuperClusterCollection_
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::vector< bool > determineTriggers(const edm::Event &, const edm::EventSetup &eventSetup)
int j
Definition: DBlmapReader.cc:9
int iy() const
Definition: EEDetId.h:83
void setup(void)
Setup.
MonitorElement * meSCSeedMapTimeTrgSC_[2][5]
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
const_iterator end() const
Definition: DetId.h:20
MonitorElement * meSCSizCrystalVsEne_
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
T const * product() const
Definition: Handle.h:74
iterator find(key_type k)
MonitorElement * meSCSeedMapOccHighEneSC_[2]
static unsigned iSM(const unsigned ism, const EcalSubdetector subdet)
Definition: Numbers.cc:246
bool isValid() const
Definition: ESHandle.h:37
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
const_iterator begin() const
MonitorElement * meSCSeedMapOccTrgSC_[2][5]
void EEClusterTaskExtras::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 121 of file EEClusterTaskExtras.cc.

121  {
122 
123  ievt_ = 0;
124 
125  if ( dqmStore_ ) {
126  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras");
127  dqmStore_->rmdir(prefixME_ + "/EEClusterTaskExtras");
128  }
129 
130 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2535
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
void EEClusterTaskExtras::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 132 of file EEClusterTaskExtras.cc.

References Numbers::initGeometry(), and reset().

132  {
133 
134  Numbers::initGeometry(c, false);
135 
136  if ( ! mergeRuns_ ) this->reset();
137 
138 }
void reset(void)
Reset.
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:50
void EEClusterTaskExtras::cleanup ( void  )
protected

Cleanup.

Definition at line 582 of file EEClusterTaskExtras.cc.

References i, and j.

582  {
583 
584  if ( ! init_ ) return;
585 
586  if ( dqmStore_ ) {
587  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras");
588 
589 #ifndef EECLUSTERTASKEXTRAS_DQMOFFLINE
590  if ( meSCSizCrystal_ ) dqmStore_->removeElement( meSCSizCrystal_->getName() );
591  meSCSizCrystal_ = 0;
592  if ( meSCSizBC_ ) dqmStore_->removeElement( meSCSizBC_->getName() );
593  meSCSizBC_ = 0;
594 
595  if ( meSCSeedEne_ ) dqmStore_->removeElement( meSCSeedEne_->getName() );
596  meSCSeedEne_ = 0;
597  if ( meSCEne2_ ) dqmStore_->removeElement( meSCEne2_->getName() );
598  meSCEne2_= 0;
599  if ( meSCEneLow_ ) dqmStore_->removeElement( meSCEneLow_->getName() );
600  meSCEneLow_ = 0;
601  if ( meSCEneHigh_ ) dqmStore_->removeElement( meSCEneHigh_->getName() );
602  meSCEneHigh_ = 0;
603  if ( meSCEneSingleCrystal_ ) dqmStore_->removeElement( meSCEneSingleCrystal_->getName() );
604  meSCEneSingleCrystal_ = 0;
605 
606  for(int i=0;i!=2;++i) {
607  if ( meSCSeedMapOccSC_[i] ) dqmStore_->removeElement( meSCSeedMapOccSC_[i]->getName() );
608  meSCSeedMapOccSC_[i] = 0;
609  if ( meSCSeedMapOccHighEne_[i] ) dqmStore_->removeElement( meSCSeedMapOccHighEne_[i]->getName() );
610  meSCSeedMapOccHighEne_[i] = 0;
611  if ( meSCSeedMapOccSingleCrystal_[i] ) dqmStore_->removeElement( meSCSeedMapOccSingleCrystal_[i]->getName() );
612  meSCSeedMapOccSingleCrystal_[i] = 0;
613  if ( meSCSeedMapTimeSC_[i] ) dqmStore_->removeElement( meSCSeedMapTimeSC_[i]->getName() );
614  meSCSeedMapTimeSC_[i] = 0;
615  for(int j=0;j!=5;++j) {
616  if ( meSCSeedMapOccTrg_[i][j] ) dqmStore_->removeElement( meSCSeedMapOccTrg_[i][j]->getName() );
617  meSCSeedMapOccTrg_[i][j] = 0;
618  if ( meSCSeedMapOccTrgExcl_[i][j] ) dqmStore_->removeElement( meSCSeedMapOccTrgExcl_[i][j]->getName() );
619  meSCSeedMapOccTrgExcl_[i][j] = 0;
620  }
621  }
622 
623  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras/EECLTE timing per super module");
624  for(int i=0; i!=18; ++i) {
625  if( meSCSeedTimePerFed_[i] ) dqmStore_->removeElement( meSCSeedTimePerFed_[i]->getName() );
626  meSCSeedTimePerFed_[i] = 0;
627  }
628  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras");
629 
630  if ( meSCSeedTime_ ) dqmStore_->removeElement( meSCSeedTime_->getName() );
631  meSCSeedTime_ = 0;
632  if ( meSCSeedTimeVsAmp_ ) dqmStore_->removeElement( meSCSeedTimeVsAmp_->getName() );
633  meSCSeedTimeVsAmp_ = 0;
634  if ( meSCSeedTimeEEM_ ) dqmStore_->removeElement( meSCSeedTimeEEM_->getName() );
635  meSCSeedTimeEEM_ = 0;
636  if ( meSCSeedTimeEEP_ ) dqmStore_->removeElement( meSCSeedTimeEEP_->getName() );
637  meSCSeedTimeEEP_ = 0;
638 
639 #endif
640 
643 
644  for(int i=0;i!=2;++i) {
645  if ( meSCSeedMapOcc_[i] ) dqmStore_->removeElement( meSCSeedMapOcc_[i]->getName() );
646  meSCSeedMapOcc_[i] = 0;
649 
650  for(int j=0; j!=5; ++j) {
651  if ( meSCSeedMapOccTrgSC_[i][j] ) dqmStore_->removeElement( meSCSeedMapOccTrgSC_[i][j]->getName() );
652  meSCSeedMapOccTrgSC_[i][j] = 0;
655 
656  if ( meSCSeedMapTimeTrgSC_[i][j] ) dqmStore_->removeElement( meSCSeedMapTimeTrgSC_[i][j]->getName() );
657  meSCSeedMapTimeTrgSC_[i][j] = 0;
658  }
659  }
660 
661  }
662 
663  init_ = false;
664 
665 }
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
MonitorElement * meSCSeedMapOccTrgExclSC_[2][5]
MonitorElement * meSCSeedMapOcc_[2]
void removeElement(const std::string &name)
Definition: DQMStore.cc:2577
int j
Definition: DBlmapReader.cc:9
MonitorElement * meSCSeedMapTimeTrgSC_[2][5]
MonitorElement * meSCSizCrystalVsEne_
MonitorElement * meSCSeedMapOccHighEneSC_[2]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * meSCSeedMapOccTrgSC_[2][5]
std::vector< bool > EEClusterTaskExtras::determineTriggers ( const edm::Event iEvent,
const edm::EventSetup eventSetup 
)
protected

Definition at line 839 of file EEClusterTaskExtras.cc.

References L1GtPsbWord::aData(), L1GtPsbWord::bData(), edm::EventSetup::get(), edm::Event::getByLabel(), i, and relval_steps::menu.

839  {
840 
841  using namespace edm;
842  std::vector<bool> l1Triggers; //DT,CSC,RPC,HCAL,ECAL
843  //0 , 1 , 2 , 3 , 4
844  for(int i=0;i<5;i++)
845  l1Triggers.push_back(false);
846 
847  // get the GMTReadoutCollection
849  iEvent.getByLabel(l1GMTReadoutRecTag_,gmtrc_handle);
850  L1MuGMTReadoutCollection const* gmtrc = gmtrc_handle.product();
851  if (!(gmtrc_handle.isValid()))
852  {
853  LogWarning("EcalCosmicsHists") << "l1MuGMTReadoutCollection" << " not available";
854  return l1Triggers;
855  }
856  // get hold of L1GlobalReadoutRecord
858  iEvent.getByLabel(l1GTReadoutRecTag_,L1GTRR);
859 
860  //Ecal
862  eventSetup.get<L1GtTriggerMenuRcd>().get(menuRcd) ;
863  const L1GtTriggerMenu* menu = menuRcd.product();
865  iEvent.getByLabel( edm::InputTag("gtDigis"), gtRecord);
866  // Get dWord after masking disabled bits
867  const DecisionWord dWord = gtRecord->decisionWord();
868 
869  bool l1SingleEG2 = menu->gtAlgorithmResult("L1_SingleEG2", dWord);
870  bool l1SingleEG5 = menu->gtAlgorithmResult("L1_SingleEG5", dWord);
871  bool l1SingleEG8 = menu->gtAlgorithmResult("L1_SingleEG8", dWord);
872  bool l1SingleEG10 = menu->gtAlgorithmResult("L1_SingleEG10", dWord);
873  bool l1SingleEG12 = menu->gtAlgorithmResult("L1_SingleEG12", dWord);
874  bool l1SingleEG15 = menu->gtAlgorithmResult("L1_SingleEG15", dWord);
875  bool l1SingleEG20 = menu->gtAlgorithmResult("L1_SingleEG20", dWord);
876  bool l1SingleEG25 = menu->gtAlgorithmResult("L1_SingleEG25", dWord);
877  bool l1DoubleNoIsoEGBTBtight = menu->gtAlgorithmResult("L1_DoubleNoIsoEG_BTB_tight", dWord);
878  bool l1DoubleNoIsoEGBTBloose = menu->gtAlgorithmResult("L1_DoubleNoIsoEG_BTB_loose ", dWord);
879  bool l1DoubleNoIsoEGTopBottom = menu->gtAlgorithmResult("L1_DoubleNoIsoEGTopBottom", dWord);
880  bool l1DoubleNoIsoEGTopBottomCen = menu->gtAlgorithmResult("L1_DoubleNoIsoEGTopBottomCen", dWord);
881  bool l1DoubleNoIsoEGTopBottomCen2 = menu->gtAlgorithmResult("L1_DoubleNoIsoEGTopBottomCen2", dWord);
882  bool l1DoubleNoIsoEGTopBottomCenVert = menu->gtAlgorithmResult("L1_DoubleNoIsoEGTopBottomCenVert", dWord);
883 
884  l1Triggers[ECAL_TRIGGER] = l1SingleEG2 || l1SingleEG5 || l1SingleEG8 || l1SingleEG10 || l1SingleEG12 || l1SingleEG15
885  || l1SingleEG20 || l1SingleEG25 || l1DoubleNoIsoEGBTBtight || l1DoubleNoIsoEGBTBloose
886  || l1DoubleNoIsoEGTopBottom || l1DoubleNoIsoEGTopBottomCen || l1DoubleNoIsoEGTopBottomCen2
887  || l1DoubleNoIsoEGTopBottomCenVert;
888 
889  std::vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->getRecords();
890  std::vector<L1MuGMTReadoutRecord>::const_iterator igmtrr;
891  for(igmtrr=gmt_records.begin(); igmtrr!=gmt_records.end(); igmtrr++) {
892  std::vector<L1MuRegionalCand>::const_iterator iter1;
893  std::vector<L1MuRegionalCand> rmc;
894 
895  //DT triggers
896  int idt = 0;
897  rmc = igmtrr->getDTBXCands();
898  for(iter1=rmc.begin(); iter1!=rmc.end(); iter1++) {
899  if ( !(*iter1).empty() ) {
900  idt++;
901  }
902  }
903  //if(idt>0) std::cout << "Found " << idt << " valid DT candidates in bx wrt. L1A = "
904  // << igmtrr->getBxInEvent() << std::endl;
905  if(igmtrr->getBxInEvent()==0 && idt>0) l1Triggers[DT_TRIGGER] = true;
906 
907  //RPC triggers
908  int irpcb = 0;
909  rmc = igmtrr->getBrlRPCCands();
910  for(iter1=rmc.begin(); iter1!=rmc.end(); iter1++) {
911  if ( !(*iter1).empty() ) {
912  irpcb++;
913  }
914  }
915  //if(irpcb>0) std::cout << "Found " << irpcb << " valid RPC candidates in bx wrt. L1A = "
916  // << igmtrr->getBxInEvent() << std::endl;
917  if(igmtrr->getBxInEvent()==0 && irpcb>0) l1Triggers[RPC_TRIGGER] = true;
918 
919  //CSC Triggers
920  int icsc = 0;
921  rmc = igmtrr->getCSCCands();
922  for(iter1=rmc.begin(); iter1!=rmc.end(); iter1++) {
923  if ( !(*iter1).empty() ) {
924  icsc++;
925  }
926  }
927  //if(icsc>0) std::cout << "Found " << icsc << " valid CSC candidates in bx wrt. L1A = "
928  // << igmtrr->getBxInEvent() << std::endl;
929  if(igmtrr->getBxInEvent()==0 && icsc>0) l1Triggers[CSC_TRIGGER] = true;
930  }
931 
932  L1GlobalTriggerReadoutRecord const* gtrr = L1GTRR.product();
933 
934  for(int ibx=-1; ibx<=1; ibx++) {
935  bool hcal_top = false;
936  bool hcal_bot = false;
937  const L1GtPsbWord psb = gtrr->gtPsbWord(0xbb0d,ibx);
938  std::vector<int> valid_x;
939  if((psb.aData(4)&0x3f) >= 1) {valid_x.push_back( (psb.aData(4)>>10)&0x1f ); }
940  if((psb.bData(4)&0x3f) >= 1) {valid_x.push_back( (psb.bData(4)>>10)&0x1f ); }
941  if((psb.aData(5)&0x3f) >= 1) {valid_x.push_back( (psb.aData(5)>>10)&0x1f ); }
942  if((psb.bData(5)&0x3f) >= 1) {valid_x.push_back( (psb.bData(5)>>10)&0x1f ); }
943  std::vector<int>::const_iterator ix;
944  for(ix=valid_x.begin(); ix!=valid_x.end(); ix++) {
945  //std::cout << "Found HCAL mip with x=" << *ix << " in bx wrt. L1A = " << ibx << std::endl;
946  if(*ix<9) hcal_top=true;
947  if(*ix>8) hcal_bot=true;
948  }
949  if(ibx==0 && hcal_top && hcal_bot) l1Triggers[HCAL_TRIGGER]=true;
950  }
951  return l1Triggers;
952 }
edm::InputTag l1GMTReadoutRecTag_
const cms_uint16_t bData(int iB) const
get/set B_DATA_CH_IB
Definition: L1GtPsbWord.cc:325
int i
Definition: DBlmapReader.cc:9
const cms_uint16_t aData(int iA) const
get/set A_DATA_CH_IA
Definition: L1GtPsbWord.cc:230
std::vector< bool > DecisionWord
typedefs
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
const T & get() const
Definition: EventSetup.h:55
edm::InputTag l1GTReadoutRecTag_
bool EEClusterTaskExtras::doMonitorElement ( std::string  meName)
protected
void EEClusterTaskExtras::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 667 of file EEClusterTaskExtras.cc.

References edm::cleanup().

667  {
668 
669  LogInfo("EEClusterTaskExtras") << "analyzed " << ievt_ << " events";
670 
671  if ( enableCleanup_ ) this->cleanup();
672 
673 }
void cleanup(void)
Cleanup.
void EEClusterTaskExtras::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 140 of file EEClusterTaskExtras.cc.

140  {
141 
142 }
bool EEClusterTaskExtras::isExclusiveTrigger ( int  l1Trigger,
std::vector< bool > &  l1Triggers 
)
protected
void EEClusterTaskExtras::reset ( void  )
protected

Reset.

Definition at line 144 of file EEClusterTaskExtras.cc.

References i, and j.

144  {
145 #ifndef EECLUSTERTASKEXTRAS_DQMOFFLINE
146  if ( meSCSizCrystal_ ) meSCSizCrystal_->Reset();
147  if ( meSCSizBC_ ) meSCSizBC_->Reset();
148 
149  if ( meSCSeedEne_ ) meSCSeedEne_->Reset();
150  if ( meSCEne2_ ) meSCEne2_->Reset();
151  if ( meSCEneLow_ ) meSCEneLow_->Reset();
152  if ( meSCEneHigh_ ) meSCEneHigh_->Reset();
153  if ( meSCEneSingleCrystal_ ) meSCEneSingleCrystal_->Reset();
154 
155  for(int i=0;i!=2;++i) {
156  if ( meSCSeedMapOccSingleCrystal_[i] ) meSCSeedMapOccSingleCrystal_[i]->Reset();
157  if ( meSCSeedMapOccSC_[i] ) meSCSeedMapOccSC_[i]->Reset();
158  if ( meSCSeedMapOccHighEne_[i] ) meSCSeedMapOccHighEne_[i]->Reset();
159  if ( meSCSeedMapTimeSC_[i] ) meSCSeedMapTimeSC_[i]->Reset();
160  for(int j=0;j!=5;++j) {
161  if ( meSCSeedMapOccTrg_[i][j] ) meSCSeedMapOccTrg_[i][j]->Reset();
162  if ( meSCSeedMapOccTrgExcl_[i][j] ) meSCSeedMapOccTrgExcl_[i][j]->Reset();
163  }
164  }
165 
166  if ( meSCSeedTime_ ) meSCSeedTime_->Reset();
167  if ( meSCSeedTimeVsAmp_ ) meSCSeedTimeVsAmp_->Reset();
168  if ( meSCSeedTimeEEM_ ) meSCSeedTimeEEM_->Reset();
169  if ( meSCSeedTimeEEP_ ) meSCSeedTimeEEP_->Reset();
170 
171  for(int i=0;i!=18;++i)
172  if ( meSCSeedTimePerFed_[i] ) meSCSeedTimePerFed_[i]->Reset();
173 #endif
174 
176 
177  for(int i=0;i!=2;++i) {
178  if ( meSCSeedMapOcc_[i] ) meSCSeedMapOcc_[i]->Reset();
180  for(int j=0; j!=5; ++j) {
184  }
185  }
186 
187 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * meSCSeedMapOccTrgExclSC_[2][5]
MonitorElement * meSCSeedMapOcc_[2]
int j
Definition: DBlmapReader.cc:9
MonitorElement * meSCSeedMapTimeTrgSC_[2][5]
MonitorElement * meSCSizCrystalVsEne_
MonitorElement * meSCSeedMapOccHighEneSC_[2]
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meSCSeedMapOccTrgSC_[2][5]
void EEClusterTaskExtras::setup ( void  )
protected

Setup.

Definition at line 189 of file EEClusterTaskExtras.cc.

References timingPdfMaker::histo, i, and AlCaHLTBitMon_QueryRunRegistry::string.

189  {
190 
191  init_ = true;
192 
194 
195  if ( dqmStore_ ) {
196  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras");
197 
198 #ifndef EECLUSTERTASKEXTRAS_DQMOFFLINE
199  // Cluster hists
200  histo = "EECLTE SC size (crystal)";
201  meSCSizCrystal_ = dqmStore_->book1D(histo,histo,150,0,150);
202  meSCSizCrystal_->setAxisTitle("super cluster size (crystal)", 1);
203 
204  histo = "EECLTE SC size (basic clusters)";
205  meSCSizBC_ = dqmStore_->book1D(histo,histo,20,0,20);
206  meSCSizBC_->setAxisTitle("super cluster size (basic clusters)", 1);
207 
208  histo = "EECLTE SC energy";
209  meSCSeedEne_ = dqmStore_->book1D(histo,histo,200,0,1.8);
210  meSCSeedEne_->setAxisTitle("energy (GeV)", 1);
211 
212  histo = "EECLTE SC + highest neighbor energy";
213  meSCEne2_ = dqmStore_->book1D(histo,histo,200,0,1.8);
214  meSCEne2_->setAxisTitle("+ highest neighbor energy (GeV)", 1);
215 
216  histo = "EECLTE SC energy low scale";
217  meSCEneLow_ = dqmStore_->book1D(histo,histo,200,0,1.8);
218  meSCEneLow_->setAxisTitle("energy (GeV)", 1);
219 
220  histo = "EECLTE SC energy high scale";
221  meSCEneHigh_ = dqmStore_->book1D(histo,histo,200,0,200);
222  meSCEneHigh_->setAxisTitle("energy (GeV)", 1);
223 
224  histo = "EECLTE SC single crystal cluster energy (GeV)";
225  meSCEneSingleCrystal_ = dqmStore_->book1D(histo,histo,200,0,200);
226  meSCEneSingleCrystal_->setAxisTitle("energy (GeV)", 1);
227 
228  histo = "EECLTE SC seed occupancy map super crystal binned EE -";
229  meSCSeedMapOccSC_[0] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
230  meSCSeedMapOccSC_[0]->setAxisTitle("jx", 1);
231  meSCSeedMapOccSC_[0]->setAxisTitle("jy", 2);
232 
233  histo = "EECLTE SC seed occupancy map EE - (high energy clusters)";
234  meSCSeedMapOccHighEne_[0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
235  meSCSeedMapOccHighEne_[0]->setAxisTitle("jx", 1);
236  meSCSeedMapOccHighEne_[0]->setAxisTitle("jy", 2);
237 
238  histo = "EECLTE SC single crystal cluster seed occupancy map EE -";
239  meSCSeedMapOccSingleCrystal_[0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
240  meSCSeedMapOccSingleCrystal_[0]->setAxisTitle("jx", 1);
241  meSCSeedMapOccSingleCrystal_[0]->setAxisTitle("jy", 2);
242 
243  histo = "EECLTE SC seed occupancy map EE - (CSC triggered)";
244  meSCSeedMapOccTrg_[0][0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
245  meSCSeedMapOccTrg_[0][0]->setAxisTitle("jx", 1);
246  meSCSeedMapOccTrg_[0][0]->setAxisTitle("jy", 2);
247 
248  histo = "EECLTE SC seed occupancy map EE - (DT triggered)";
249  meSCSeedMapOccTrg_[0][1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
250  meSCSeedMapOccTrg_[0][1]->setAxisTitle("jx", 1);
251  meSCSeedMapOccTrg_[0][1]->setAxisTitle("jy", 2);
252 
253  histo = "EECLTE SC seed occupancy map EE - (ECAL triggered)";
254  meSCSeedMapOccTrg_[0][2] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
255  meSCSeedMapOccTrg_[0][2]->setAxisTitle("jx", 1);
256  meSCSeedMapOccTrg_[0][2]->setAxisTitle("jy", 2);
257 
258  histo = "EECLTE SC seed occupancy map EE - (HCAL triggered)";
259  meSCSeedMapOccTrg_[0][3] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
260  meSCSeedMapOccTrg_[0][3]->setAxisTitle("jx", 1);
261  meSCSeedMapOccTrg_[0][3]->setAxisTitle("jy", 2);
262 
263  histo = "EECLTE SC seed occupancy map EE - (RPC triggered)";
264  meSCSeedMapOccTrg_[0][4] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
265  meSCSeedMapOccTrg_[0][4]->setAxisTitle("jx", 1);
266  meSCSeedMapOccTrg_[0][4]->setAxisTitle("jy", 2);
267 
268  histo = "EECLTE SC seed occupancy map EE - (CSC exclusive triggered)";
269  meSCSeedMapOccTrgExcl_[0][0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
270  meSCSeedMapOccTrgExcl_[0][0]->setAxisTitle("jx", 1);
271  meSCSeedMapOccTrgExcl_[0][0]->setAxisTitle("jy", 2);
272 
273  histo = "EECLTE SC seed occupancy map EE - (DT exclusive triggered)";
274  meSCSeedMapOccTrgExcl_[0][1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
275  meSCSeedMapOccTrgExcl_[0][1]->setAxisTitle("jx", 1);
276  meSCSeedMapOccTrgExcl_[0][1]->setAxisTitle("jy", 2);
277 
278  histo = "EECLTE SC seed occupancy map EE - (ECAL exclusive triggered)";
279  meSCSeedMapOccTrgExcl_[0][2] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
280  meSCSeedMapOccTrgExcl_[0][2]->setAxisTitle("jx", 1);
281  meSCSeedMapOccTrgExcl_[0][2]->setAxisTitle("jy", 2);
282 
283  histo = "EECLTE SC seed occupancy map EE - (HCAL exclusive triggered)";
284  meSCSeedMapOccTrgExcl_[0][3] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
285  meSCSeedMapOccTrgExcl_[0][3]->setAxisTitle("jx", 1);
286  meSCSeedMapOccTrgExcl_[0][3]->setAxisTitle("jy", 2);
287 
288  histo = "EECLTE SC seed occupancy map EE - (RPC exclusive triggered)";
289  meSCSeedMapOccTrgExcl_[0][4] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
290  meSCSeedMapOccTrgExcl_[0][4]->setAxisTitle("jx", 1);
291  meSCSeedMapOccTrgExcl_[0][4]->setAxisTitle("jy", 2);
292 
293  histo = "EECLTE SC seed occupancy map super crystal binned EE +";
294  meSCSeedMapOccSC_[1] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
295  meSCSeedMapOccSC_[1]->setAxisTitle("jx", 1);
296  meSCSeedMapOccSC_[1]->setAxisTitle("jy", 2);
297 
298  histo = "EECLTE SC seed occupancy map EE + (high energy clusters)";
299  meSCSeedMapOccHighEne_[1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
300  meSCSeedMapOccHighEne_[1]->setAxisTitle("jx", 1);
301  meSCSeedMapOccHighEne_[1]->setAxisTitle("jy", 2);
302 
303  histo = "EECLTE SC single crystal cluster seed occupancy map EE +";
304  meSCSeedMapOccSingleCrystal_[1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
305  meSCSeedMapOccSingleCrystal_[1]->setAxisTitle("jx", 1);
306  meSCSeedMapOccSingleCrystal_[1]->setAxisTitle("jy", 2);
307 
308  histo = "EECLTE SC seed occupancy map EE + (CSC triggered)";
309  meSCSeedMapOccTrg_[1][0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
310  meSCSeedMapOccTrg_[1][0]->setAxisTitle("jx", 1);
311  meSCSeedMapOccTrg_[1][0]->setAxisTitle("jy", 2);
312 
313  histo = "EECLTE SC seed occupancy map EE + (DT triggered)";
314  meSCSeedMapOccTrg_[1][1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
315  meSCSeedMapOccTrg_[1][1]->setAxisTitle("jx", 1);
316  meSCSeedMapOccTrg_[1][1]->setAxisTitle("jy", 2);
317 
318  histo = "EECLTE SC seed occupancy map EE + (ECAL triggered)";
319  meSCSeedMapOccTrg_[1][2] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
320  meSCSeedMapOccTrg_[1][2]->setAxisTitle("jx", 1);
321  meSCSeedMapOccTrg_[1][2]->setAxisTitle("jy", 2);
322 
323  histo = "EECLTE SC seed occupancy map EE + (HCAL triggered)";
324  meSCSeedMapOccTrg_[1][3] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
325  meSCSeedMapOccTrg_[1][3]->setAxisTitle("jx", 1);
326  meSCSeedMapOccTrg_[1][3]->setAxisTitle("jy", 2);
327 
328  histo = "EECLTE SC seed occupancy map EE + (RPC triggered)";
329  meSCSeedMapOccTrg_[1][4] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
330  meSCSeedMapOccTrg_[1][4]->setAxisTitle("jx", 1);
331  meSCSeedMapOccTrg_[1][4]->setAxisTitle("jy", 2);
332 
333  histo = "EECLTE SC seed occupancy map EE + (CSC exclusive triggered)";
334  meSCSeedMapOccTrgExcl_[1][0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
335  meSCSeedMapOccTrgExcl_[1][0]->setAxisTitle("jx", 1);
336  meSCSeedMapOccTrgExcl_[1][0]->setAxisTitle("jy", 2);
337 
338  histo = "EECLTE SC seed occupancy map EE + (DT exclusive triggered)";
339  meSCSeedMapOccTrgExcl_[1][1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
340  meSCSeedMapOccTrgExcl_[1][1]->setAxisTitle("jx", 1);
341  meSCSeedMapOccTrgExcl_[1][1]->setAxisTitle("jy", 2);
342 
343  histo = "EECLTE SC seed occupancy map EE + (ECAL exclusive triggered)";
344  meSCSeedMapOccTrgExcl_[1][2] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
345  meSCSeedMapOccTrgExcl_[1][2]->setAxisTitle("jx", 1);
346  meSCSeedMapOccTrgExcl_[1][2]->setAxisTitle("jy", 2);
347 
348  histo = "EECLTE SC seed occupancy map EE + (HCAL exclusive triggered)";
349  meSCSeedMapOccTrgExcl_[1][3] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
350  meSCSeedMapOccTrgExcl_[1][3]->setAxisTitle("jx", 1);
351  meSCSeedMapOccTrgExcl_[1][3]->setAxisTitle("jy", 2);
352 
353  histo = "EECLTE SC seed occupancy map EE + (RPC exclusive triggered)";
354  meSCSeedMapOccTrgExcl_[1][4] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
355  meSCSeedMapOccTrgExcl_[1][4]->setAxisTitle("jx", 1);
356  meSCSeedMapOccTrgExcl_[1][4]->setAxisTitle("jy", 2);
357 
358  histo = "EECLTE SC seed crystal timing map EE + super crystal binned";
359  meSCSeedMapTimeSC_[1] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
360  meSCSeedMapTimeSC_[1]->setAxisTitle("jx", 1);
361  meSCSeedMapTimeSC_[1]->setAxisTitle("jy", 2);
362 
363  histo = "EECLTE SC seed crystal timing map EE + super crystal binned";
364  meSCSeedMapTimeSC_[1] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
365  meSCSeedMapTimeSC_[1]->setAxisTitle("jx", 1);
366  meSCSeedMapTimeSC_[1]->setAxisTitle("jy", 2);
367 
368  histo = "EECLTE SC relative timing";
369  meSCSeedTime_ = dqmStore_->book1D(histo,histo,78,0.,10.);
370  meSCSeedTime_->setAxisTitle("seed crystal timing");
371 
372  histo = "EECLTE SC relative timing vs amplitude";
373  meSCSeedTimeVsAmp_ = dqmStore_->bookProfile(histo, histo, 78, -7, 7, 200, 0, 1.8);
374  meSCSeedTimeVsAmp_->setAxisTitle("seed crystal timing", 1);
375  meSCSeedTimeVsAmp_->setAxisTitle("energy (GeV)", 2);
376 
377  histo = "EECLTE SC relative timing EE -";
378  meSCSeedTimeEEM_ = dqmStore_->book1D(histo,histo,78,0.,10.);
379  meSCSeedTimeEEM_->setAxisTitle("seed crystal timing");
380 
381  histo = "EECLTE SC relative timing EE +";
382  meSCSeedTimeEEP_ = dqmStore_->book1D(histo,histo,78,0.,10.);
383  meSCSeedTimeEEP_->setAxisTitle("seed crystal timing");
384 
385  std::stringstream ss;
386  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras/EECLTE timing per super module");
387  for(int i=0;i!=18;++i) {
388  ss.str("");
389  if((i+1) <= 9){
390  ss << "EECLTE SC timing EE - " << i+1;
391  histo = ss.str();
392  }
393  else{
394  ss << "EECLTE SC timing EE + " << i+1-9;
395  histo = ss.str();
396  }
397  meSCSeedTimePerFed_[i] = dqmStore_->book1D(histo,histo,78,0.,10.);
398  meSCSeedTimePerFed_[i]->setAxisTitle("seed crystal timing", 1);
399  }
400 
401  dqmStore_->setCurrentFolder(prefixME_ + "/EEClusterTaskExtras");
402 
403 #endif
404 
405  histo = "EECLTE SC size (crystal) vs energy (GeV)";
406  meSCSizCrystalVsEne_ = dqmStore_->bookProfile(histo,histo,200,0.,10.,150,0,150);
407  meSCSizCrystalVsEne_->setAxisTitle("energy (GeV)", 1);
408  meSCSizCrystalVsEne_->setAxisTitle("super cluster size (crystal)", 2);
409 
410  histo = "EECLTE SC seed occupancy map EE -";
411  meSCSeedMapOcc_[0] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
412  meSCSeedMapOcc_[0]->setAxisTitle("jx", 1);
413  meSCSeedMapOcc_[0]->setAxisTitle("jy", 2);
414 
415  histo = "EECLTE SC seed occupancy map EE - (high energy clusters) super crystal binned";
416  meSCSeedMapOccHighEneSC_[0] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
419 
420  histo = "EECLTE SC seed occupancy map EE - (CSC triggered) super crystal binned";
421  meSCSeedMapOccTrgSC_[0][0] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
422  meSCSeedMapOccTrgSC_[0][0]->setAxisTitle("jx", 1);
423  meSCSeedMapOccTrgSC_[0][0]->setAxisTitle("jy", 2);
424 
425  histo = "EECLTE SC seed occupancy map EE - (DT triggered) super crystal binned";
426  meSCSeedMapOccTrgSC_[0][1] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
427  meSCSeedMapOccTrgSC_[0][1]->setAxisTitle("jx", 1);
428  meSCSeedMapOccTrgSC_[0][1]->setAxisTitle("jy", 2);
429 
430  histo = "EECLTE SC seed occupancy map EE - (ECAL triggered) super crystal binned";
431  meSCSeedMapOccTrgSC_[0][2] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
432  meSCSeedMapOccTrgSC_[0][2]->setAxisTitle("jx", 1);
433  meSCSeedMapOccTrgSC_[0][2]->setAxisTitle("jy", 2);
434 
435  histo = "EECLTE SC seed occupancy map EE - (HCAL triggered) super crystal binned";
436  meSCSeedMapOccTrgSC_[0][3] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
437  meSCSeedMapOccTrgSC_[0][3]->setAxisTitle("jx", 1);
438  meSCSeedMapOccTrgSC_[0][3]->setAxisTitle("jy", 2);
439 
440  histo = "EECLTE SC seed occupancy map EE - (RPC triggered) super crystal binned";
441  meSCSeedMapOccTrgSC_[0][4] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
442  meSCSeedMapOccTrgSC_[0][4]->setAxisTitle("jx", 1);
443  meSCSeedMapOccTrgSC_[0][4]->setAxisTitle("jy", 2);
444 
445  histo = "EECLTE SC seed occupancy map EE - (CSC exclusive triggered) super crystal binned";
446  meSCSeedMapOccTrgExclSC_[0][0] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
447  meSCSeedMapOccTrgExclSC_[0][0]->setAxisTitle("jx", 1);
448  meSCSeedMapOccTrgExclSC_[0][0]->setAxisTitle("jy", 2);
449 
450  histo = "EECLTE SC seed occupancy map EE - (DT exclusive triggered) super crystal binned";
451  meSCSeedMapOccTrgExclSC_[0][1] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
452  meSCSeedMapOccTrgExclSC_[0][1]->setAxisTitle("jx", 1);
453  meSCSeedMapOccTrgExclSC_[0][1]->setAxisTitle("jy", 2);
454 
455  histo = "EECLTE SC seed occupancy map EE - (ECAL exclusive triggered) super crystal binned";
456  meSCSeedMapOccTrgExclSC_[0][2] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
457  meSCSeedMapOccTrgExclSC_[0][2]->setAxisTitle("jx", 1);
458  meSCSeedMapOccTrgExclSC_[0][2]->setAxisTitle("jy", 2);
459 
460  histo = "EECLTE SC seed occupancy map EE - (HCAL exclusive triggered) super crystal binned";
461  meSCSeedMapOccTrgExclSC_[0][3] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
462  meSCSeedMapOccTrgExclSC_[0][3]->setAxisTitle("jx", 1);
463  meSCSeedMapOccTrgExclSC_[0][3]->setAxisTitle("jy", 2);
464 
465  histo = "EECLTE SC seed occupancy map EE - (RPC exclusive triggered) super crystal binned";
466  meSCSeedMapOccTrgExclSC_[0][4] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
467  meSCSeedMapOccTrgExclSC_[0][4]->setAxisTitle("jx", 1);
468  meSCSeedMapOccTrgExclSC_[0][4]->setAxisTitle("jy", 2);
469 
470  histo = "EECLTE SC seed occupancy map EE +";
471  meSCSeedMapOcc_[1] = dqmStore_->book2D(histo,histo,100,0,100,100,0,100);
472  meSCSeedMapOcc_[1]->setAxisTitle("jx", 1);
473  meSCSeedMapOcc_[1]->setAxisTitle("jy", 2);
474 
475  histo = "EECLTE SC seed occupancy map EE + (high energy clusters) super crystal binned";
476  meSCSeedMapOccHighEneSC_[1] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
479 
480  histo = "EECLTE SC seed occupancy map EE + (CSC triggered) super crystal binned";
481  meSCSeedMapOccTrgSC_[1][0] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
482  meSCSeedMapOccTrgSC_[1][0]->setAxisTitle("jx", 1);
483  meSCSeedMapOccTrgSC_[1][0]->setAxisTitle("jy", 2);
484 
485  histo = "EECLTE SC seed occupancy map EE + (DT triggered) super crystal binned";
486  meSCSeedMapOccTrgSC_[1][1] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
487  meSCSeedMapOccTrgSC_[1][1]->setAxisTitle("jx", 1);
488  meSCSeedMapOccTrgSC_[1][1]->setAxisTitle("jy", 2);
489 
490  histo = "EECLTE SC seed occupancy map EE + (ECAL triggered) super crystal binned";
491  meSCSeedMapOccTrgSC_[1][2] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
492  meSCSeedMapOccTrgSC_[1][2]->setAxisTitle("jx", 1);
493  meSCSeedMapOccTrgSC_[1][2]->setAxisTitle("jy", 2);
494 
495  histo = "EECLTE SC seed occupancy map EE + (HCAL triggered) super crystal binned";
496  meSCSeedMapOccTrgSC_[1][3] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
497  meSCSeedMapOccTrgSC_[1][3]->setAxisTitle("jx", 1);
498  meSCSeedMapOccTrgSC_[1][3]->setAxisTitle("jy", 2);
499 
500  histo = "EECLTE SC seed occupancy map EE + (RPC triggered) super crystal binned";
501  meSCSeedMapOccTrgSC_[1][4] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
502  meSCSeedMapOccTrgSC_[1][4]->setAxisTitle("jx", 1);
503  meSCSeedMapOccTrgSC_[1][4]->setAxisTitle("jy", 2);
504 
505  histo = "EECLTE SC seed occupancy map EE + (CSC exclusive triggered) super crystal binned";
506  meSCSeedMapOccTrgExclSC_[1][0] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
507  meSCSeedMapOccTrgExclSC_[1][0]->setAxisTitle("jx", 1);
508  meSCSeedMapOccTrgExclSC_[1][0]->setAxisTitle("jy", 2);
509 
510  histo = "EECLTE SC seed occupancy map EE + (DT exclusive triggered) super crystal binned";
511  meSCSeedMapOccTrgExclSC_[1][1] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
512  meSCSeedMapOccTrgExclSC_[1][1]->setAxisTitle("jx", 1);
513  meSCSeedMapOccTrgExclSC_[1][1]->setAxisTitle("jy", 2);
514 
515  histo = "EECLTE SC seed occupancy map EE + (ECAL exclusive triggered) super crystal binned";
516  meSCSeedMapOccTrgExclSC_[1][2] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
517  meSCSeedMapOccTrgExclSC_[1][2]->setAxisTitle("jx", 1);
518  meSCSeedMapOccTrgExclSC_[1][2]->setAxisTitle("jy", 2);
519 
520  histo = "EECLTE SC seed occupancy map EE + (HCAL exclusive triggered) super crystal binned";
521  meSCSeedMapOccTrgExclSC_[1][3] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
522  meSCSeedMapOccTrgExclSC_[1][3]->setAxisTitle("jx", 1);
523  meSCSeedMapOccTrgExclSC_[1][3]->setAxisTitle("jy", 2);
524 
525  histo = "EECLTE SC seed occupancy map EE + (RPC exclusive triggered) super crystal binned";
526  meSCSeedMapOccTrgExclSC_[1][4] = dqmStore_->book2D(histo,histo,20,0,100,20,0,100);
527  meSCSeedMapOccTrgExclSC_[1][4]->setAxisTitle("jx", 1);
528  meSCSeedMapOccTrgExclSC_[1][4]->setAxisTitle("jy", 2);
529 
530  histo = "EECLTE SC seed crystal timing map EE - (CSC exclusive triggered) super crystal binned";
531  meSCSeedMapTimeTrgSC_[0][0] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
532  meSCSeedMapTimeTrgSC_[0][0]->setAxisTitle("jx", 1);
533  meSCSeedMapTimeTrgSC_[0][0]->setAxisTitle("jy", 2);
534 
535  histo = "EECLTE SC seed crystal timing map EE - (DT exclusive triggered) super crystal binned";
536  meSCSeedMapTimeTrgSC_[0][1] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
537  meSCSeedMapTimeTrgSC_[0][1]->setAxisTitle("jx", 1);
538  meSCSeedMapTimeTrgSC_[0][1]->setAxisTitle("jy", 2);
539 
540  histo = "EECLTE SC seed crystal timing map EE - (ECAL exclusive triggered) super crystal binned";
541  meSCSeedMapTimeTrgSC_[0][2] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
542  meSCSeedMapTimeTrgSC_[0][2]->setAxisTitle("jx", 1);
543  meSCSeedMapTimeTrgSC_[0][2]->setAxisTitle("jy", 2);
544 
545  histo = "EECLTE SC seed crystal timing map EE - (HCAL exclusive triggered) super crystal binned";
546  meSCSeedMapTimeTrgSC_[0][3] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
547  meSCSeedMapTimeTrgSC_[0][3]->setAxisTitle("jx", 1);
548  meSCSeedMapTimeTrgSC_[0][3]->setAxisTitle("jy", 2);
549 
550  histo = "EECLTE SC seed crystal timing map EE - (RPC exclusive triggered) super crystal binned";
551  meSCSeedMapTimeTrgSC_[0][4] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
552  meSCSeedMapTimeTrgSC_[0][4]->setAxisTitle("jx", 1);
553  meSCSeedMapTimeTrgSC_[0][4]->setAxisTitle("jy", 2);
554 
555  histo = "EECLTE SC seed crystal timing map EE + (CSC exclusive triggered) super crystal binned";
556  meSCSeedMapTimeTrgSC_[1][0] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
557  meSCSeedMapTimeTrgSC_[1][0]->setAxisTitle("jx", 1);
558  meSCSeedMapTimeTrgSC_[1][0]->setAxisTitle("jy", 2);
559 
560  histo = "EECLTE SC seed crystal timing map EE + (DT exclusive triggered) super crystal binned";
561  meSCSeedMapTimeTrgSC_[1][1] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
562  meSCSeedMapTimeTrgSC_[1][1]->setAxisTitle("jx", 1);
563  meSCSeedMapTimeTrgSC_[1][1]->setAxisTitle("jy", 2);
564 
565  histo = "EECLTE SC seed crystal timing map EE + (ECAL exclusive triggered) super crystal binned";
566  meSCSeedMapTimeTrgSC_[1][2] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
567  meSCSeedMapTimeTrgSC_[1][2]->setAxisTitle("jx", 1);
568  meSCSeedMapTimeTrgSC_[1][2]->setAxisTitle("jy", 2);
569 
570  histo = "EECLTE SC seed crystal timing map EE + (HCAL exclusive triggered) super crystal binned";
571  meSCSeedMapTimeTrgSC_[1][3] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
572  meSCSeedMapTimeTrgSC_[1][3]->setAxisTitle("jx", 1);
573  meSCSeedMapTimeTrgSC_[1][3]->setAxisTitle("jy", 2);
574 
575  histo = "EECLTE SC seed crystal timing map EE + (RPC exclusive triggered) super crystal binned";
576  meSCSeedMapTimeTrgSC_[1][4] = dqmStore_->bookProfile2D(histo,histo,20,0,100,20,0,100,78,0.,10.,"s");
577  meSCSeedMapTimeTrgSC_[1][4]->setAxisTitle("jx", 1);
578  meSCSeedMapTimeTrgSC_[1][4]->setAxisTitle("jy", 2);
579  }
580 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * meSCSeedMapOccTrgExclSC_[2][5]
MonitorElement * meSCSeedMapOcc_[2]
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1036
MonitorElement * meSCSeedMapTimeTrgSC_[2][5]
MonitorElement * meSCSizCrystalVsEne_
MonitorElement * meSCSeedMapOccHighEneSC_[2]
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * meSCSeedMapOccTrgSC_[2][5]
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:1180

Member Data Documentation

DQMStore* EEClusterTaskExtras::dqmStore_
private

Definition at line 75 of file EEClusterTaskExtras.h.

edm::InputTag EEClusterTaskExtras::EcalRecHitCollection_
private

Definition at line 84 of file EEClusterTaskExtras.h.

bool EEClusterTaskExtras::enableCleanup_
private

Definition at line 79 of file EEClusterTaskExtras.h.

int EEClusterTaskExtras::ievt_
private

Definition at line 73 of file EEClusterTaskExtras.h.

bool EEClusterTaskExtras::init_
private

Definition at line 122 of file EEClusterTaskExtras.h.

edm::InputTag EEClusterTaskExtras::l1GMTReadoutRecTag_
private

Definition at line 85 of file EEClusterTaskExtras.h.

edm::InputTag EEClusterTaskExtras::l1GTReadoutRecTag_
private

Definition at line 86 of file EEClusterTaskExtras.h.

std::vector<std::string> EEClusterTaskExtras::meList_
private

Definition at line 87 of file EEClusterTaskExtras.h.

bool EEClusterTaskExtras::mergeRuns_
private

Definition at line 81 of file EEClusterTaskExtras.h.

MonitorElement* EEClusterTaskExtras::meSCSeedMapOcc_[2]
private

Definition at line 115 of file EEClusterTaskExtras.h.

MonitorElement* EEClusterTaskExtras::meSCSeedMapOccHighEneSC_[2]
private

Definition at line 116 of file EEClusterTaskExtras.h.

MonitorElement* EEClusterTaskExtras::meSCSeedMapOccTrgExclSC_[2][5]
private

Definition at line 118 of file EEClusterTaskExtras.h.

MonitorElement* EEClusterTaskExtras::meSCSeedMapOccTrgSC_[2][5]
private

Definition at line 117 of file EEClusterTaskExtras.h.

MonitorElement* EEClusterTaskExtras::meSCSeedMapTimeTrgSC_[2][5]
private

Definition at line 120 of file EEClusterTaskExtras.h.

MonitorElement* EEClusterTaskExtras::meSCSizCrystalVsEne_
private

Definition at line 113 of file EEClusterTaskExtras.h.

std::string EEClusterTaskExtras::prefixME_
private

Definition at line 77 of file EEClusterTaskExtras.h.

edm::InputTag EEClusterTaskExtras::SuperClusterCollection_
private

Definition at line 83 of file EEClusterTaskExtras.h.