CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
L1TCSCTF Class Reference

#include <L1TCSCTF.h>

Inheritance diagram for L1TCSCTF:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

 L1TCSCTF (const edm::ParameterSet &ps)
 
 ~L1TCSCTF () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c) override
 
void bookHistograms (DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 

Private Attributes

int BxInEvent_
 
edm::EDGetTokenT< CSCCorrelatedLCTDigiCollectioncorrlctsToken_
 
MonitorElementcsc_strip_MEminus11
 
MonitorElementcsc_strip_MEminus12
 
MonitorElementcsc_strip_MEminus13
 
MonitorElementcsc_strip_MEminus21
 
MonitorElementcsc_strip_MEminus22
 
MonitorElementcsc_strip_MEminus31
 
MonitorElementcsc_strip_MEminus32
 
MonitorElementcsc_strip_MEminus41
 
MonitorElementcsc_strip_MEminus42
 
MonitorElementcsc_strip_MEplus11
 
MonitorElementcsc_strip_MEplus12
 
MonitorElementcsc_strip_MEplus13
 
MonitorElementcsc_strip_MEplus21
 
MonitorElementcsc_strip_MEplus22
 
MonitorElementcsc_strip_MEplus31
 
MonitorElementcsc_strip_MEplus32
 
MonitorElementcsc_strip_MEplus41
 
MonitorElementcsc_strip_MEplus42
 
MonitorElementcsc_wire_MEminus11
 
MonitorElementcsc_wire_MEminus12
 
MonitorElementcsc_wire_MEminus13
 
MonitorElementcsc_wire_MEminus21
 
MonitorElementcsc_wire_MEminus22
 
MonitorElementcsc_wire_MEminus31
 
MonitorElementcsc_wire_MEminus32
 
MonitorElementcsc_wire_MEminus41
 
MonitorElementcsc_wire_MEminus42
 
MonitorElementcsc_wire_MEplus11
 
MonitorElementcsc_wire_MEplus12
 
MonitorElementcsc_wire_MEplus13
 
MonitorElementcsc_wire_MEplus21
 
MonitorElementcsc_wire_MEplus22
 
MonitorElementcsc_wire_MEplus31
 
MonitorElementcsc_wire_MEplus32
 
MonitorElementcsc_wire_MEplus41
 
MonitorElementcsc_wire_MEplus42
 
MonitorElementcsctfAFerror
 
MonitorElementcsctfbx
 
MonitorElementcsctfbx_H
 
MonitorElementcsctfChamberOccupancies
 
MonitorElementcsctferrors
 
MonitorElementcsctferrors_mpc
 
MonitorElementcsctflcts
 
MonitorElementcsctfntrack
 
MonitorElementcsctfoccupancies
 
MonitorElementcsctfoccupancies_H
 
MonitorElementcsctfTrackEta
 
MonitorElementcsctfTrackEta_H
 
MonitorElementcsctfTrackEtaHighQ
 
MonitorElementcsctfTrackEtaLowQ
 
MonitorElementcsctfTrackM
 
MonitorElementcsctfTrackPhi
 
MonitorElementcsctfTrackPhi_H
 
MonitorElementcscTrackStubNumbers
 
MonitorElementcscWireStripOverflow
 
MonitorElementDTstubsTimeTrackMenTimeArrival [12]
 
edm::EDGetTokenT< CSCTriggerContainer< csctf::TrackStub > > dtStubsToken_
 
bool gangedME11a_
 
edm::InputTag gmtProducer
 
edm::EDGetTokenT< L1MuGMTReadoutCollectiongmtProducerToken_
 
bool isCSCcand_
 
int L1ABXN
 
edm::InputTag lctProducer
 
std::ofstream logFile_
 
unsigned long long m_ptScaleCacheID
 
unsigned long long m_scalesCacheID
 
edm::InputTag mbProducer
 
edm::EDGetTokenT< L1CSCTrackCollectionmbtracksToken_
 
MonitorElementme11_lctGblEta
 
MonitorElementme11_lctGblPhi
 
MonitorElementme11_lctLocalPhi
 
MonitorElementme11_lctPackedPhi
 
MonitorElementme11_lctStrip
 
MonitorElementme11_lctWire
 
MonitorElementme42_lctGblEta
 
MonitorElementme42_lctGblPhi
 
bool monitorDaemon_
 
int nev_
 
std::string outputFile_
 
CSCSectorReceiverLUTsrLUTs_ [5][2][6]
 
edm::InputTag statusProducer
 
edm::EDGetTokenT< L1CSCStatusDigiCollectionstatusToken_
 
const L1MuTriggerPtScaletpts
 
MonitorElementtrackModeVsQ
 
edm::InputTag trackProducer
 
edm::EDGetTokenT< L1CSCTrackCollectiontracksToken_
 
const L1MuTriggerScalests
 
bool verbose_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 58 of file L1TCSCTF.h.

Constructor & Destructor Documentation

◆ L1TCSCTF()

L1TCSCTF::L1TCSCTF ( const edm::ParameterSet ps)

Definition at line 23 of file L1TCSCTF.cc.

26  : gmtProducer(ps.getParameter<InputTag>("gmtProducer")),
27  lctProducer(ps.getParameter<InputTag>("lctProducer")),
28  trackProducer(ps.getParameter<InputTag>("trackProducer")),
29  statusProducer(ps.getParameter<InputTag>("statusProducer")),
30  mbProducer(ps.getParameter<InputTag>("mbProducer")) {
31  // verbosity switch
32  verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
33 
34  if (verbose_)
35  edm::LogInfo("DataNotFound") << "L1TCSCTF: constructor...." << endl;
36 
37  outputFile_ = ps.getUntrackedParameter<string>("outputFile", "");
38  if (!outputFile_.empty()) {
39  edm::LogInfo("DataNotFound") << "L1T Monitoring histograms will be saved to " << outputFile_.c_str() << endl;
40  }
41 
42  bool disable = ps.getUntrackedParameter<bool>("disableROOToutput", false);
43  if (disable) {
44  outputFile_ = "";
45  }
46 
47  gangedME11a_ = ps.getUntrackedParameter<bool>("gangedME11a", false);
48 
49  // instantiate standard on-fly SR LUTs from CSC TF emulator package
50  bzero(srLUTs_, sizeof(srLUTs_));
51  //int sector=1; // assume SR LUTs are all same for every sector
52  bool TMB07 = true; // specific TMB firmware
53  // Create a pset for SR/PT LUTs: if you do not change the value in the
54  // configuration file, it will load the default minitLUTs
55  edm::ParameterSet srLUTset;
56  srLUTset.addUntrackedParameter<bool>("ReadLUTs", false);
57  srLUTset.addUntrackedParameter<bool>("Binary", false);
58  srLUTset.addUntrackedParameter<std::string>("LUTPath", "./");
59 
60  // positive endcap
61  int endcap = 1;
62  for (int sector = 0; sector < 6; sector++) {
63  for (int station = 1, fpga = 0; station <= 4 && fpga < 5; station++) {
64  if (station == 1)
65  for (int subSector = 0; subSector < 2 && fpga < 5; subSector++)
66  srLUTs_[fpga++][1][sector] =
67  new CSCSectorReceiverLUT(endcap, sector + 1, subSector + 1, station, srLUTset, TMB07);
68  else
69  srLUTs_[fpga++][1][sector] = new CSCSectorReceiverLUT(endcap, sector + 1, 0, station, srLUTset, TMB07);
70  }
71  }
72 
73  // negative endcap
74  endcap = 2;
75  for (int sector = 0; sector < 6; sector++) {
76  for (int station = 1, fpga = 0; station <= 4 && fpga < 5; station++) {
77  if (station == 1)
78  for (int subSector = 0; subSector < 2 && fpga < 5; subSector++)
79  srLUTs_[fpga++][0][sector] =
80  new CSCSectorReceiverLUT(endcap, sector + 1, subSector + 1, station, srLUTset, TMB07);
81  else
82  srLUTs_[fpga++][0][sector] = new CSCSectorReceiverLUT(endcap, sector + 1, 0, station, srLUTset, TMB07);
83  }
84  }
85 
86  //set Token(-s)
92 
93  gmtProducerToken_ = consumes<L1MuGMTReadoutCollection>(ps.getParameter<InputTag>("gmtProducer"));
94  statusToken_ = consumes<L1CSCStatusDigiCollection>(statusTag_);
95  corrlctsToken_ = consumes<CSCCorrelatedLCTDigiCollection>(corrlctsTag_);
96  tracksToken_ = consumes<L1CSCTrackCollection>(tracksTag_);
97  dtStubsToken_ = consumes<CSCTriggerContainer<csctf::TrackStub> >(dtStubsTag_);
98  mbtracksToken_ = consumes<L1CSCTrackCollection>(mbtracksTag_);
99 }

References edm::ParameterSet::addUntrackedParameter(), corrlctsToken_, dtStubsToken_, makeMuonMisalignmentScenario::endcap, gangedME11a_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), gmtProducerToken_, edm::InputTag::instance(), edm::InputTag::label(), lctProducer, mbProducer, mbtracksToken_, outputFile_, srLUTs_, relativeConstraints::station, statusProducer, statusToken_, AlCaHLTBitMon_QueryRunRegistry::string, trackProducer, tracksToken_, and verbose_.

◆ ~L1TCSCTF()

L1TCSCTF::~L1TCSCTF ( )
override

Definition at line 101 of file L1TCSCTF.cc.

101  {
102  for (unsigned int j = 0; j < 2; j++)
103  for (unsigned int i = 0; i < 5; i++)
104  for (unsigned int s = 0; s < 6; s++)
105  delete srLUTs_[i][j][s]; //free the array of pointers
106 }

References mps_fire::i, dqmiolumiharvest::j, alignCSCRings::s, and srLUTs_.

Member Function Documentation

◆ analyze()

void L1TCSCTF::analyze ( const edm::Event e,
const edm::EventSetup c 
)
overrideprotectedvirtual

CAL as Janos adviced

Reimplemented from DQMEDAnalyzer.

Definition at line 653 of file L1TCSCTF.cc.

653  {
655  c.get<L1MuTriggerPtScaleRcd>().cacheIdentifier() != m_ptScaleCacheID) {
657  c.get<L1MuTriggerScalesRcd>().get(scales);
658  ts = scales.product();
660  c.get<L1MuTriggerPtScaleRcd>().get(ptscales);
661  tpts = ptscales.product();
662  m_scalesCacheID = c.get<L1MuTriggerScalesRcd>().cacheIdentifier();
663  m_ptScaleCacheID = c.get<L1MuTriggerPtScaleRcd>().cacheIdentifier();
664 
665  edm::LogInfo("L1TCSCTF") << "Changing triggerscales and triggerptscales...";
666  }
667 
668  int NumCSCTfTracksRep = 0;
669  nev_++;
670  if (verbose_)
671  edm::LogInfo("DataNotFound") << "L1TCSCTF: analyze...." << endl;
672 
674  if (gmtProducer.label() != "null") { // GMT block
675  e.getByToken(gmtProducerToken_, pCollection);
676  if (!pCollection.isValid()) {
677  edm::LogInfo("DataNotFound") << "can't find L1MuGMTReadoutCollection with label "; // << csctfSource_.label() ;
678  return;
679  }
680 
681  L1MuGMTReadoutCollection const* gmtrc = pCollection.product();
682  vector<L1MuGMTReadoutRecord> gmt_records = gmtrc->getRecords();
683  vector<L1MuGMTReadoutRecord>::const_iterator RRItr;
684 
685  // Look if the readout window contains one (and only one CSC cands)
686  // to make it simpler I reject events with more than a CSC cand in the
687  // same readout window
688 
689  // count non-empty candidates in this bx
690  int bxWindow = 0;
691  int nCands = 0;
692 
693  for (RRItr = gmt_records.begin(); RRItr != gmt_records.end(); RRItr++) {
694  bxWindow++;
695 
696  // get the csc candidates
697  vector<L1MuRegionalCand> INPCands = RRItr->getCSCCands();
698  vector<L1MuRegionalCand>::const_iterator INPItr;
699 
700  BxInEvent_ = 0;
701  isCSCcand_ = false;
702  int nCandsBx = 0;
703 
704  for (INPItr = INPCands.begin(); INPItr != INPCands.end(); ++INPItr) {
705  if (!INPItr->empty()) {
706  nCandsBx++;
707  nCands++;
708  BxInEvent_ = RRItr->getBxInEvent();
709  if (verbose_)
710  edm::LogInfo("DataNotFound") << "cand " << nCandsBx << " -> assigned CSCTF bx: " << INPItr->bx() << endl;
711  }
712  }
713  if (verbose_)
714  if (nCandsBx)
715  edm::LogInfo("DataNotFound") << nCandsBx << " cands in bx: " << BxInEvent_ << endl;
716  }
717 
718  if (nCands != 1)
719  return;
720  else
721  isCSCcand_ = true;
722  if (verbose_)
723  edm::LogInfo("DataNotFound") << "bxWindow: " << bxWindow << endl;
724 
725  int ncsctftrack = 0;
726  if (verbose_) {
727  edm::LogInfo("DataNotFound") << "\tCSCTFCand ntrack " << ncsctftrack << endl;
728  }
729  } // end of GMT block
730 
731  L1ABXN = -999;
732  if (statusProducer.label() != "null") {
734  e.getByToken(statusToken_, status);
735  bool integrity = status->first, se = false, sm = false, bx = false, af = false, fmm = false;
736  int nStat = 0;
737 
738  for (std::vector<L1CSCSPStatusDigi>::const_iterator stat = status->second.begin(); stat != status->second.end();
739  stat++) {
740  se |= stat->SEs() & 0xFFF;
741  sm |= stat->SMs() & 0xFFF;
742  bx |= stat->BXs() & 0xFFF;
743  af |= stat->AFs() & 0xFFF;
744  fmm |= stat->FMM() != 8;
745 
746  int ise = stat->SEs() & 0xFFF;
747  int ism = stat->SMs() & 0xFFF;
748  int ibx = stat->BXs() & 0xFFF;
749  int iaf = stat->AFs() & 0xFFF;
750  int ifmm = stat->FMM();
751  int slot = stat->slot();
752 
753  for (int j = 0; j < 15; j++) {
754  int link = j + 1;
755  int mpc_id = 0;
756  int sp_num = 0;
757  if (slot >= 6 && slot <= 11)
758  sp_num = slot - 5;
759  if (slot >= 16 && slot <= 21)
760  sp_num = slot - 9;
761 
762  if (sp_num == 1) {
763  if (link >= 1 && link <= 3)
764  mpc_id = 2;
765  else if (link >= 4 && link <= 6)
766  mpc_id = 3;
767  else if (link >= 7 && link <= 9)
768  mpc_id = 13;
769  else if (link >= 10 && link <= 12)
770  mpc_id = 19;
771  else if (link >= 13 && link <= 15)
772  mpc_id = 25;
773  } else if (sp_num == 2) {
774  if (link >= 1 && link <= 3)
775  mpc_id = 4;
776  else if (link >= 4 && link <= 6)
777  mpc_id = 5;
778  else if (link >= 7 && link <= 9)
779  mpc_id = 14;
780  else if (link >= 10 && link <= 12)
781  mpc_id = 20;
782  else if (link >= 13 && link <= 15)
783  mpc_id = 26;
784  } else if (sp_num == 3) {
785  if (link >= 1 && link <= 3)
786  mpc_id = 6;
787  else if (link >= 4 && link <= 6)
788  mpc_id = 7;
789  else if (link >= 7 && link <= 9)
790  mpc_id = 15;
791  else if (link >= 10 && link <= 12)
792  mpc_id = 21;
793  else if (link >= 13 && link <= 15)
794  mpc_id = 27;
795  } else if (sp_num == 4) {
796  if (link >= 1 && link <= 3)
797  mpc_id = 8;
798  else if (link >= 4 && link <= 6)
799  mpc_id = 9;
800  else if (link >= 7 && link <= 9)
801  mpc_id = 16;
802  else if (link >= 10 && link <= 12)
803  mpc_id = 22;
804  else if (link >= 13 && link <= 15)
805  mpc_id = 28;
806  } else if (sp_num == 5) {
807  if (link >= 1 && link <= 3)
808  mpc_id = 10;
809  else if (link >= 4 && link <= 6)
810  mpc_id = 11;
811  else if (link >= 7 && link <= 9)
812  mpc_id = 17;
813  else if (link >= 10 && link <= 12)
814  mpc_id = 23;
815  else if (link >= 13 && link <= 15)
816  mpc_id = 29;
817  } else if (sp_num == 6) {
818  if (link >= 1 && link <= 3)
819  mpc_id = 12;
820  else if (link >= 4 && link <= 6)
821  mpc_id = 1;
822  else if (link >= 7 && link <= 9)
823  mpc_id = 18;
824  else if (link >= 10 && link <= 12)
825  mpc_id = 24;
826  else if (link >= 13 && link <= 15)
827  mpc_id = 30;
828  } else if (sp_num == 7) {
829  if (link >= 1 && link <= 3)
830  mpc_id = 32;
831  else if (link >= 4 && link <= 6)
832  mpc_id = 33;
833  else if (link >= 7 && link <= 9)
834  mpc_id = 43;
835  else if (link >= 10 && link <= 12)
836  mpc_id = 49;
837  else if (link >= 13 && link <= 15)
838  mpc_id = 55;
839  } else if (sp_num == 8) {
840  if (link >= 1 && link <= 3)
841  mpc_id = 34;
842  else if (link >= 4 && link <= 6)
843  mpc_id = 35;
844  else if (link >= 7 && link <= 9)
845  mpc_id = 44;
846  else if (link >= 10 && link <= 12)
847  mpc_id = 50;
848  else if (link >= 13 && link <= 15)
849  mpc_id = 56;
850  } else if (sp_num == 9) {
851  if (link >= 1 && link <= 3)
852  mpc_id = 36;
853  else if (link >= 4 && link <= 6)
854  mpc_id = 37;
855  else if (link >= 7 && link <= 9)
856  mpc_id = 45;
857  else if (link >= 10 && link <= 12)
858  mpc_id = 51;
859  else if (link >= 13 && link <= 15)
860  mpc_id = 57;
861  } else if (sp_num == 10) {
862  if (link >= 1 && link <= 3)
863  mpc_id = 38;
864  else if (link >= 4 && link <= 6)
865  mpc_id = 39;
866  else if (link >= 7 && link <= 9)
867  mpc_id = 46;
868  else if (link >= 10 && link <= 12)
869  mpc_id = 52;
870  else if (link >= 13 && link <= 15)
871  mpc_id = 58;
872  } else if (sp_num == 11) {
873  if (link >= 1 && link <= 3)
874  mpc_id = 40;
875  else if (link >= 4 && link <= 6)
876  mpc_id = 41;
877  else if (link >= 7 && link <= 9)
878  mpc_id = 47;
879  else if (link >= 10 && link <= 12)
880  mpc_id = 53;
881  else if (link >= 13 && link <= 15)
882  mpc_id = 59;
883  } else if (sp_num == 12) {
884  if (link >= 1 && link <= 3)
885  mpc_id = 42;
886  else if (link >= 4 && link <= 6)
887  mpc_id = 31;
888  else if (link >= 7 && link <= 9)
889  mpc_id = 48;
890  else if (link >= 10 && link <= 12)
891  mpc_id = 54;
892  else if (link >= 13 && link <= 15)
893  mpc_id = 60;
894  }
895 
896  if (integrity)
897  csctferrors_mpc->Fill(0.5, mpc_id);
898  if ((ise >> j) & 0x1)
899  csctferrors_mpc->Fill(1.5, mpc_id);
900  if ((ism >> j) & 0x1)
901  csctferrors_mpc->Fill(2.5, mpc_id);
902  if ((ibx >> j) & 0x1)
903  csctferrors_mpc->Fill(3.5, mpc_id);
904  if ((iaf >> j) & 0x1)
905  csctferrors_mpc->Fill(4.5, mpc_id);
906  if (ifmm != 8)
907  csctferrors_mpc->Fill(5.5, mpc_id);
908  }
909 
910  if (stat->VPs() != 0) {
911  L1ABXN += stat->BXN();
912  nStat++;
913  }
914  }
915  // compute the average
916  if (nStat != 0)
917  L1ABXN /= nStat;
918  if (integrity)
919  csctferrors->Fill(0.5);
920  if (se)
921  csctferrors->Fill(1.5);
922  if (sm)
923  csctferrors->Fill(2.5);
924  if (bx)
925  csctferrors->Fill(3.5);
926  if (af)
927  csctferrors->Fill(4.5);
928  if (fmm)
929  csctferrors->Fill(5.5);
930  }
931 
932  if (lctProducer.label() != "null") {
934  c.get<MuonGeometryRecord>().get(pDD);
935 
937  e.getByToken(corrlctsToken_, corrlcts);
938 
940  csc != corrlcts.product()->end();
941  csc++) {
942  CSCCorrelatedLCTDigiCollection::Range range1 = corrlcts.product()->get((*csc).first);
943  for (CSCCorrelatedLCTDigiCollection::const_iterator lct = range1.first; lct != range1.second; lct++) {
944  int endcap = (*csc).first.endcap() - 1;
945  int station = (*csc).first.station() - 1;
946  int sector = (*csc).first.triggerSector() - 1;
947  int subSector = CSCTriggerNumbering::triggerSubSectorFromLabels((*csc).first);
948  int ring = (*csc).first.ring();
949  int cscId = (*csc).first.triggerCscId() - 1;
950  int fpga = (subSector ? subSector - 1 : station + 1);
951  int strip = lct->getStrip();
952  int keyWire = lct->getKeyWG();
953  int bx = lct->getBX();
954 
955  int endcapAssignment = 1;
956  int shift = 1;
957  float sectorArg = sector;
958  //float sectorArg = j;
959 
960  if (endcap == 1) {
961  endcapAssignment = -1;
962  shift = 2;
963  //sectorArg = sector - 6;
964  }
965 
966  int signedStation = (station + shift) * endcapAssignment;
967  if ((station == 0) && (endcap == 0))
968  signedStation = subSector - 1;
969  if ((station == 0) && (endcap == 1))
970  signedStation = (-1) * subSector;
971 
972  float chamberArg1 = cscId * 0.1 + sectorArg;
973  //float chamberArg1 = i*0.1 + sectorArg;
974  //std::cout << "First" << i << " " << sectorArg << " " << chamberArg1 << std::endl;
975 
976  float chamberArg11 = chamberArg1;
977  if (sectorArg == 1)
978  chamberArg1 = chamberArg11 - 0.1;
979  if (sectorArg == 2)
980  chamberArg1 = chamberArg11 - 0.2;
981  if (sectorArg == 3)
982  chamberArg1 = chamberArg11 - 0.3;
983  if (sectorArg == 4)
984  chamberArg1 = chamberArg11 - 0.4;
985  if (sectorArg == 5)
986  chamberArg1 = chamberArg11 - 0.5;
987 
988  //std::cout << "cscId, station, sector, endcap, sectorArg, chamber Arg: " << cscId << ", " << station << ", " <<sector << ", " << endcap << ", " << chamberArg1 << ", " << signedStation << std::endl;
989 
990  csctfChamberOccupancies->Fill(chamberArg1, signedStation);
991  //int bunchX = ( (lct->getBX()) - 6 );
992 
993  //int timingSectorArg = 3*(sector) + (lct->getMPCLink());
994  //if( endcap == 1) timingSectorArg = 3*(sector + 6) + (lct->getMPCLink());
995  //std::cout << "Sector, MPCLink, TSA, endcap: " << sector << ", " << lct->getMPCLink() << ", " << timingSectorArg << ", " << endcap << std::endl;
996 
997  //csctfbx->Fill(timingSectorArg, bunchX );
998  //std::cout << "LCT'S, encap: " << endcap << ", station: " << station << ", sector: " << sector << ", subSector: " << subSector << ", cscId: " << cscId << std:: endl;
999  //End JAG
1000 
1001  // Check if Det Id is within pysical range:
1002  if (endcap < 0 || endcap > 1 || sector < 0 || sector > 6 || station < 0 || station > 3 || cscId < 0 ||
1003  cscId > 8 || fpga < 0 || fpga > 4) {
1004  edm::LogError("L1CSCTF: CSC TP are out of range: ")
1005  << " endcap: " << (endcap + 1) << " station: " << (station + 1) << " sector: " << (sector + 1)
1006  << " subSector: " << subSector << " fpga: " << fpga << " cscId: " << (cscId + 1);
1007  continue;
1008  }
1009 
1010  int EndCapLUT = 1;
1011  //if(endcap==0) EndCapLUT=1; // ME+
1012  if (endcap == 1)
1013  EndCapLUT = 0; // ME-
1014 
1015  lclphidat lclPhi;
1016  try {
1017  lclPhi = srLUTs_[fpga][EndCapLUT][sector]->localPhi(
1018  lct->getStrip(), lct->getPattern(), lct->getQuality(), lct->getBend(), gangedME11a_);
1019  } catch (cms::Exception&) {
1020  bzero(&lclPhi, sizeof(lclPhi));
1021  }
1022 
1023  gblphidat gblPhi;
1024  try {
1025  gblPhi =
1026  srLUTs_[fpga][EndCapLUT][sector]->globalPhiME(lclPhi.phi_local, lct->getKeyWG(), cscId + 1, gangedME11a_);
1027  } catch (cms::Exception&) {
1028  bzero(&gblPhi, sizeof(gblPhi));
1029  }
1030 
1031  gbletadat gblEta;
1032  try {
1033  gblEta = srLUTs_[fpga][EndCapLUT][sector]->globalEtaME(
1034  lclPhi.phi_bend_local, lclPhi.phi_local, lct->getKeyWG(), cscId + 1, gangedME11a_);
1035  } catch (cms::Exception&) {
1036  bzero(&gblEta, sizeof(gblEta));
1037  }
1038 
1039  //TrackStub
1040  csctf::TrackStub theStub((*lct), (*csc).first);
1041  theStub.setPhiPacked(gblPhi.global_phi);
1042  theStub.setEtaPacked(gblEta.global_eta);
1043 
1044  float etaG = theStub.etaValue();
1045  float phiG = fmod(theStub.phiValue() + 15.0 * M_PI / 180 + (sector)*60.0 * M_PI / 180, 2. * M_PI);
1046 
1047  //BX plots
1048  // endcap==1: minus side; endcap==0: plus side
1049  // station=0,1,2,3; ring=1,2,3;
1050  if (endcap == 1) {
1051  if (station == 0) {
1052  if (ring == 1)
1053  csctflcts->Fill(bx, 8.5);
1054  else if (ring == 2)
1055  csctflcts->Fill(bx, 7.5);
1056  else
1057  csctflcts->Fill(bx, 6.5);
1058  } else if (station == 1) {
1059  if (ring == 1)
1060  csctflcts->Fill(bx, 5.5);
1061  else
1062  csctflcts->Fill(bx, 4.5);
1063  } else if (station == 2) {
1064  if (ring == 1)
1065  csctflcts->Fill(bx, 3.5);
1066  else
1067  csctflcts->Fill(bx, 2.5);
1068  } else if (station == 3) {
1069  if (ring == 1)
1070  csctflcts->Fill(bx, 1.5);
1071  else
1072  csctflcts->Fill(bx, 0.5);
1073  }
1074 
1075  } else {
1076  if (station == 0) {
1077  if (ring == 1)
1078  csctflcts->Fill(bx, 9.5);
1079  else if (ring == 2)
1080  csctflcts->Fill(bx, 10.5);
1081  else
1082  csctflcts->Fill(bx, 11.5);
1083  } else if (station == 1) {
1084  if (ring == 1)
1085  csctflcts->Fill(bx, 12.5);
1086  else
1087  csctflcts->Fill(bx, 13.5);
1088  } else if (station == 2) {
1089  if (ring == 1)
1090  csctflcts->Fill(bx, 14.5);
1091  else
1092  csctflcts->Fill(bx, 15.5);
1093  } else if (station == 3) {
1094  if (ring == 1)
1095  csctflcts->Fill(bx, 16.5);
1096  else
1097  csctflcts->Fill(bx, 17.5);
1098  }
1099  }
1100 
1101  // only for ME1/1
1102  if (station == 0 && ring == 1) {
1104  me11_lctWire->Fill(keyWire);
1105  me11_lctLocalPhi->Fill(lclPhi.phi_local);
1106  me11_lctPackedPhi->Fill(theStub.phiPacked());
1107  me11_lctGblPhi->Fill(phiG);
1108  me11_lctGblEta->Fill(etaG);
1109  }
1110 
1111  // only for ME4/2
1112  if (station == 3 && ring == 2) {
1113  me42_lctGblPhi->Fill(phiG);
1114  me42_lctGblEta->Fill(etaG);
1115  }
1116 
1117  //ME1/1
1118  if (station == 0 && ring == 1) {
1119  int realID = cscId + 6 * sector + 3 * subSector;
1120  if (realID > 36)
1121  realID -= 36;
1122  if (endcap == 0) {
1123  csc_strip_MEplus11->Fill(realID, strip);
1124  csc_wire_MEplus11->Fill(realID, keyWire);
1125  if (keyWire > 48 || strip > 224)
1126  cscWireStripOverflow->Fill(realID, 9.5, 1);
1127  }
1128  if (endcap == 1) {
1129  csc_strip_MEminus11->Fill(realID, strip);
1130  csc_wire_MEminus11->Fill(realID, keyWire);
1131  if (keyWire > 48 || strip > 224)
1132  cscWireStripOverflow->Fill(realID, 8.5, 1);
1133  }
1134  }
1135  //ME1/2
1136  if (station == 0 && ring == 2) {
1137  int realID = (cscId - 3) + 6 * sector + 3 * subSector;
1138  if (realID > 36)
1139  realID -= 36;
1140  if (endcap == 0) {
1141  csc_strip_MEplus12->Fill(realID, strip);
1142  csc_wire_MEplus12->Fill(realID, keyWire);
1143  if (keyWire > 64 || strip > 160)
1144  cscWireStripOverflow->Fill(realID, 10.5, 1);
1145  }
1146  if (endcap == 1) {
1147  csc_strip_MEminus12->Fill(realID, strip);
1148  csc_wire_MEminus12->Fill(realID, keyWire);
1149  if (keyWire > 64 || strip > 160)
1150  cscWireStripOverflow->Fill(realID, 7.5, 1);
1151  }
1152  }
1153  //ME1/3
1154  if (station == 0 && ring == 3) {
1155  int realID = (cscId - 6) + 6 * sector + 3 * subSector;
1156  if (realID > 36)
1157  realID -= 36;
1158  if (endcap == 0) {
1159  csc_strip_MEplus13->Fill(realID, strip);
1160  csc_wire_MEplus13->Fill(realID, keyWire);
1161  if (keyWire > 32 || strip > 128)
1162  cscWireStripOverflow->Fill(realID, 11.5, 1);
1163  }
1164  if (endcap == 1) {
1165  csc_strip_MEminus13->Fill(realID, strip);
1166  csc_wire_MEminus13->Fill(realID, keyWire);
1167  if (keyWire > 32 || strip > 128)
1168  cscWireStripOverflow->Fill(realID, 6.5, 1);
1169  }
1170  }
1171  //ME2/1
1172  if (station == 1 && ring == 1) {
1173  int realID = cscId + 3 * sector + 2;
1174  if (realID > 18)
1175  realID -= 18;
1176  if (endcap == 0) {
1177  csc_strip_MEplus21->Fill(realID, strip);
1178  csc_wire_MEplus21->Fill(realID, keyWire);
1179  if (keyWire > 112 || strip > 160)
1180  cscWireStripOverflow->Fill(realID, 12.5, 1);
1181  }
1182  if (endcap == 1) {
1183  csc_strip_MEminus21->Fill(realID, strip);
1184  csc_wire_MEminus21->Fill(realID, keyWire);
1185  if (keyWire > 112 || strip > 160)
1186  cscWireStripOverflow->Fill(realID, 5.5, 1);
1187  }
1188  }
1189  //ME2/2
1190  if (station == 1 && ring == 2) {
1191  int realID = (cscId - 3) + 6 * sector + 3;
1192  if (realID > 36)
1193  realID -= 36;
1194  if (endcap == 0) {
1195  csc_strip_MEplus22->Fill(realID, strip);
1196  csc_wire_MEplus22->Fill(realID, keyWire);
1197  if (keyWire > 64 || strip > 160)
1198  cscWireStripOverflow->Fill(realID, 13.5, 1);
1199  }
1200  if (endcap == 1) {
1201  csc_strip_MEminus22->Fill(realID, strip);
1202  csc_wire_MEminus22->Fill(realID, keyWire);
1203  if (keyWire > 64 || strip > 160)
1204  cscWireStripOverflow->Fill(realID, 4.5, 1);
1205  }
1206  }
1207 
1208  //ME3/1
1209  if (station == 2 && ring == 1) {
1210  int realID = cscId + 3 * sector + 2;
1211  if (realID > 18)
1212  realID -= 18;
1213  if (endcap == 0) {
1214  csc_strip_MEplus31->Fill(realID, strip);
1215  csc_wire_MEplus31->Fill(realID, keyWire);
1216  if (keyWire > 96 || strip > 160)
1217  cscWireStripOverflow->Fill(realID, 14.5, 1);
1218  }
1219  if (endcap == 1) {
1220  csc_strip_MEminus31->Fill(realID, strip);
1221  csc_wire_MEminus31->Fill(realID, keyWire);
1222  if (keyWire > 96 || strip > 160)
1223  cscWireStripOverflow->Fill(realID, 3.5, 1);
1224  }
1225  }
1226 
1227  //ME3/2
1228  if (station == 2 && ring == 2) {
1229  int realID = (cscId - 3) + 6 * sector + 3;
1230  if (realID > 36)
1231  realID -= 36;
1232  if (endcap == 0) {
1233  csc_strip_MEplus32->Fill(realID, strip);
1234  csc_wire_MEplus32->Fill(realID, keyWire);
1235  if (keyWire > 64 || strip > 160)
1236  cscWireStripOverflow->Fill(realID, 15.5, 1);
1237  }
1238  if (endcap == 1) {
1239  csc_strip_MEminus32->Fill(realID, strip);
1240  csc_wire_MEminus32->Fill(realID, keyWire);
1241  if (keyWire > 64 || strip > 160)
1242  cscWireStripOverflow->Fill(realID, 2.5, 1);
1243  }
1244  }
1245  //ME4/1
1246  if (station == 3 && ring == 1) {
1247  int realID = cscId + 3 * sector + 2;
1248  if (realID > 18)
1249  realID -= 18;
1250  if (endcap == 0) {
1251  csc_strip_MEplus41->Fill(realID, strip);
1252  csc_wire_MEplus41->Fill(realID, keyWire);
1253  if (keyWire > 96 || strip > 160)
1254  cscWireStripOverflow->Fill(realID, 16.5, 1);
1255  }
1256  if (endcap == 1) {
1257  csc_strip_MEminus41->Fill(realID, strip);
1258  csc_wire_MEminus41->Fill(realID, keyWire);
1259  if (keyWire > 96 || strip > 160)
1260  cscWireStripOverflow->Fill(realID, 1.5, 1);
1261  }
1262  }
1263  //ME4/2
1264  if (station == 3 && ring == 2) {
1265  int realID = (cscId - 3) + 6 * sector + 3;
1266  if (realID > 36)
1267  realID -= 36;
1268  if (endcap == 0) {
1269  csc_strip_MEplus42->Fill(realID, strip);
1270  csc_wire_MEplus42->Fill(realID, keyWire);
1271  if (keyWire > 64 || strip > 160)
1272  cscWireStripOverflow->Fill(realID, 17.5, 1);
1273  }
1274  if (endcap == 1) {
1275  csc_strip_MEminus42->Fill(realID, strip);
1276  csc_wire_MEminus42->Fill(realID, keyWire);
1277  if (keyWire > 64 || strip > 160)
1278  cscWireStripOverflow->Fill(realID, 0.5, 1);
1279  }
1280  }
1281 
1282  // SR LUT gives packed eta and phi values -> normilize them to 1 by scale them to 'max' and shift by 'min'
1283  //float etaP = gblEta.global_eta/127*1.5 + 0.9;
1284  //float phiP = (gblPhi.global_phi);// + ( sector )*4096 + station*4096*12) * 1./(4*4096*12);
1285  //std::cout << "LCT Eta & Phi Coordinates: " << etaP << ", " << phiP << "." << std::endl;
1286  //csctfoccupancies->Fill( gblEta.global_eta/127. * 1.5 + 0.9, (gblPhi.global_phi + ( sector + (endcap?0:6) )*4096 + station*4096*12) * 1./(4*4096*12) );
1287  } //lct != range1.scond
1288  } //csc!=corrlcts.product()->end()
1289  } // lctProducer.label() != "null"
1290 
1291  if (trackProducer.label() != "null") {
1293  e.getByToken(tracksToken_, tracks);
1294  for (L1CSCTrackCollection::const_iterator trk = tracks->begin(); trk < tracks->end(); trk++) {
1295  NumCSCTfTracksRep++;
1296  long LUTAdd = trk->first.ptLUTAddress();
1297  int trigMode = ((LUTAdd)&0xf0000) >> 16;
1298  int trEta = (trk->first.eta_packed());
1299 
1300  // trk->first.endcap() = 2 for - endcap
1301  // = 1 for + endcap
1302  //int trEndcap = (trk->first.endcap()==2 ? trk->first.endcap()-3 : trk->first.endcap());
1303  if (trk->first.endcap() != 1) {
1304  int holder = trEta;
1305  trEta = -1 * holder;
1306  trEta -= 1;
1307  }
1308 
1309  int trSector = 6 * (trk->first.endcap() - 1) + trk->first.sector();
1310  int trBX = trk->first.BX();
1311 
1312  //Here is what is done with output phi value:
1313  //output_phi = (phi / 32) * 3 /16
1314  //where:
1315  //phi is 12-bit phi, 4096 bins covering 62 degrees
1316  //output_phi is 5-bit value
1317 
1318  //Easy to see that output_phi can have values from 0 to 23, or 24 total combinations.
1319  //This gives per-bin phi value of 62/24 = 2.583333 degrees.
1320 
1321  // Sector 1 nominally starts at 15 degrees but there 1 degree overlap between sectors so 14 degrees effectively
1322  //double trPhi = trk->first.localPhi() * 62. / 24.;
1323  double trPhi = ts->getPhiScale()->getLowEdge(trk->first.localPhi());
1324  double trPhi02PI = fmod(trPhi + ((trSector - 1) * M_PI / 3) + (M_PI * 14 / 180.), 2 * M_PI);
1325 
1326  if (trigMode == 15) {
1327  csctfTrackPhi_H->Fill(trPhi02PI);
1328  csctfTrackEta_H->Fill(trEta);
1329  csctfoccupancies_H->Fill(trEta, trPhi02PI);
1330  csctfbx_H->Fill(trSector, trBX);
1331  } else {
1332  csctfTrackPhi->Fill(trPhi02PI);
1333  csctfTrackEta->Fill(trEta);
1334  csctfoccupancies->Fill(trEta, trPhi02PI);
1335  csctfbx->Fill(trSector, trBX);
1336 
1337  // Low Quality / High Quality Eta Distributions
1338  //|eta| < 2.1
1339  if (abs(trEta) < 24) {
1340  if (trigMode == 2 || trigMode == 3 || trigMode == 4 || trigMode == 5 || trigMode == 6 || trigMode == 7 ||
1341  trigMode == 11 || trigMode == 12 || trigMode == 13 || trigMode == 14)
1342  csctfTrackEtaHighQ->Fill(trEta);
1343 
1344  if (trigMode == 8 || trigMode == 9 || trigMode == 10)
1345  csctfTrackEtaLowQ->Fill(trEta);
1346  } else { //|eta| > 2.1
1347  if (trigMode == 2 || trigMode == 3 || trigMode == 4 || trigMode == 5)
1348  csctfTrackEtaHighQ->Fill(trEta);
1349  else
1350  csctfTrackEtaLowQ->Fill(trEta);
1351  }
1352  }
1353 
1354  csctfTrackM->Fill(trk->first.modeExtended());
1355 
1356  // we monitor the track quality only on the first link
1357  // so let's make sure to fill the plot if there is something that
1358  // is read from the hardware
1359  int trRank = trk->first.rank();
1360  if (trRank) {
1361  int trQuality = ((trRank >> 5) & 0x3);
1362  trackModeVsQ->Fill(trk->first.modeExtended(), trQuality);
1363  }
1364 
1365  /*
1366  OLD METHOD FOR FILLING HALO PLOTS, IMPROVED METHOD USING ASSOCIATED TRACK STUBS
1367  BELOW ~LINE 605
1368  if( trigMode == 15 )
1369  {
1370 
1371  double haloVals[4][4];
1372  for( int i = 0; i < 4; i++)
1373  {
1374  haloVals[i][0] = 0;
1375  }
1376 
1377  edm::Handle<CSCCorrelatedLCTDigiCollection> corrlcts;
1378  for(CSCCorrelatedLCTDigiCollection::DigiRangeIterator csc=corrlcts.product()->begin(); csc!=corrlcts.product()->end(); csc++)
1379  {
1380  CSCCorrelatedLCTDigiCollection::Range range1 = corrlcts.product()->get((*csc).first);
1381  for(CSCCorrelatedLCTDigiCollection::const_iterator lct=range1.first; lct!=range1.second; lct++)
1382  {
1383  int endcap = (*csc).first.endcap()-1;
1384  int station = (*csc).first.station()-1;
1385  int sector = (*csc).first.triggerSector()-1;
1386  int cscId = (*csc).first.triggerCscId()-1;
1387  int subSector = CSCTriggerNumbering::triggerSubSectorFromLabels((*csc).first);
1388  int fpga = ( subSector ? subSector-1 : station+1 );
1389 
1390  if(station != 4)
1391  {
1392  int modEnd = 1;
1393  if( endcap == 0 ) modEnd = -1;
1394  int indexHalo = modEnd + station;
1395  if(haloVals[indexHalo][0] == 1.0) haloVals[indexHalo][3] = 1.0;
1396  if(haloVals[indexHalo][0] == 0) haloVals[indexHalo][0] = 1.0;
1397  haloVals[indexHalo][1] = sector*1.0;
1398 
1399  lclphidat lclPhi;
1400  lclPhi = srLUTs_[fpga]->localPhi(lct->getStrip(), lct->getPattern(), lct->getQuality(), lct->getBend());
1401  gblphidat gblPhi;
1402  gblPhi = srLUTs_[fpga]->globalPhiME(lclPhi.phi_local, lct->getKeyWG(), cscId+1);
1403  gbletadat gblEta;
1404  gblEta = srLUTs_[fpga]->globalEtaME(lclPhi.phi_bend_local, lclPhi.phi_local, lct->getKeyWG(), cscId+1);
1405 
1406  haloVals[indexHalo][2] = gblEta.global_eta/127. * 1.5 + 0.9;
1407  } //station1 or 2
1408  } //lct first to second
1409  } //corrlcts
1410 
1411  if( (haloVals[0][0] == 1.) && (haloVals[1][0] == 1.) && (haloVals[0][3] != 1.) && (haloVals[1][3] != 1.) )
1412  {
1413  if( haloVals[0][1] == haloVals[1][1] ){
1414  double delEta23 = haloVals[1][2] - haloVals[0][2];
1415  haloDelEta23->Fill( delEta23 );
1416  }
1417  }
1418 
1419  if( (haloVals[2][0] == 1.) && (haloVals[3][0] == 1.) && (haloVals[2][3] != 1.) && (haloVals[3][3] != 1.) )
1420  {
1421  if( haloVals[2][1] == haloVals[3][1] ){
1422  double delEta23 = haloVals[3][2] - haloVals[2][2];
1423  haloDelEta23->Fill( delEta23 );
1424  }
1425  }
1426  } //halo trigger
1427  */
1428 
1429  int cscTrackStub = 0;
1430  //float haloEta[3];
1431  //for(int i=0; i<3; i++) haloEta[i]=-1.0;
1432  //bool haloME11 = false;
1433  CSCCorrelatedLCTDigiCollection lctsOfTracks = trk->second;
1434  for (CSCCorrelatedLCTDigiCollection::DigiRangeIterator trackStub = lctsOfTracks.begin();
1435  trackStub != lctsOfTracks.end();
1436  trackStub++) {
1437  CSCCorrelatedLCTDigiCollection::Range range2 = lctsOfTracks.get((*trackStub).first);
1438  for (CSCCorrelatedLCTDigiCollection::const_iterator lct = range2.first; lct != range2.second; lct++) {
1439  // int station = (*trackStub).first.station()-1;
1440  // if(station != 4)
1441  // {
1442  // // int endcap = (*trackStub).first.endcap()-1;
1443  // // int sector = (*trackStub).first.triggerSector()-1;
1444  // int cscId = (*trackStub).first.triggerCscId()-1;
1445  // int subSector = CSCTriggerNumbering::triggerSubSectorFromLabels((*trackStub).first);
1446  // int fpga = ( subSector ? subSector-1 : station+1 );
1447 
1448  // lclphidat lclPhi;
1449  // lclPhi = srLUTs_[fpga]->localPhi(lct->getStrip(), lct->getPattern(), lct->getQuality(), lct->getBend());
1450  // gblphidat gblPhi;
1451  // gblPhi = srLUTs_[fpga]->globalPhiME(lclPhi.phi_local, lct->getKeyWG(), cscId+1);
1452  // gbletadat gblEta;
1453  // gblEta = srLUTs_[fpga]->globalEtaME(lclPhi.phi_bend_local, lclPhi.phi_local, lct->getKeyWG(), cscId+1);
1454  // haloEta[station-1] = gblEta.global_eta/127. * 1.5 + 0.9;
1455  // if(station==1 && cscId<2) haloME11 = true;
1456  // }
1457  cscTrackStub++;
1458  }
1459  }
1460  cscTrackStubNumbers->Fill(cscTrackStub);
1461 
1462  // if(trigMode == 15)
1463  // {
1464  // float dEta13 = haloEta[2]-haloEta[0];
1465  // float dEta12 = haloEta[1]-haloEta[0];
1466  // if(haloME11)
1467  // {
1468  // if(haloEta[1]!=-1.0) haloDelEta112->Fill(dEta12);
1469  // if(haloEta[2]!=-1.0) haloDelEta113->Fill(dEta13);
1470  // } else {
1471  // if(haloEta[1]!=-1.0) haloDelEta12->Fill(dEta12);
1472  // if(haloEta[2]!=-1.0) haloDelEta13->Fill(dEta13);
1473  // }
1474  // }
1475  //
1476  }
1477  }
1478  csctfntrack->Fill(NumCSCTfTracksRep);
1479 
1480  if (mbProducer.label() != "null") {
1481  // handle to needed collections
1483  e.getByToken(dtStubsToken_, dtStubs);
1485  e.getByToken(mbtracksToken_, tracks);
1486 
1487  // loop on the DT stubs
1488  std::vector<csctf::TrackStub> vstubs = dtStubs->get();
1489  for (std::vector<csctf::TrackStub>::const_iterator stub = vstubs.begin(); stub != vstubs.end(); stub++) {
1490  if (verbose_) {
1491  edm::LogInfo("DataNotFound") << "\n mbEndcap: " << stub->endcap();
1492  edm::LogInfo("DataNotFound") << "\n stub->getStrip()[FLAG]: " << stub->getStrip();
1493  edm::LogInfo("DataNotFound") << "\n stub->getKeyWG()[CAL]: " << stub->getKeyWG();
1494  edm::LogInfo("DataNotFound") << "\n stub->BX(): " << stub->BX();
1495  edm::LogInfo("DataNotFound") << "\n stub->sector(): " << stub->sector();
1496  edm::LogInfo("DataNotFound") << "\n stub->subsector(): " << stub->subsector();
1497  edm::LogInfo("DataNotFound") << "\n stub->station(): " << stub->station();
1498  edm::LogInfo("DataNotFound") << "\n stub->phiPacked(): " << stub->phiPacked();
1499  edm::LogInfo("DataNotFound") << "\n stub->getBend(): " << stub->getBend();
1500  edm::LogInfo("DataNotFound") << "\n stub->getQuality(): " << stub->getQuality();
1501  edm::LogInfo("DataNotFound") << "\n stub->cscid(): " << stub->cscid() << endl;
1502  }
1503  // define the sector ID
1504  int mbId = (stub->endcap() == 2) ? 6 : 0;
1505  mbId += stub->sector();
1506  // *** do not fill if CalMB variable is set ***
1507  // horrible! They used the same class to write up the LCT and MB info,
1508  // but given the MB does not have strip and WG they replaced this two
1509  // with the flag and cal bits... :S
1510  if (stub->getKeyWG() == 0)
1511  {
1512  // if FLAG =1, muon belong to previous BX
1513  int bxDT = stub->BX() - stub->getStrip(); // correct by the FLAG
1514  int subDT = stub->subsector();
1515 
1516  // Fill the event only if CSC had or would have triggered
1517  if (isCSCcand_) {
1518  //look for tracks in the event and compare the matching DT stubs
1519  int trkBX = 0;
1520  for (L1CSCTrackCollection::const_iterator trk = tracks->begin(); trk < tracks->end(); trk++) {
1521  trkBX = trk->first.BX();
1522  int trkId = (trk->first.endcap() == 2) ? 6 : 0;
1523  trkId += trk->first.sector();
1524  if (verbose_) {
1525  edm::LogInfo("DataNotFound")
1526  << "\n trk BX: " << trkBX << " Sector: " << trkId << " SubSector: " << trk->first.subsector()
1527  << " Endcap: " << trk->first.endcap();
1528 
1529  edm::LogInfo("DataNotFound")
1530  << "\n DT BX: " << stub->BX() << " Sector: " << mbId << " SubSector: " << stub->subsector()
1531  << " Endcap: " << stub->endcap() << endl;
1532  }
1533 
1534  if (mbId == trkId) {
1535  if (verbose_) {
1536  edm::LogInfo("DataNotFound") << " --> MATCH" << endl;
1537  edm::LogInfo("DataNotFound") << "Fill :" << trkBX + 6 - bxDT << " -- " << subDT << " -- cands" << endl;
1538  }
1539  // DT bx ranges from 3 to 9
1540  // trk bx ranges from -3 to 3
1541  DTstubsTimeTrackMenTimeArrival[mbId - 1]->Fill(bxDT - trkBX - 6, subDT); //subsec
1542  }
1543  } // loop on the tracks
1544  } //if (isCSCcand_){
1545  } //if (stub->getKeyWG() == 0) {
1546  }
1547  }
1548 }

References funct::abs(), l1GtPatternGenerator_cfi::bx, BxInEvent_, HltBtagPostValidation_cff::c, edm::eventsetup::EventSetupRecord::cacheIdentifier(), corrlctsToken_, csc_strip_MEminus11, csc_strip_MEminus12, csc_strip_MEminus13, csc_strip_MEminus21, csc_strip_MEminus22, csc_strip_MEminus31, csc_strip_MEminus32, csc_strip_MEminus41, csc_strip_MEminus42, csc_strip_MEplus11, csc_strip_MEplus12, csc_strip_MEplus13, csc_strip_MEplus21, csc_strip_MEplus22, csc_strip_MEplus31, csc_strip_MEplus32, csc_strip_MEplus41, csc_strip_MEplus42, csc_wire_MEminus11, csc_wire_MEminus12, csc_wire_MEminus13, csc_wire_MEminus21, csc_wire_MEminus22, csc_wire_MEminus31, csc_wire_MEminus32, csc_wire_MEminus41, csc_wire_MEminus42, csc_wire_MEplus11, csc_wire_MEplus12, csc_wire_MEplus13, csc_wire_MEplus21, csc_wire_MEplus22, csc_wire_MEplus31, csc_wire_MEplus32, csc_wire_MEplus41, csc_wire_MEplus42, csctfbx, csctfbx_H, csctfChamberOccupancies, csctferrors, csctferrors_mpc, csctflcts, csctfntrack, csctfoccupancies, csctfoccupancies_H, csctfTrackEta, csctfTrackEta_H, csctfTrackEtaHighQ, csctfTrackEtaLowQ, csctfTrackM, csctfTrackPhi, csctfTrackPhi_H, cscTrackStubNumbers, cscWireStripOverflow, DTstubsTimeTrackMenTimeArrival, dtStubsToken_, MillePedeFileConverter_cfg::e, makeMuonMisalignmentScenario::endcap, csctf::TrackStub::etaValue(), dqm::impl::MonitorElement::Fill(), gangedME11a_, get, L1MuScale::getLowEdge(), L1MuTriggerScales::getPhiScale(), L1MuGMTReadoutCollection::getRecords(), CSCSectorReceiverLUT::globalEtaME(), CSCSectorReceiverLUT::globalPhiME(), gmtProducer, gmtProducerToken_, isCSCcand_, ecalpyutils::ism(), edm::HandleBase::isValid(), dqmiolumiharvest::j, L1ABXN, edm::InputTag::label(), lctProducer, MainPageGenerator::link, CSCSectorReceiverLUT::localPhi(), M_PI, m_ptScaleCacheID, m_scalesCacheID, mbProducer, mbtracksToken_, me11_lctGblEta, me11_lctGblPhi, me11_lctLocalPhi, me11_lctPackedPhi, me11_lctStrip, me11_lctWire, me42_lctGblEta, me42_lctGblPhi, nev_, csctf::TrackStub::phiPacked(), csctf::TrackStub::phiValue(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), relativeConstraints::ring, csctf::TrackStub::setEtaPacked(), csctf::TrackStub::setPhiPacked(), edm::shift, srLUTs_, hgcalPlots::stat, relativeConstraints::station, mps_update::status, statusProducer, statusToken_, digitizers_cfi::strip, tpts, trackModeVsQ, trackProducer, PDWG_EXOHSCP_cff::tracks, tracksToken_, CSCTriggerNumbering::triggerSubSectorFromLabels(), ts, verbose_, and testProducerWithPsetDescEmpty_cfi::x1.

◆ bookHistograms()

void L1TCSCTF::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 108 of file L1TCSCTF.cc.

108  {
109  m_scalesCacheID = -999;
110  m_ptScaleCacheID = -999;
111 
112  nev_ = 0;
113  ibooker.setCurrentFolder("L1T/L1TCSCTF");
114 
115  // Error counting histogram:
116  // 1) checks TF data integrity (error rate - first bin),
117  // 2) monitors sychronization on input links (4 errors types: SE/SM/BX/AF; ORed for all time bins, links, and SPs),
118  // 3) reports FMM status (if in any SP FMM status != "Ready" - fill the last bin)
119  csctferrors = ibooker.book1D("CSCTF_errors", "CSCTF Errors", 6, 0, 6);
120  csctferrors->setAxisTitle("Error type", 1);
121  csctferrors->setAxisTitle("Number of Errors", 2);
122  csctferrors->setBinLabel(1, "Corruptions", 1);
123  csctferrors->setBinLabel(2, "Synch. Err.", 1);
124  csctferrors->setBinLabel(3, "Synch. Mod.", 1);
125  csctferrors->setBinLabel(4, "BX mismatch", 1);
126  csctferrors->setBinLabel(5, "Time misalign.", 1);
127  csctferrors->setBinLabel(6, "FMM != Ready", 1);
128 
129  // Error with detailed MCPID
130  csctferrors_mpc = ibooker.book2D("CSCTF_errors_mpc", "CSCTF Errors", 6, 0, 6, 60, 1, 61);
131  csctferrors_mpc->setAxisTitle("Error type", 1);
132  csctferrors_mpc->setAxisTitle("MPC ID", 2);
133  csctferrors_mpc->setBinLabel(1, "Corruptions", 1);
134  csctferrors_mpc->setBinLabel(2, "Synch. Err.", 1);
135  csctferrors_mpc->setBinLabel(3, "Synch. Mod.", 1);
136  csctferrors_mpc->setBinLabel(4, "BX mismatch", 1);
137  csctferrors_mpc->setBinLabel(5, "Time misalign.", 1);
138  csctferrors_mpc->setBinLabel(6, "FMM != Ready", 1);
139  for (int ybin = 1; ybin <= 60; ybin++) {
140  if (ybin % 5)
141  continue;
142  char ytitle[50];
143  snprintf(ytitle, 50, "%d", ybin);
145  }
146 
147  // Occupancy histogram Eta x Y, where Y:
148  // 1) Phi_packed of input LCTs from 1st, 2nd, 3rd, and 4th stations
149  // 2) Phi_packed of output tracks
150  // (all 12 SPs - 360 degree coveradge)
151  csctfoccupancies = ibooker.book2D("CSCTF_occupancies", "CSCTF Occupancies", 64, -32, 31, 32, 0, 6.2);
152  csctfoccupancies->setAxisTitle("#eta", 1);
153  csctfoccupancies->setAxisTitle("#phi", 2);
154  csctfoccupancies->setBinLabel(1, "-2.5", 1);
155  csctfoccupancies->setBinLabel(8, "-2.1", 1);
156  csctfoccupancies->setBinLabel(18, "-1.6", 1);
157  csctfoccupancies->setBinLabel(26, "-1.2", 1);
158  csctfoccupancies->setBinLabel(32, "-0.9", 1);
159  csctfoccupancies->setBinLabel(33, "0.9", 1);
160  csctfoccupancies->setBinLabel(39, "1.2", 1);
161  csctfoccupancies->setBinLabel(47, "1.6", 1);
162  csctfoccupancies->setBinLabel(57, "2.1", 1);
163  csctfoccupancies->setBinLabel(64, "2.5", 1);
164 
165  // ... and for halo muons only
166  csctfoccupancies_H = ibooker.book2D("CSCTF_occupancies_H", "CSCTF Halo Occupancies", 64, -32, 31, 32, 0, 6.2);
167  csctfoccupancies_H->setAxisTitle("#eta", 1);
168  csctfoccupancies_H->setAxisTitle("#phi", 2);
169  csctfoccupancies_H->setBinLabel(1, "-2.5", 1);
170  csctfoccupancies_H->setBinLabel(8, "-2.1", 1);
171  csctfoccupancies_H->setBinLabel(18, "-1.6", 1);
172  csctfoccupancies_H->setBinLabel(26, "-1.2", 1);
173  csctfoccupancies_H->setBinLabel(32, "-0.9", 1);
174  csctfoccupancies_H->setBinLabel(33, "0.9", 1);
175  csctfoccupancies_H->setBinLabel(39, "1.2", 1);
176  csctfoccupancies_H->setBinLabel(47, "1.6", 1);
177  csctfoccupancies_H->setBinLabel(57, "2.1", 1);
178  csctfoccupancies_H->setBinLabel(64, "2.5", 1);
179 
180  //haloDelEta12 = ibooker.book1D("CSCTF_Halo_Eta12", "#Delta #eta_{12} for Halo Muons", 40, -0.20,0.30);
181  //haloDelEta112 = ibooker.book1D("CSCTF_Halo_Eta112","#Delta #eta_{112} for Halo Muons", 40, -0.20,0.30);
182  //haloDelEta13 = ibooker.book1D("CSCTF_Halo_Eta13", "#Delta #eta_{13} for Halo Muons", 40, -0.20,0.30);
183  //haloDelEta113 = ibooker.book1D("CSCTF_Halo_Eta113","#Delta #eta_{113} for Halo Muons", 40, -0.20,0.30);
184 
185  // Quality VS Mode
186  trackModeVsQ = ibooker.book2D("CSCTF_Track_ModeVsQual", "CSC Track Mode Vs Quality", 19, -0.5, 18.5, 4, 0, 4);
187  trackModeVsQ->setAxisTitle("Track Type", 1);
188  trackModeVsQ->setBinLabel(1, "No Track", 1);
189  trackModeVsQ->setBinLabel(2, "Bad Phi/Single", 1);
190  trackModeVsQ->setBinLabel(3, "ME1-2-3", 1);
191  trackModeVsQ->setBinLabel(4, "ME1-2-4", 1);
192  trackModeVsQ->setBinLabel(5, "ME1-3-4", 1);
193  trackModeVsQ->setBinLabel(6, "ME2-3-4", 1);
194  trackModeVsQ->setBinLabel(7, "ME1-2", 1);
195  trackModeVsQ->setBinLabel(8, "ME1-3", 1);
196  trackModeVsQ->setBinLabel(9, "ME2-3", 1);
197  trackModeVsQ->setBinLabel(10, "ME2-4", 1);
198  trackModeVsQ->setBinLabel(11, "ME3-4", 1);
199  trackModeVsQ->setBinLabel(12, "MB1-ME3", 1);
200  trackModeVsQ->setBinLabel(13, "MB1-ME2", 1);
201  trackModeVsQ->setBinLabel(14, "ME1-4", 1);
202  trackModeVsQ->setBinLabel(15, "MB1-ME1", 1);
203  trackModeVsQ->setBinLabel(16, "Halo Trigger", 1);
204  trackModeVsQ->setBinLabel(17, "MB1-ME1-2", 1);
205  trackModeVsQ->setBinLabel(18, "MB1-ME1-3", 1);
206  trackModeVsQ->setBinLabel(19, "MB1-ME2-3", 1);
207 
208  trackModeVsQ->setAxisTitle("Quality", 2);
209  trackModeVsQ->setBinLabel(1, "0", 2);
210  trackModeVsQ->setBinLabel(2, "1", 2);
211  trackModeVsQ->setBinLabel(3, "2", 2);
212  trackModeVsQ->setBinLabel(4, "3", 2);
213 
214  // Mode
215  csctfTrackM = ibooker.book1D("CSCTF_Track_Mode", "CSC Track Mode", 19, -0.5, 18.5);
216  csctfTrackM->setAxisTitle("Track Type", 1);
217  csctfTrackM->setBinLabel(1, "No Track", 1);
218  csctfTrackM->setBinLabel(2, "Bad Phi/Single", 1);
219  csctfTrackM->setBinLabel(3, "ME1-2-3", 1);
220  csctfTrackM->setBinLabel(4, "ME1-2-4", 1);
221  csctfTrackM->setBinLabel(5, "ME1-3-4", 1);
222  csctfTrackM->setBinLabel(6, "ME2-3-4", 1);
223  csctfTrackM->setBinLabel(7, "ME1-2", 1);
224  csctfTrackM->setBinLabel(8, "ME1-3", 1);
225  csctfTrackM->setBinLabel(9, "ME2-3", 1);
226  csctfTrackM->setBinLabel(10, "ME2-4", 1);
227  csctfTrackM->setBinLabel(11, "ME3-4", 1);
228  csctfTrackM->setBinLabel(12, "MB1-ME3", 1);
229  csctfTrackM->setBinLabel(13, "MB1-ME2", 1);
230  csctfTrackM->setBinLabel(14, "ME1-4", 1);
231  csctfTrackM->setBinLabel(15, "MB1-ME1", 1);
232  csctfTrackM->setBinLabel(16, "Halo Trigger", 1);
233  csctfTrackM->setBinLabel(17, "MB1-ME1-2", 1);
234  csctfTrackM->setBinLabel(18, "MB1-ME1-3", 1);
235  csctfTrackM->setBinLabel(19, "MB1-ME2-3", 1);
236 
237  // Chamber Occupancy
239  ibooker.book2D("CSCTF_Chamber_Occupancies", "CSCTF Chamber Occupancies", 54, -0.05, 5.35, 10, -5.5, 4.5);
240  csctfChamberOccupancies->setAxisTitle("Sector, (chambers 1-9 not labeled)", 1);
241  csctfChamberOccupancies->setBinLabel(1, "ME-4", 2);
242  csctfChamberOccupancies->setBinLabel(2, "ME-3", 2);
243  csctfChamberOccupancies->setBinLabel(3, "ME-2", 2);
244  csctfChamberOccupancies->setBinLabel(4, "ME-1b", 2);
245  csctfChamberOccupancies->setBinLabel(5, "ME-1a", 2);
246  csctfChamberOccupancies->setBinLabel(6, "ME+1a", 2);
247  csctfChamberOccupancies->setBinLabel(7, "ME+1b", 2);
248  csctfChamberOccupancies->setBinLabel(8, "ME+2", 2);
249  csctfChamberOccupancies->setBinLabel(9, "ME+3", 2);
250  csctfChamberOccupancies->setBinLabel(10, "ME+4", 2);
257 
258  // Track Phi
259  csctfTrackPhi = ibooker.book1D("CSCTF_Track_Phi", "CSCTF Track #phi", 144, 0, 2 * M_PI);
260  csctfTrackPhi->setAxisTitle("Track #phi", 1);
261 
262  // Track Eta
263  csctfTrackEta = ibooker.book1D("CSCTF_Track_Eta", "CSCTF Track #eta", 64, -32, 32);
264  csctfTrackEta->setAxisTitle("Track #eta", 1);
265  csctfTrackEta->setBinLabel(1, "-2.5", 1);
266  csctfTrackEta->setBinLabel(8, "-2.1", 1);
267  csctfTrackEta->setBinLabel(18, "-1.6", 1);
268  csctfTrackEta->setBinLabel(26, "-1.2", 1);
269  csctfTrackEta->setBinLabel(32, "-0.9", 1);
270  csctfTrackEta->setBinLabel(33, "0.9", 1);
271  csctfTrackEta->setBinLabel(39, "1.2", 1);
272  csctfTrackEta->setBinLabel(47, "1.6", 1);
273  csctfTrackEta->setBinLabel(57, "2.1", 1);
274  csctfTrackEta->setBinLabel(64, "2.5", 1);
275 
276  // Track Eta Low Quality
277  csctfTrackEtaLowQ = ibooker.book1D("CSCTF_Track_Eta_LowQ", "CSCTF Track #eta LQ", 64, -32, 32);
278  csctfTrackEtaLowQ->setAxisTitle("Track #eta", 1);
279  csctfTrackEtaLowQ->setBinLabel(1, "-2.5", 1);
280  csctfTrackEtaLowQ->setBinLabel(8, "-2.1", 1);
281  csctfTrackEtaLowQ->setBinLabel(18, "-1.6", 1);
282  csctfTrackEtaLowQ->setBinLabel(26, "-1.2", 1);
283  csctfTrackEtaLowQ->setBinLabel(32, "-0.9", 1);
284  csctfTrackEtaLowQ->setBinLabel(33, "0.9", 1);
285  csctfTrackEtaLowQ->setBinLabel(39, "1.2", 1);
286  csctfTrackEtaLowQ->setBinLabel(47, "1.6", 1);
287  csctfTrackEtaLowQ->setBinLabel(57, "2.1", 1);
288  csctfTrackEtaLowQ->setBinLabel(64, "2.5", 1);
289 
290  // Track Eta High Quality
291  csctfTrackEtaHighQ = ibooker.book1D("CSCTF_Track_Eta_HighQ", "CSCTF Track #eta HQ", 64, -32, 32);
292  csctfTrackEtaHighQ->setAxisTitle("Track #eta", 1);
293  csctfTrackEtaHighQ->setBinLabel(1, "-2.5", 1);
294  csctfTrackEtaHighQ->setBinLabel(8, "-2.1", 1);
295  csctfTrackEtaHighQ->setBinLabel(18, "-1.6", 1);
296  csctfTrackEtaHighQ->setBinLabel(26, "-1.2", 1);
297  csctfTrackEtaHighQ->setBinLabel(32, "-0.9", 1);
298  csctfTrackEtaHighQ->setBinLabel(33, "0.9", 1);
299  csctfTrackEtaHighQ->setBinLabel(39, "1.2", 1);
300  csctfTrackEtaHighQ->setBinLabel(47, "1.6", 1);
301  csctfTrackEtaHighQ->setBinLabel(57, "2.1", 1);
302  csctfTrackEtaHighQ->setBinLabel(64, "2.5", 1);
303 
304  // Halo Phi
305  csctfTrackPhi_H = ibooker.book1D("CSCTF_Track_Phi_H", "CSCTF Halo #phi", 144, 0, 2 * M_PI);
306  csctfTrackPhi_H->setAxisTitle("Track #phi", 1);
307 
308  // Halo Eta
309  csctfTrackEta_H = ibooker.book1D("CSCTF_Track_Eta_H", "CSCTF Halo #eta", 64, -32, 32);
310  csctfTrackEta_H->setAxisTitle("Track #eta", 1);
311  csctfTrackEta_H->setBinLabel(1, "-2.5", 1);
312  csctfTrackEta_H->setBinLabel(8, "-2.1", 1);
313  csctfTrackEta_H->setBinLabel(18, "-1.6", 1);
314  csctfTrackEta_H->setBinLabel(26, "-1.2", 1);
315  csctfTrackEta_H->setBinLabel(32, "-0.9", 1);
316  csctfTrackEta_H->setBinLabel(33, "0.9", 1);
317  csctfTrackEta_H->setBinLabel(39, "1.2", 1);
318  csctfTrackEta_H->setBinLabel(47, "1.6", 1);
319  csctfTrackEta_H->setBinLabel(57, "2.1", 1);
320  csctfTrackEta_H->setBinLabel(64, "2.5", 1);
321 
322  // Track Timing
323  csctfbx = ibooker.book2D("CSCTF_bx", "CSCTF BX", 12, 1, 13, 7, -3, 3);
324  csctfbx->setAxisTitle("Sector (Endcap)", 1);
325  csctfbx->setBinLabel(1, " 1 (+)", 1);
326  csctfbx->setBinLabel(2, " 2 (+)", 1);
327  csctfbx->setBinLabel(3, " 3 (+)", 1);
328  csctfbx->setBinLabel(4, " 4 (+)", 1);
329  csctfbx->setBinLabel(5, " 5 (+)", 1);
330  csctfbx->setBinLabel(6, " 6 (+)", 1);
331  csctfbx->setBinLabel(7, " 7 (-)", 1);
332  csctfbx->setBinLabel(8, " 8 (-)", 1);
333  csctfbx->setBinLabel(9, " 9 (-)", 1);
334  csctfbx->setBinLabel(10, "10 (-)", 1);
335  csctfbx->setBinLabel(11, "11 (-)", 1);
336  csctfbx->setBinLabel(12, "12 (-)", 1);
337 
338  csctfbx->setAxisTitle("CSCTF BX", 2);
339  csctfbx->setBinLabel(1, "-3", 2);
340  csctfbx->setBinLabel(2, "-2", 2);
341  csctfbx->setBinLabel(3, "-1", 2);
342  csctfbx->setBinLabel(4, "-0", 2);
343  csctfbx->setBinLabel(5, " 1", 2);
344  csctfbx->setBinLabel(6, " 2", 2);
345  csctfbx->setBinLabel(7, " 3", 2);
346 
347  // Halo Timing
348  csctfbx_H = ibooker.book2D("CSCTF_bx_H", "CSCTF HALO BX", 12, 1, 13, 7, -3, 3);
349  csctfbx_H->setAxisTitle("Sector (Endcap)", 1);
350  csctfbx_H->setBinLabel(1, " 1 (+)", 1);
351  csctfbx_H->setBinLabel(2, " 2 (+)", 1);
352  csctfbx_H->setBinLabel(3, " 3 (+)", 1);
353  csctfbx_H->setBinLabel(4, " 4 (+)", 1);
354  csctfbx_H->setBinLabel(5, " 5 (+)", 1);
355  csctfbx_H->setBinLabel(6, " 6 (+)", 1);
356  csctfbx_H->setBinLabel(7, " 7 (-)", 1);
357  csctfbx_H->setBinLabel(8, " 8 (-)", 1);
358  csctfbx_H->setBinLabel(9, " 9 (-)", 1);
359  csctfbx_H->setBinLabel(10, "10 (-)", 1);
360  csctfbx_H->setBinLabel(11, "11 (-)", 1);
361  csctfbx_H->setBinLabel(12, "12 (-)", 1);
362 
363  csctfbx_H->setAxisTitle("CSCTF BX", 2);
364  csctfbx_H->setBinLabel(1, "-3", 2);
365  csctfbx_H->setBinLabel(2, "-2", 2);
366  csctfbx_H->setBinLabel(3, "-1", 2);
367  csctfbx_H->setBinLabel(4, "-0", 2);
368  csctfbx_H->setBinLabel(5, " 1", 2);
369  csctfbx_H->setBinLabel(6, " 2", 2);
370  csctfbx_H->setBinLabel(7, " 3", 2);
371 
372  // Number of Tracks Stubs
373  cscTrackStubNumbers = ibooker.book1D("CSCTF_TrackStubs", "Number of Stubs in CSCTF Tracks", 5, 0, 5);
374  cscTrackStubNumbers->setBinLabel(1, "0", 1);
375  cscTrackStubNumbers->setBinLabel(2, "1", 1);
376  cscTrackStubNumbers->setBinLabel(3, "2", 1);
377  cscTrackStubNumbers->setBinLabel(4, "3", 1);
378  cscTrackStubNumbers->setBinLabel(5, "4", 1);
379 
380  // Number of Tracks
381  csctfntrack = ibooker.book1D("CSCTF_ntrack", "Number of CSCTracks found per event", 5, 0, 5);
382  csctfntrack->setBinLabel(1, "0", 1);
383  csctfntrack->setBinLabel(2, "1", 1);
384  csctfntrack->setBinLabel(3, "2", 1);
385  csctfntrack->setBinLabel(4, "3", 1);
386  csctfntrack->setBinLabel(5, "4", 1);
387  //}
388 
389  char hname[200];
390  char htitle[200];
391 
392  for (int i = 0; i < 12; i++) {
393  sprintf(hname, "DTstubsTimeTrackMenTimeArrival_%d", i + 1);
394  sprintf(htitle, "T_{track} - T_{DT stub} sector %d", i + 1);
395 
396  DTstubsTimeTrackMenTimeArrival[i] = ibooker.book2D(hname, htitle, 7, -3, 3, 2, 1, 3);
397  DTstubsTimeTrackMenTimeArrival[i]->getTH2F()->SetMinimum(0);
398 
399  // axis makeup
400  DTstubsTimeTrackMenTimeArrival[i]->setAxisTitle("bx_{CSC track} - bx_{DT stub}", 1);
402 
410 
413  }
414 
415  cscWireStripOverflow = ibooker.book2D("CSC_WireStripOverflow", "CSC WireStrip Overflow", 36, 1, 37, 18, 0, 18);
416 
417  // NEW: CSC EVENT LCT PLOTS
418  csctflcts = ibooker.book2D("CSCTF_LCT", "CSCTF LCTs", 12, 1, 13, 18, 0, 18);
419  csctflcts->setAxisTitle("CSCTF LCT BX", 1);
420  csctflcts->setBinLabel(1, "1", 1);
421  csctflcts->setBinLabel(2, "2", 1);
422  csctflcts->setBinLabel(3, "3", 1);
423  csctflcts->setBinLabel(4, "4", 1);
424  csctflcts->setBinLabel(5, "5", 1);
425  csctflcts->setBinLabel(6, "6", 1);
426  csctflcts->setBinLabel(7, "7", 1);
427  csctflcts->setBinLabel(8, "8", 1);
428  csctflcts->setBinLabel(9, "9", 1);
429  csctflcts->setBinLabel(10, "10", 1);
430  csctflcts->setBinLabel(11, "11", 1);
431  csctflcts->setBinLabel(12, "12", 1);
432 
433  int ihist = 0;
434  for (int iEndcap = 0; iEndcap < 2; iEndcap++) {
435  for (int iStation = 1; iStation < 5; iStation++) {
436  for (int iRing = 1; iRing < 4; iRing++) {
437  if (iStation != 1 && iRing > 2)
438  continue;
439  TString signEndcap = "+";
440  if (iEndcap == 0)
441  signEndcap = "-";
442 
443  char lcttitle[200];
444  snprintf(lcttitle, 200, "ME%s%d/%d", signEndcap.Data(), iStation, iRing);
445  if (ihist <= 8) {
446  csctflcts->setBinLabel(9 - ihist, lcttitle, 2);
447  cscWireStripOverflow->setBinLabel(9 - ihist, lcttitle, 2);
448  } else {
449  csctflcts->setBinLabel(ihist + 1, lcttitle, 2);
450  cscWireStripOverflow->setBinLabel(ihist + 1, lcttitle, 2);
451  }
452 
453  ihist++;
454  }
455  }
456  }
457 
458  // plots for ME1/1 chambers
459  me11_lctStrip = ibooker.book1D("CSC_ME11_LCT_Strip", "CSC_ME11_LCT_Strip", 223, 0, 223);
460  me11_lctStrip->setAxisTitle("Cathode HalfStrip, ME1/1", 1);
461 
462  me11_lctWire = ibooker.book1D("CSC_ME11_LCT_Wire", "CSC_ME11_LCT_Wire", 112, 0, 112);
463  me11_lctWire->setAxisTitle("Anode Wiregroup, ME1/1", 1);
464 
465  me11_lctLocalPhi = ibooker.book1D("CSC_ME11_LCT_LocalPhi", "CSC_ME11_LCT_LocalPhi", 200, 0, 1024);
466  me11_lctLocalPhi->setAxisTitle("LCT Local #it{#phi}, ME1/1", 1);
467 
468  me11_lctPackedPhi = ibooker.book1D("CSC_ME11_LCT_PackedPhi", "CSC_ME11_LCT_PackedPhi", 200, 0, 4096);
469  me11_lctPackedPhi->setAxisTitle("LCT Packed #it{#phi}, ME1/1", 1);
470 
471  me11_lctGblPhi = ibooker.book1D("CSC_ME11_LCT_GblPhi", "CSC_ME11_LCT_GblPhi", 200, 0, 2 * M_PI);
472  me11_lctGblPhi->setAxisTitle("LCT Global #it{#phi}, ME1/1", 1);
473 
474  me11_lctGblEta = ibooker.book1D("CSC_ME11_LCT_GblEta", "CSC_ME11_LCT_GblEta", 50, 0.9, 2.5);
475  me11_lctGblEta->setAxisTitle("LCT Global #eta, ME1/1", 1);
476 
477  // plots for ME4/2 chambers
478  me42_lctGblPhi = ibooker.book1D("CSC_ME42_LCT_GblPhi", "CSC_ME42_LCT_GblPhi", 200, 0, 2 * M_PI);
479  me42_lctGblPhi->setAxisTitle("LCT Global #it{#phi}, ME4/2", 1);
480 
481  me42_lctGblEta = ibooker.book1D("CSC_ME42_LCT_GblEta", "CSC_ME42_LCT_GblEta", 50, 0.9, 2.5);
482  me42_lctGblEta->setAxisTitle("LCT Global #eta, ME4/2", 1);
483 
484  //
485  csc_strip_MEplus11 = ibooker.book2D("csc_strip_MEplus11", "csc_strip_MEplus11", 36, 1, 37, 240, 0, 240);
486  csc_strip_MEplus11->setAxisTitle("Cathode HalfStrip", 2);
487  csc_strip_MEplus11->setAxisTitle("ME+1/1", 1);
488  csc_strip_MEplus12 = ibooker.book2D("csc_strip_MEplus12", "csc_strip_MEplus12", 36, 1, 37, 240, 0, 240);
489  csc_strip_MEplus12->setAxisTitle("Cathode HalfStrip", 2);
490  csc_strip_MEplus12->setAxisTitle("ME+1/2", 1);
491  csc_strip_MEplus13 = ibooker.book2D("csc_strip_MEplus13", "csc_strip_MEplus13", 36, 1, 37, 240, 0, 240);
492  csc_strip_MEplus13->setAxisTitle("Cathode HalfStrip", 2);
493  csc_strip_MEplus13->setAxisTitle("ME+1/3", 1);
494  csc_strip_MEplus21 = ibooker.book2D("csc_strip_MEplus21", "csc_strip_MEplus21", 18, 1, 19, 240, 0, 240);
495  csc_strip_MEplus21->setAxisTitle("Cathode HalfStrip", 2);
496  csc_strip_MEplus21->setAxisTitle("ME+2/1", 1);
497  csc_strip_MEplus22 = ibooker.book2D("csc_strip_MEplus22", "csc_strip_MEplus22", 36, 1, 37, 240, 0, 240);
498  csc_strip_MEplus22->setAxisTitle("Cathode HalfStrip", 2);
499  csc_strip_MEplus22->setAxisTitle("ME+2/2", 1);
500  csc_strip_MEplus31 = ibooker.book2D("csc_strip_MEplus31", "csc_strip_MEplus31", 18, 1, 19, 240, 0, 240);
501  csc_strip_MEplus31->setAxisTitle("Cathode HalfStrip", 2);
502  csc_strip_MEplus31->setAxisTitle("ME+3/1", 1);
503  csc_strip_MEplus32 = ibooker.book2D("csc_strip_MEplus32", "csc_strip_MEplus32", 36, 1, 37, 240, 0, 240);
504  csc_strip_MEplus32->setAxisTitle("Cathode HalfStrip", 2);
505  csc_strip_MEplus32->setAxisTitle("ME+3/2", 1);
506  csc_strip_MEplus41 = ibooker.book2D("csc_strip_MEplus41", "csc_strip_MEplus41", 18, 1, 19, 240, 0, 240);
507  csc_strip_MEplus41->setAxisTitle("Cathode HalfStrip", 2);
508  csc_strip_MEplus41->setAxisTitle("ME+4/1", 1);
509  csc_strip_MEplus42 = ibooker.book2D("csc_strip_MEplus42", "csc_strip_MEplus42", 36, 1, 37, 240, 0, 240);
510  csc_strip_MEplus42->setAxisTitle("Cathode HalfStrip", 2);
511  csc_strip_MEplus42->setAxisTitle("ME+4/2", 1);
512 
513  csc_strip_MEminus11 = ibooker.book2D("csc_strip_MEminus11", "csc_strip_MEminus11", 36, 1, 37, 240, 0, 240);
514  csc_strip_MEminus11->setAxisTitle("Cathode HalfStrip", 2);
515  csc_strip_MEminus11->setAxisTitle("ME-1/1", 1);
516  csc_strip_MEminus12 = ibooker.book2D("csc_strip_MEminus12", "csc_strip_MEminus12", 36, 1, 37, 240, 0, 240);
517  csc_strip_MEminus12->setAxisTitle("Cathode HalfStrip", 2);
518  csc_strip_MEminus12->setAxisTitle("ME-1/2", 1);
519  csc_strip_MEminus13 = ibooker.book2D("csc_strip_MEminus13", "csc_strip_MEminus13", 36, 1, 37, 240, 0, 240);
520  csc_strip_MEminus13->setAxisTitle("Cathode HalfStrip", 2);
521  csc_strip_MEminus13->setAxisTitle("ME-1/3", 1);
522  csc_strip_MEminus21 = ibooker.book2D("csc_strip_MEminus21", "csc_strip_MEminus21", 18, 1, 19, 240, 0, 240);
523  csc_strip_MEminus21->setAxisTitle("Cathode HalfStrip", 2);
524  csc_strip_MEminus21->setAxisTitle("ME-2/1", 1);
525  csc_strip_MEminus22 = ibooker.book2D("csc_strip_MEminus22", "csc_strip_MEminus22", 36, 1, 37, 240, 0, 240);
526  csc_strip_MEminus22->setAxisTitle("Cathode HalfStrip", 2);
527  csc_strip_MEminus22->setAxisTitle("ME-2/2", 1);
528  csc_strip_MEminus31 = ibooker.book2D("csc_strip_MEminus31", "csc_strip_MEminus31", 18, 1, 19, 240, 0, 240);
529  csc_strip_MEminus31->setAxisTitle("Cathode HalfStrip", 2);
530  csc_strip_MEminus31->setAxisTitle("ME-3/1", 1);
531  csc_strip_MEminus32 = ibooker.book2D("csc_strip_MEminus32", "csc_strip_MEminus32", 36, 1, 37, 240, 0, 240);
532  csc_strip_MEminus32->setAxisTitle("Cathode HalfStrip", 2);
533  csc_strip_MEminus32->setAxisTitle("ME-3/2", 1);
534  csc_strip_MEminus41 = ibooker.book2D("csc_strip_MEminus41", "csc_strip_MEminus41", 18, 1, 19, 240, 0, 240);
535  csc_strip_MEminus41->setAxisTitle("Cathode HalfStrip", 2);
536  csc_strip_MEminus41->setAxisTitle("ME-4/1", 1);
537  csc_strip_MEminus42 = ibooker.book2D("csc_strip_MEminus42", "csc_strip_MEminus42", 36, 1, 37, 240, 0, 240);
538  csc_strip_MEminus42->setAxisTitle("Cathode HalfStrip", 2);
539  csc_strip_MEminus42->setAxisTitle("ME-4/2", 1);
540 
541  csc_wire_MEplus11 = ibooker.book2D("csc_wire_MEplus11", "csc_wire_MEplus11", 36, 1, 37, 120, 0, 120);
542  csc_wire_MEplus11->setAxisTitle("Anode Wiregroup", 2);
543  csc_wire_MEplus11->setAxisTitle("ME+1/1", 1);
544  csc_wire_MEplus12 = ibooker.book2D("csc_wire_MEplus12", "csc_wire_MEplus12", 36, 1, 37, 120, 0, 120);
545  csc_wire_MEplus12->setAxisTitle("Anode Wiregroup", 2);
546  csc_wire_MEplus12->setAxisTitle("ME+1/2", 1);
547  csc_wire_MEplus13 = ibooker.book2D("csc_wire_MEplus13", "csc_wire_MEplus13", 36, 1, 37, 120, 0, 120);
548  csc_wire_MEplus13->setAxisTitle("Anode Wiregroup", 2);
549  csc_wire_MEplus13->setAxisTitle("ME+1/3", 1);
550  csc_wire_MEplus21 = ibooker.book2D("csc_wire_MEplus21", "csc_wire_MEplus21", 18, 1, 19, 120, 0, 120);
551  csc_wire_MEplus21->setAxisTitle("Anode Wiregroup", 2);
552  csc_wire_MEplus21->setAxisTitle("ME+2/1", 1);
553  csc_wire_MEplus22 = ibooker.book2D("csc_wire_MEplus22", "csc_wire_MEplus22", 36, 1, 37, 120, 0, 120);
554  csc_wire_MEplus22->setAxisTitle("Anode Wiregroup", 2);
555  csc_wire_MEplus22->setAxisTitle("ME+2/2", 1);
556  csc_wire_MEplus31 = ibooker.book2D("csc_wire_MEplus31", "csc_wire_MEplus31", 18, 1, 19, 120, 0, 120);
557  csc_wire_MEplus31->setAxisTitle("Anode Wiregroup", 2);
558  csc_wire_MEplus31->setAxisTitle("ME+3/1", 1);
559  csc_wire_MEplus32 = ibooker.book2D("csc_wire_MEplus32", "csc_wire_MEplus32", 36, 1, 37, 120, 0, 120);
560  csc_wire_MEplus32->setAxisTitle("Anode Wiregroup", 2);
561  csc_wire_MEplus32->setAxisTitle("ME+3/2", 1);
562  csc_wire_MEplus41 = ibooker.book2D("csc_wire_MEplus41", "csc_wire_MEplus41", 18, 1, 19, 120, 0, 120);
563  csc_wire_MEplus41->setAxisTitle("Anode Wiregroup", 2);
564  csc_wire_MEplus41->setAxisTitle("ME+4/1", 1);
565  csc_wire_MEplus42 = ibooker.book2D("csc_wire_MEplus42", "csc_wire_MEplus42", 36, 1, 37, 120, 0, 120);
566  csc_wire_MEplus42->setAxisTitle("Anode Wiregroup", 2);
567  csc_wire_MEplus42->setAxisTitle("ME+4/2", 1);
568 
569  csc_wire_MEminus11 = ibooker.book2D("csc_wire_MEminus11", "csc_wire_MEminus11", 36, 1, 37, 120, 0, 120);
570  csc_wire_MEminus11->setAxisTitle("Anode Wiregroup", 2);
571  csc_wire_MEminus11->setAxisTitle("ME-1/1", 1);
572  csc_wire_MEminus12 = ibooker.book2D("csc_wire_MEminus12", "csc_wire_MEminus12", 36, 1, 37, 120, 0, 120);
573  csc_wire_MEminus12->setAxisTitle("Anode Wiregroup", 2);
574  csc_wire_MEminus12->setAxisTitle("ME-1/2", 1);
575  csc_wire_MEminus13 = ibooker.book2D("csc_wire_MEminus13", "csc_wire_MEminus13", 36, 1, 37, 120, 0, 120);
576  csc_wire_MEminus13->setAxisTitle("Anode Wiregroup", 2);
577  csc_wire_MEminus13->setAxisTitle("ME-1/3", 1);
578  csc_wire_MEminus21 = ibooker.book2D("csc_wire_MEminus21", "csc_wire_MEminus21", 18, 1, 19, 120, 0, 120);
579  csc_wire_MEminus21->setAxisTitle("Anode Wiregroup", 2);
580  csc_wire_MEminus21->setAxisTitle("ME-2/1", 1);
581  csc_wire_MEminus22 = ibooker.book2D("csc_wire_MEminus22", "csc_wire_MEminus22", 36, 1, 37, 120, 0, 120);
582  csc_wire_MEminus22->setAxisTitle("Anode Wiregroup", 2);
583  csc_wire_MEminus22->setAxisTitle("ME-2/2", 1);
584  csc_wire_MEminus31 = ibooker.book2D("csc_wire_MEminus31", "csc_wire_MEminus31", 18, 1, 19, 120, 0, 120);
585  csc_wire_MEminus31->setAxisTitle("Anode Wiregroup", 2);
586  csc_wire_MEminus31->setAxisTitle("ME-3/1", 1);
587  csc_wire_MEminus32 = ibooker.book2D("csc_wire_MEminus32", "csc_wire_MEminus32", 36, 1, 37, 120, 0, 120);
588  csc_wire_MEminus32->setAxisTitle("Anode Wiregroup", 2);
589  csc_wire_MEminus32->setAxisTitle("ME-3/2", 1);
590  csc_wire_MEminus41 = ibooker.book2D("csc_wire_MEminus41", "csc_wire_MEminus41", 18, 1, 19, 120, 0, 120);
591  csc_wire_MEminus41->setAxisTitle("Anode Wiregroup", 2);
592  csc_wire_MEminus41->setAxisTitle("ME-4/1", 1);
593  csc_wire_MEminus42 = ibooker.book2D("csc_wire_MEminus42", "csc_wire_MEminus42", 36, 1, 37, 120, 0, 120);
594  csc_wire_MEminus42->setAxisTitle("Anode Wiregroup", 2);
595  csc_wire_MEminus42->setAxisTitle("ME-4/2", 1);
596 
597  for (int cscid = 1; cscid < 37; cscid++) {
598  char bxtitle[100];
599  sprintf(bxtitle, "%d", cscid);
600 
601  cscWireStripOverflow->setBinLabel(cscid, bxtitle, 1);
602  csc_strip_MEplus11->setBinLabel(cscid, bxtitle, 1);
603  csc_strip_MEplus12->setBinLabel(cscid, bxtitle, 1);
604  csc_strip_MEplus13->setBinLabel(cscid, bxtitle, 1);
605  csc_strip_MEplus22->setBinLabel(cscid, bxtitle, 1);
606  csc_strip_MEplus32->setBinLabel(cscid, bxtitle, 1);
607  csc_strip_MEplus42->setBinLabel(cscid, bxtitle, 1);
608 
609  csc_strip_MEminus11->setBinLabel(cscid, bxtitle, 1);
610  csc_strip_MEminus12->setBinLabel(cscid, bxtitle, 1);
611  csc_strip_MEminus13->setBinLabel(cscid, bxtitle, 1);
612  csc_strip_MEminus22->setBinLabel(cscid, bxtitle, 1);
613  csc_strip_MEminus32->setBinLabel(cscid, bxtitle, 1);
614  csc_strip_MEminus42->setBinLabel(cscid, bxtitle, 1);
615 
616  csc_wire_MEplus11->setBinLabel(cscid, bxtitle, 1);
617  csc_wire_MEplus12->setBinLabel(cscid, bxtitle, 1);
618  csc_wire_MEplus13->setBinLabel(cscid, bxtitle, 1);
619  csc_wire_MEplus22->setBinLabel(cscid, bxtitle, 1);
620  csc_wire_MEplus32->setBinLabel(cscid, bxtitle, 1);
621  csc_wire_MEplus42->setBinLabel(cscid, bxtitle, 1);
622 
623  csc_wire_MEminus11->setBinLabel(cscid, bxtitle, 1);
624  csc_wire_MEminus12->setBinLabel(cscid, bxtitle, 1);
625  csc_wire_MEminus13->setBinLabel(cscid, bxtitle, 1);
626  csc_wire_MEminus22->setBinLabel(cscid, bxtitle, 1);
627  csc_wire_MEminus32->setBinLabel(cscid, bxtitle, 1);
628  csc_wire_MEminus42->setBinLabel(cscid, bxtitle, 1);
629  }
630 
631  for (int cscid = 1; cscid < 19; cscid++) {
632  char bxtitle[100];
633  sprintf(bxtitle, "%d", cscid);
634 
635  csc_strip_MEplus21->setBinLabel(cscid, bxtitle, 1);
636  csc_strip_MEplus31->setBinLabel(cscid, bxtitle, 1);
637  csc_strip_MEplus41->setBinLabel(cscid, bxtitle, 1);
638 
639  csc_strip_MEminus21->setBinLabel(cscid, bxtitle, 1);
640  csc_strip_MEminus31->setBinLabel(cscid, bxtitle, 1);
641  csc_strip_MEminus41->setBinLabel(cscid, bxtitle, 1);
642 
643  csc_wire_MEplus21->setBinLabel(cscid, bxtitle, 1);
644  csc_wire_MEplus31->setBinLabel(cscid, bxtitle, 1);
645  csc_wire_MEplus41->setBinLabel(cscid, bxtitle, 1);
646 
647  csc_wire_MEminus21->setBinLabel(cscid, bxtitle, 1);
648  csc_wire_MEminus31->setBinLabel(cscid, bxtitle, 1);
649  csc_wire_MEminus41->setBinLabel(cscid, bxtitle, 1);
650  }
651 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), csc_strip_MEminus11, csc_strip_MEminus12, csc_strip_MEminus13, csc_strip_MEminus21, csc_strip_MEminus22, csc_strip_MEminus31, csc_strip_MEminus32, csc_strip_MEminus41, csc_strip_MEminus42, csc_strip_MEplus11, csc_strip_MEplus12, csc_strip_MEplus13, csc_strip_MEplus21, csc_strip_MEplus22, csc_strip_MEplus31, csc_strip_MEplus32, csc_strip_MEplus41, csc_strip_MEplus42, csc_wire_MEminus11, csc_wire_MEminus12, csc_wire_MEminus13, csc_wire_MEminus21, csc_wire_MEminus22, csc_wire_MEminus31, csc_wire_MEminus32, csc_wire_MEminus41, csc_wire_MEminus42, csc_wire_MEplus11, csc_wire_MEplus12, csc_wire_MEplus13, csc_wire_MEplus21, csc_wire_MEplus22, csc_wire_MEplus31, csc_wire_MEplus32, csc_wire_MEplus41, csc_wire_MEplus42, csctfbx, csctfbx_H, csctfChamberOccupancies, csctferrors, csctferrors_mpc, csctflcts, csctfntrack, csctfoccupancies, csctfoccupancies_H, csctfTrackEta, csctfTrackEta_H, csctfTrackEtaHighQ, csctfTrackEtaLowQ, csctfTrackM, csctfTrackPhi, csctfTrackPhi_H, cscTrackStubNumbers, cscWireStripOverflow, DTstubsTimeTrackMenTimeArrival, dqm::impl::MonitorElement::getTH2F(), mps_fire::i, M_PI, m_ptScaleCacheID, m_scalesCacheID, me11_lctGblEta, me11_lctGblPhi, me11_lctLocalPhi, me11_lctPackedPhi, me11_lctStrip, me11_lctWire, me42_lctGblEta, me42_lctGblPhi, nev_, dqm::impl::MonitorElement::setAxisTitle(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), trackModeVsQ, and hgcalPlots::ytitle.

Member Data Documentation

◆ BxInEvent_

int L1TCSCTF::BxInEvent_
private

Definition at line 164 of file L1TCSCTF.h.

Referenced by analyze().

◆ corrlctsToken_

edm::EDGetTokenT<CSCCorrelatedLCTDigiCollection> L1TCSCTF::corrlctsToken_
private

Definition at line 187 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ csc_strip_MEminus11

MonitorElement* L1TCSCTF::csc_strip_MEminus11
private

Definition at line 131 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus12

MonitorElement* L1TCSCTF::csc_strip_MEminus12
private

Definition at line 132 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus13

MonitorElement* L1TCSCTF::csc_strip_MEminus13
private

Definition at line 133 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus21

MonitorElement* L1TCSCTF::csc_strip_MEminus21
private

Definition at line 134 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus22

MonitorElement* L1TCSCTF::csc_strip_MEminus22
private

Definition at line 135 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus31

MonitorElement* L1TCSCTF::csc_strip_MEminus31
private

Definition at line 136 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus32

MonitorElement* L1TCSCTF::csc_strip_MEminus32
private

Definition at line 137 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus41

MonitorElement* L1TCSCTF::csc_strip_MEminus41
private

Definition at line 138 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEminus42

MonitorElement* L1TCSCTF::csc_strip_MEminus42
private

Definition at line 139 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus11

MonitorElement* L1TCSCTF::csc_strip_MEplus11
private

Definition at line 121 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus12

MonitorElement* L1TCSCTF::csc_strip_MEplus12
private

Definition at line 122 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus13

MonitorElement* L1TCSCTF::csc_strip_MEplus13
private

Definition at line 123 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus21

MonitorElement* L1TCSCTF::csc_strip_MEplus21
private

Definition at line 124 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus22

MonitorElement* L1TCSCTF::csc_strip_MEplus22
private

Definition at line 125 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus31

MonitorElement* L1TCSCTF::csc_strip_MEplus31
private

Definition at line 126 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus32

MonitorElement* L1TCSCTF::csc_strip_MEplus32
private

Definition at line 127 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus41

MonitorElement* L1TCSCTF::csc_strip_MEplus41
private

Definition at line 128 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_strip_MEplus42

MonitorElement* L1TCSCTF::csc_strip_MEplus42
private

Definition at line 129 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus11

MonitorElement* L1TCSCTF::csc_wire_MEminus11
private

Definition at line 151 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus12

MonitorElement* L1TCSCTF::csc_wire_MEminus12
private

Definition at line 152 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus13

MonitorElement* L1TCSCTF::csc_wire_MEminus13
private

Definition at line 153 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus21

MonitorElement* L1TCSCTF::csc_wire_MEminus21
private

Definition at line 154 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus22

MonitorElement* L1TCSCTF::csc_wire_MEminus22
private

Definition at line 155 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus31

MonitorElement* L1TCSCTF::csc_wire_MEminus31
private

Definition at line 156 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus32

MonitorElement* L1TCSCTF::csc_wire_MEminus32
private

Definition at line 157 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus41

MonitorElement* L1TCSCTF::csc_wire_MEminus41
private

Definition at line 158 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEminus42

MonitorElement* L1TCSCTF::csc_wire_MEminus42
private

Definition at line 159 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus11

MonitorElement* L1TCSCTF::csc_wire_MEplus11
private

Definition at line 141 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus12

MonitorElement* L1TCSCTF::csc_wire_MEplus12
private

Definition at line 142 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus13

MonitorElement* L1TCSCTF::csc_wire_MEplus13
private

Definition at line 143 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus21

MonitorElement* L1TCSCTF::csc_wire_MEplus21
private

Definition at line 144 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus22

MonitorElement* L1TCSCTF::csc_wire_MEplus22
private

Definition at line 145 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus31

MonitorElement* L1TCSCTF::csc_wire_MEplus31
private

Definition at line 146 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus32

MonitorElement* L1TCSCTF::csc_wire_MEplus32
private

Definition at line 147 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus41

MonitorElement* L1TCSCTF::csc_wire_MEplus41
private

Definition at line 148 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csc_wire_MEplus42

MonitorElement* L1TCSCTF::csc_wire_MEplus42
private

Definition at line 149 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfAFerror

MonitorElement* L1TCSCTF::csctfAFerror
private

Definition at line 103 of file L1TCSCTF.h.

◆ csctfbx

MonitorElement* L1TCSCTF::csctfbx
private

Definition at line 75 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfbx_H

MonitorElement* L1TCSCTF::csctfbx_H
private

Definition at line 76 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfChamberOccupancies

MonitorElement* L1TCSCTF::csctfChamberOccupancies
private

Definition at line 93 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctferrors

MonitorElement* L1TCSCTF::csctferrors
private

Definition at line 78 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctferrors_mpc

MonitorElement* L1TCSCTF::csctferrors_mpc
private

Definition at line 82 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctflcts

MonitorElement* L1TCSCTF::csctflcts
private

Definition at line 106 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfntrack

MonitorElement* L1TCSCTF::csctfntrack
private

Definition at line 74 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfoccupancies

MonitorElement* L1TCSCTF::csctfoccupancies
private

Definition at line 79 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfoccupancies_H

MonitorElement* L1TCSCTF::csctfoccupancies_H
private

Definition at line 80 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackEta

MonitorElement* L1TCSCTF::csctfTrackEta
private

Definition at line 95 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackEta_H

MonitorElement* L1TCSCTF::csctfTrackEta_H
private

Definition at line 99 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackEtaHighQ

MonitorElement* L1TCSCTF::csctfTrackEtaHighQ
private

Definition at line 97 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackEtaLowQ

MonitorElement* L1TCSCTF::csctfTrackEtaLowQ
private

Definition at line 96 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackM

MonitorElement* L1TCSCTF::csctfTrackM
private

Definition at line 101 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackPhi

MonitorElement* L1TCSCTF::csctfTrackPhi
private

Definition at line 94 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ csctfTrackPhi_H

MonitorElement* L1TCSCTF::csctfTrackPhi_H
private

Definition at line 98 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ cscTrackStubNumbers

MonitorElement* L1TCSCTF::cscTrackStubNumbers
private

Definition at line 100 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ cscWireStripOverflow

MonitorElement* L1TCSCTF::cscWireStripOverflow
private

Definition at line 83 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ DTstubsTimeTrackMenTimeArrival

MonitorElement* L1TCSCTF::DTstubsTimeTrackMenTimeArrival[12]
private

Definition at line 163 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ dtStubsToken_

edm::EDGetTokenT<CSCTriggerContainer<csctf::TrackStub> > L1TCSCTF::dtStubsToken_
private

Definition at line 189 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ gangedME11a_

bool L1TCSCTF::gangedME11a_
private

Definition at line 175 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ gmtProducer

edm::InputTag L1TCSCTF::gmtProducer
private

Definition at line 174 of file L1TCSCTF.h.

Referenced by analyze().

◆ gmtProducerToken_

edm::EDGetTokenT<L1MuGMTReadoutCollection> L1TCSCTF::gmtProducerToken_
private

Definition at line 185 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ isCSCcand_

bool L1TCSCTF::isCSCcand_
private

Definition at line 165 of file L1TCSCTF.h.

Referenced by analyze().

◆ L1ABXN

int L1TCSCTF::L1ABXN
private

Definition at line 167 of file L1TCSCTF.h.

Referenced by analyze().

◆ lctProducer

edm::InputTag L1TCSCTF::lctProducer
private

Definition at line 174 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ logFile_

std::ofstream L1TCSCTF::logFile_
private

Definition at line 173 of file L1TCSCTF.h.

◆ m_ptScaleCacheID

unsigned long long L1TCSCTF::m_ptScaleCacheID
private

Definition at line 182 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ m_scalesCacheID

unsigned long long L1TCSCTF::m_scalesCacheID
private

Definition at line 181 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ mbProducer

edm::InputTag L1TCSCTF::mbProducer
private

Definition at line 174 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ mbtracksToken_

edm::EDGetTokenT<L1CSCTrackCollection> L1TCSCTF::mbtracksToken_
private

Definition at line 190 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ me11_lctGblEta

MonitorElement* L1TCSCTF::me11_lctGblEta
private

Definition at line 114 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me11_lctGblPhi

MonitorElement* L1TCSCTF::me11_lctGblPhi
private

Definition at line 113 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me11_lctLocalPhi

MonitorElement* L1TCSCTF::me11_lctLocalPhi
private

Definition at line 111 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me11_lctPackedPhi

MonitorElement* L1TCSCTF::me11_lctPackedPhi
private

Definition at line 112 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me11_lctStrip

MonitorElement* L1TCSCTF::me11_lctStrip
private

Definition at line 109 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me11_lctWire

MonitorElement* L1TCSCTF::me11_lctWire
private

Definition at line 110 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me42_lctGblEta

MonitorElement* L1TCSCTF::me42_lctGblEta
private

Definition at line 118 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ me42_lctGblPhi

MonitorElement* L1TCSCTF::me42_lctGblPhi
private

Definition at line 117 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ monitorDaemon_

bool L1TCSCTF::monitorDaemon_
private

Definition at line 172 of file L1TCSCTF.h.

◆ nev_

int L1TCSCTF::nev_
private

Definition at line 169 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ outputFile_

std::string L1TCSCTF::outputFile_
private

Definition at line 170 of file L1TCSCTF.h.

Referenced by L1TCSCTF().

◆ srLUTs_

CSCSectorReceiverLUT* L1TCSCTF::srLUTs_[5][2][6]
private

Definition at line 177 of file L1TCSCTF.h.

Referenced by analyze(), L1TCSCTF(), and ~L1TCSCTF().

◆ statusProducer

edm::InputTag L1TCSCTF::statusProducer
private

Definition at line 174 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ statusToken_

edm::EDGetTokenT<L1CSCStatusDigiCollection> L1TCSCTF::statusToken_
private

Definition at line 186 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ tpts

const L1MuTriggerPtScale* L1TCSCTF::tpts
private

Definition at line 180 of file L1TCSCTF.h.

Referenced by analyze().

◆ trackModeVsQ

MonitorElement* L1TCSCTF::trackModeVsQ
private

Definition at line 102 of file L1TCSCTF.h.

Referenced by analyze(), and bookHistograms().

◆ trackProducer

edm::InputTag L1TCSCTF::trackProducer
private

Definition at line 174 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ tracksToken_

edm::EDGetTokenT<L1CSCTrackCollection> L1TCSCTF::tracksToken_
private

Definition at line 188 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

◆ ts

const L1MuTriggerScales* L1TCSCTF::ts
private

Definition at line 179 of file L1TCSCTF.h.

Referenced by analyze().

◆ verbose_

bool L1TCSCTF::verbose_
private

Definition at line 171 of file L1TCSCTF.h.

Referenced by analyze(), and L1TCSCTF().

L1TCSCTF::me11_lctGblPhi
MonitorElement * me11_lctGblPhi
Definition: L1TCSCTF.h:113
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
L1TCSCTF::csctfbx
MonitorElement * csctfbx
Definition: L1TCSCTF.h:75
CSCSectorReceiverLUT
Definition: CSCSectorReceiverLUT.h:19
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
CSCSectorReceiverLUT::localPhi
lclphidat localPhi(int strip, int pattern, int quality, int lr, const bool gangedME1a=false) const
Geometry Lookup Tables.
Definition: CSCSectorReceiverLUT.cc:179
L1TCSCTF::csc_strip_MEplus42
MonitorElement * csc_strip_MEplus42
Definition: L1TCSCTF.h:129
mps_fire.i
i
Definition: mps_fire.py:428
L1TCSCTF::csctfTrackEta
MonitorElement * csctfTrackEta
Definition: L1TCSCTF.h:95
L1TCSCTF::csc_wire_MEplus22
MonitorElement * csc_wire_MEplus22
Definition: L1TCSCTF.h:145
edm::Handle::product
T const * product() const
Definition: Handle.h:70
MainPageGenerator.link
link
Definition: MainPageGenerator.py:271
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
L1TCSCTF::csctfTrackEtaHighQ
MonitorElement * csctfTrackEtaHighQ
Definition: L1TCSCTF.h:97
L1TCSCTF::tpts
const L1MuTriggerPtScale * tpts
Definition: L1TCSCTF.h:180
L1TCSCTF::outputFile_
std::string outputFile_
Definition: L1TCSCTF.h:170
L1TCSCTF::csc_wire_MEminus11
MonitorElement * csc_wire_MEminus11
Definition: L1TCSCTF.h:151
mps_update.status
status
Definition: mps_update.py:69
lclphidat
class local_phi_data lclphidat
Data Types.
L1TCSCTF::csc_wire_MEplus42
MonitorElement * csc_wire_MEplus42
Definition: L1TCSCTF.h:149
relativeConstraints.station
station
Definition: relativeConstraints.py:67
L1TCSCTF::csc_strip_MEplus21
MonitorElement * csc_strip_MEplus21
Definition: L1TCSCTF.h:124
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
L1TCSCTF::csc_wire_MEminus22
MonitorElement * csc_wire_MEminus22
Definition: L1TCSCTF.h:155
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
L1TCSCTF::csc_strip_MEplus32
MonitorElement * csc_strip_MEplus32
Definition: L1TCSCTF.h:127
L1TCSCTF::csctfTrackPhi
MonitorElement * csctfTrackPhi
Definition: L1TCSCTF.h:94
L1TCSCTF::csctfTrackEtaLowQ
MonitorElement * csctfTrackEtaLowQ
Definition: L1TCSCTF.h:96
L1TCSCTF::mbProducer
edm::InputTag mbProducer
Definition: L1TCSCTF.h:174
L1TCSCTF::csctferrors_mpc
MonitorElement * csctferrors_mpc
Definition: L1TCSCTF.h:82
CSCTriggerNumbering::triggerSubSectorFromLabels
static int triggerSubSectorFromLabels(int station, int chamber)
Definition: CSCTriggerNumbering.cc:105
L1TCSCTF::statusToken_
edm::EDGetTokenT< L1CSCStatusDigiCollection > statusToken_
Definition: L1TCSCTF.h:186
L1TCSCTF::csc_wire_MEminus21
MonitorElement * csc_wire_MEminus21
Definition: L1TCSCTF.h:154
L1TCSCTF::m_ptScaleCacheID
unsigned long long m_ptScaleCacheID
Definition: L1TCSCTF.h:182
L1TCSCTF::csc_wire_MEminus13
MonitorElement * csc_wire_MEminus13
Definition: L1TCSCTF.h:153
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
edm::Handle
Definition: AssociativeIterator.h:50
edm::ParameterSet::addUntrackedParameter
void addUntrackedParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:192
L1TCSCTF::cscWireStripOverflow
MonitorElement * cscWireStripOverflow
Definition: L1TCSCTF.h:83
L1TCSCTF::statusProducer
edm::InputTag statusProducer
Definition: L1TCSCTF.h:174
csctf::TrackStub
Definition: TrackStub.h:22
MuonDigiCollection::const_iterator
std::vector< DigiType >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
L1TCSCTF::csc_strip_MEminus22
MonitorElement * csc_strip_MEminus22
Definition: L1TCSCTF.h:135
L1TCSCTF::ts
const L1MuTriggerScales * ts
Definition: L1TCSCTF.h:179
L1MuTriggerScales::getPhiScale
const L1MuScale * getPhiScale() const
get the phi scale
Definition: L1MuTriggerScales.h:175
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
csc
Definition: L1Track.h:19
dqm::impl::MonitorElement::getTH2F
virtual TH2F * getTH2F()
Definition: MonitorElement.cc:992
L1TCSCTF::csc_wire_MEplus12
MonitorElement * csc_wire_MEplus12
Definition: L1TCSCTF.h:142
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
alignCSCRings.s
s
Definition: alignCSCRings.py:92
L1TCSCTF::csc_wire_MEplus41
MonitorElement * csc_wire_MEplus41
Definition: L1TCSCTF.h:148
L1TCSCTF::L1ABXN
int L1ABXN
Definition: L1TCSCTF.h:167
L1TCSCTF::csctfTrackPhi_H
MonitorElement * csctfTrackPhi_H
Definition: L1TCSCTF.h:98
hgcalPlots.stat
stat
Definition: hgcalPlots.py:1119
L1TCSCTF::me42_lctGblPhi
MonitorElement * me42_lctGblPhi
Definition: L1TCSCTF.h:117
CSCSectorReceiverLUT::globalPhiME
gblphidat globalPhiME(int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
Definition: CSCSectorReceiverLUT.cc:444
L1TCSCTF::gangedME11a_
bool gangedME11a_
Definition: L1TCSCTF.h:175
L1TCSCTF::csctfntrack
MonitorElement * csctfntrack
Definition: L1TCSCTF.h:74
L1TCSCTF::me11_lctStrip
MonitorElement * me11_lctStrip
Definition: L1TCSCTF.h:109
L1TCSCTF::csc_wire_MEplus32
MonitorElement * csc_wire_MEplus32
Definition: L1TCSCTF.h:147
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
L1TCSCTF::corrlctsToken_
edm::EDGetTokenT< CSCCorrelatedLCTDigiCollection > corrlctsToken_
Definition: L1TCSCTF.h:187
edm::ESHandle
Definition: DTSurvey.h:22
L1TCSCTF::csctfTrackEta_H
MonitorElement * csctfTrackEta_H
Definition: L1TCSCTF.h:99
L1TCSCTF::csc_strip_MEplus31
MonitorElement * csc_strip_MEplus31
Definition: L1TCSCTF.h:126
L1MuScale::getLowEdge
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
L1TCSCTF::me11_lctWire
MonitorElement * me11_lctWire
Definition: L1TCSCTF.h:110
L1TCSCTF::csc_strip_MEminus42
MonitorElement * csc_strip_MEminus42
Definition: L1TCSCTF.h:139
L1TCSCTF::csc_wire_MEminus32
MonitorElement * csc_wire_MEminus32
Definition: L1TCSCTF.h:157
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
L1TCSCTF::csc_strip_MEplus22
MonitorElement * csc_strip_MEplus22
Definition: L1TCSCTF.h:125
L1TCSCTF::me42_lctGblEta
MonitorElement * me42_lctGblEta
Definition: L1TCSCTF.h:118
edm::ParameterSet
Definition: ParameterSet.h:47
L1TCSCTF::csc_strip_MEplus41
MonitorElement * csc_strip_MEplus41
Definition: L1TCSCTF.h:128
L1TCSCTF::csc_strip_MEminus41
MonitorElement * csc_strip_MEminus41
Definition: L1TCSCTF.h:138
L1TCSCTF::csc_wire_MEminus41
MonitorElement * csc_wire_MEminus41
Definition: L1TCSCTF.h:158
L1TCSCTF::csc_strip_MEminus12
MonitorElement * csc_strip_MEminus12
Definition: L1TCSCTF.h:132
L1MuGMTReadoutCollection::getRecords
std::vector< L1MuGMTReadoutRecord > const & getRecords() const
Definition: L1MuGMTReadoutCollection.h:52
L1TCSCTF::csctfTrackM
MonitorElement * csctfTrackM
Definition: L1TCSCTF.h:101
L1TCSCTF::gmtProducerToken_
edm::EDGetTokenT< L1MuGMTReadoutCollection > gmtProducerToken_
Definition: L1TCSCTF.h:185
dqm::impl::MonitorElement::setBinLabel
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:771
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
L1TCSCTF::csc_strip_MEminus32
MonitorElement * csc_strip_MEminus32
Definition: L1TCSCTF.h:137
L1MuTriggerPtScaleRcd
Definition: L1MuTriggerPtScaleRcd.h:12
CSCCorrelatedLCTDigiCollection
L1TCSCTF::csc_strip_MEplus13
MonitorElement * csc_strip_MEplus13
Definition: L1TCSCTF.h:123
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
L1TCSCTF::csctfbx_H
MonitorElement * csctfbx_H
Definition: L1TCSCTF.h:76
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
L1TCSCTF::csc_wire_MEplus21
MonitorElement * csc_wire_MEplus21
Definition: L1TCSCTF.h:144
get
#define get
L1TCSCTF::cscTrackStubNumbers
MonitorElement * cscTrackStubNumbers
Definition: L1TCSCTF.h:100
L1TCSCTF::nev_
int nev_
Definition: L1TCSCTF.h:169
L1TCSCTF::trackProducer
edm::InputTag trackProducer
Definition: L1TCSCTF.h:174
L1MuTriggerScalesRcd
Definition: L1MuTriggerScalesRcd.h:12
L1TCSCTF::csctferrors
MonitorElement * csctferrors
Definition: L1TCSCTF.h:78
L1TCSCTF::csc_strip_MEminus21
MonitorElement * csc_strip_MEminus21
Definition: L1TCSCTF.h:134
L1TCSCTF::trackModeVsQ
MonitorElement * trackModeVsQ
Definition: L1TCSCTF.h:102
L1MuGMTReadoutCollection
Definition: L1MuGMTReadoutCollection.h:39
L1TCSCTF::csc_wire_MEplus13
MonitorElement * csc_wire_MEplus13
Definition: L1TCSCTF.h:143
ecalpyutils::ism
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:51
L1TCSCTF::me11_lctLocalPhi
MonitorElement * me11_lctLocalPhi
Definition: L1TCSCTF.h:111
L1TCSCTF::tracksToken_
edm::EDGetTokenT< L1CSCTrackCollection > tracksToken_
Definition: L1TCSCTF.h:188
gbletadat
class global_eta_data gbletadat
L1TCSCTF::DTstubsTimeTrackMenTimeArrival
MonitorElement * DTstubsTimeTrackMenTimeArrival[12]
Definition: L1TCSCTF.h:163
L1TCSCTF::csc_wire_MEminus42
MonitorElement * csc_wire_MEminus42
Definition: L1TCSCTF.h:159
edm::shift
static unsigned const int shift
Definition: LuminosityBlockID.cc:7
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
L1TCSCTF::me11_lctPackedPhi
MonitorElement * me11_lctPackedPhi
Definition: L1TCSCTF.h:112
L1TCSCTF::BxInEvent_
int BxInEvent_
Definition: L1TCSCTF.h:164
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
L1TCSCTF::csctflcts
MonitorElement * csctflcts
Definition: L1TCSCTF.h:106
L1TCSCTF::csctfChamberOccupancies
MonitorElement * csctfChamberOccupancies
Definition: L1TCSCTF.h:93
L1TCSCTF::srLUTs_
CSCSectorReceiverLUT * srLUTs_[5][2][6]
Definition: L1TCSCTF.h:177
CSCSectorReceiverLUT::globalEtaME
gbletadat globalEtaME(int phi_bend, int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
Definition: CSCSectorReceiverLUT.cc:705
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
L1TCSCTF::mbtracksToken_
edm::EDGetTokenT< L1CSCTrackCollection > mbtracksToken_
Definition: L1TCSCTF.h:190
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
L1TCSCTF::lctProducer
edm::InputTag lctProducer
Definition: L1TCSCTF.h:174
gblphidat
class global_phi_data gblphidat
L1TCSCTF::csctfoccupancies_H
MonitorElement * csctfoccupancies_H
Definition: L1TCSCTF.h:80
L1TCSCTF::csc_strip_MEminus13
MonitorElement * csc_strip_MEminus13
Definition: L1TCSCTF.h:133
L1TCSCTF::me11_lctGblEta
MonitorElement * me11_lctGblEta
Definition: L1TCSCTF.h:114
L1TCSCTF::dtStubsToken_
edm::EDGetTokenT< CSCTriggerContainer< csctf::TrackStub > > dtStubsToken_
Definition: L1TCSCTF.h:189
L1TCSCTF::gmtProducer
edm::InputTag gmtProducer
Definition: L1TCSCTF.h:174
cms::Exception
Definition: Exception.h:70
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::eventsetup::EventSetupRecord::cacheIdentifier
unsigned long long cacheIdentifier() const
Definition: EventSetupRecord.h:184
L1TCSCTF::csc_wire_MEminus12
MonitorElement * csc_wire_MEminus12
Definition: L1TCSCTF.h:152
L1TCSCTF::csc_strip_MEplus12
MonitorElement * csc_strip_MEplus12
Definition: L1TCSCTF.h:122
L1TCSCTF::m_scalesCacheID
unsigned long long m_scalesCacheID
Definition: L1TCSCTF.h:181
L1TCSCTF::csctfoccupancies
MonitorElement * csctfoccupancies
Definition: L1TCSCTF.h:79
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
DigiContainerIterator
Definition: MuonDigiCollection.h:30
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
L1TCSCTF::csc_strip_MEminus11
MonitorElement * csc_strip_MEminus11
Definition: L1TCSCTF.h:131
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
edm::InputTag
Definition: InputTag.h:15
L1TCSCTF::verbose_
bool verbose_
Definition: L1TCSCTF.h:171
L1TCSCTF::isCSCcand_
bool isCSCcand_
Definition: L1TCSCTF.h:165
L1TCSCTF::csc_strip_MEminus31
MonitorElement * csc_strip_MEminus31
Definition: L1TCSCTF.h:136
L1TCSCTF::csc_strip_MEplus11
MonitorElement * csc_strip_MEplus11
Definition: L1TCSCTF.h:121
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
L1TCSCTF::csc_wire_MEminus31
MonitorElement * csc_wire_MEminus31
Definition: L1TCSCTF.h:156
L1TCSCTF::csc_wire_MEplus31
MonitorElement * csc_wire_MEplus31
Definition: L1TCSCTF.h:146
hgcalPlots.ytitle
ytitle
Definition: hgcalPlots.py:1401
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
L1TCSCTF::csc_wire_MEplus11
MonitorElement * csc_wire_MEplus11
Definition: L1TCSCTF.h:141