Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DQM plots for the Phase 2 Track Trigger #17327

Merged
merged 5 commits into from Feb 24, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 5 additions & 7 deletions Configuration/EventContent/python/EventContent_cff.py
Expand Up @@ -836,12 +836,11 @@ def SwapKeepAndDrop(l):

from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
for _entry in [FEVTDEBUGEventContent,FEVTDEBUGHLTEventContent,FEVTEventContent]:
phase2_tracker.toModify(_entry, outputCommands = _entry.outputCommands + [
'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
'keep *_TTClustersFromPhase2TrackerDigis_*_*',
'keep *_TTStubsFromPhase2TrackerDigis_*_*'
])

phase2_tracker.toModify(_entry, outputCommands = _entry.outputCommands + [
'keep Phase2TrackerDigiedmDetSetVector_mix_*_*',
'keep *_TTClustersFromPhase2TrackerDigis_*_*',
'keep *_TTStubsFromPhase2TrackerDigis_*_*'
])

from RecoLocalFastTime.Configuration.RecoLocalFastTime_EventContent_cff import RecoLocalFastTimeFEVT, RecoLocalFastTimeRECO, RecoLocalFastTimeAOD
from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
Expand All @@ -853,4 +852,3 @@ def _addOutputCommands(mod, newCommands):
_addOutputCommands(FEVTEventContent,RecoLocalFastTimeFEVT)
_addOutputCommands(RECOSIMEventContent,RecoLocalFastTimeRECO)
_addOutputCommands(AODSIMEventContent,RecoLocalFastTimeAOD)

5 changes: 2 additions & 3 deletions Configuration/StandardSequences/python/L1TrackTrigger_cff.py
@@ -1,8 +1,7 @@
import FWCore.ParameterSet.Config as cms

### put L1 track trigger configs here

from L1Trigger.TrackTrigger.TrackTrigger_cff import *
##from SimTracker.TrackTriggerAssociation.TrackTriggerAssociator_cff import *


#L1TrackTrigger=cms.Sequence(TrackTriggerClustersStubs*TrackTriggerAssociatorClustersStubs*TrackTriggerTTTracks*TrackTriggerAssociatorTracks)
L1TrackTrigger=cms.Sequence(TrackTriggerClustersStubs)
59 changes: 59 additions & 0 deletions DQM/Phase2OuterTracker/interface/OuterTrackerMonitorTTCluster.h
@@ -0,0 +1,59 @@
#ifndef Phase2OuterTracker_OuterTrackerMonitorTTCluster_h
#define Phase2OuterTracker_OuterTrackerMonitorTTCluster_h

#include <vector>
#include <memory>
#include "FWCore/Utilities/interface/EDGetToken.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "DataFormats/Common/interface/DetSetVectorNew.h"
#include "DataFormats/L1TrackTrigger/interface/TTTypes.h"


class DQMStore;

class OuterTrackerMonitorTTCluster : public edm::EDAnalyzer {

public:
explicit OuterTrackerMonitorTTCluster(const edm::ParameterSet&);
~OuterTrackerMonitorTTCluster();
virtual void analyze(const edm::Event&, const edm::EventSetup&);
virtual void endJob() ;
virtual void beginRun(const edm::Run&, const edm::EventSetup&);

// TTCluster stacks
MonitorElement* Cluster_IMem_Barrel = 0;
MonitorElement* Cluster_IMem_Endcap_Disc = 0;
MonitorElement* Cluster_IMem_Endcap_Ring = 0;
MonitorElement* Cluster_IMem_Endcap_Ring_Fw[5] = {0, 0, 0, 0, 0};
MonitorElement* Cluster_IMem_Endcap_Ring_Bw[5] = {0, 0, 0, 0, 0};
MonitorElement* Cluster_OMem_Barrel = 0;
MonitorElement* Cluster_OMem_Endcap_Disc = 0;
MonitorElement* Cluster_OMem_Endcap_Ring = 0;
MonitorElement* Cluster_OMem_Endcap_Ring_Fw[5] = {0, 0, 0, 0, 0};
MonitorElement* Cluster_OMem_Endcap_Ring_Bw[5] = {0, 0, 0, 0, 0};
MonitorElement* Cluster_W = 0;
MonitorElement* Cluster_Eta = 0;

MonitorElement* Cluster_Barrel_XY = 0;
MonitorElement* Cluster_Barrel_XY_Zoom = 0;
MonitorElement* Cluster_Endcap_Fw_XY = 0;
MonitorElement* Cluster_Endcap_Bw_XY = 0;
MonitorElement* Cluster_RZ = 0;
MonitorElement* Cluster_Endcap_Fw_RZ_Zoom = 0;
MonitorElement* Cluster_Endcap_Bw_RZ_Zoom = 0;

private:
DQMStore* dqmStore_;
edm::ParameterSet conf_;
edm::EDGetTokenT<edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_;

std::string topFolderName_;
};
#endif
@@ -0,0 +1,29 @@
#ifndef Phase2OuterTracker_OuterTrackerMonitorTTClusterClient_h
#define Phase2OuterTracker_OuterTrackerMonitorTTClusterClient_h


#include <vector>
#include <memory>
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"

class DQMStore;

class OuterTrackerMonitorTTClusterClient : public edm::EDAnalyzer {

public:
explicit OuterTrackerMonitorTTClusterClient(const edm::ParameterSet&);
~OuterTrackerMonitorTTClusterClient();
virtual void analyze(const edm::Event&, const edm::EventSetup&);
//virtual void beginJob() ;
virtual void endJob() ;
virtual void beginRun(const edm::Run&, const edm::EventSetup&);

};
#endif
73 changes: 73 additions & 0 deletions DQM/Phase2OuterTracker/interface/OuterTrackerMonitorTTStub.h
@@ -0,0 +1,73 @@
#ifndef Phase2OuterTracker_OuterTrackerMonitorTTStub_h
#define Phase2OuterTracker_OuterTrackerMonitorTTStub_h

#include <vector>
#include <memory>
#include "FWCore/Utilities/interface/EDGetToken.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "DataFormats/Common/interface/DetSetVectorNew.h"
#include "DataFormats/L1TrackTrigger/interface/TTTypes.h"


class DQMStore;

class OuterTrackerMonitorTTStub : public edm::EDAnalyzer {

public:
explicit OuterTrackerMonitorTTStub(const edm::ParameterSet&);
~OuterTrackerMonitorTTStub();
virtual void analyze(const edm::Event&, const edm::EventSetup&);
virtual void endJob() ;
virtual void beginRun(const edm::Run&, const edm::EventSetup&);

// TTStub stacks
// * Global position of the stubs * //
MonitorElement* Stub_Barrel_XY = 0; //TTStub barrel y vs x
MonitorElement* Stub_Barrel_XY_Zoom = 0; //TTStub barrel y vs x zoom
MonitorElement* Stub_Endcap_Fw_XY = 0; //TTStub Forward Endcap y vs. x
MonitorElement* Stub_Endcap_Bw_XY = 0; //TTStub Backward Endcap y vs. x
MonitorElement* Stub_RZ = 0; // TTStub #rho vs. z
MonitorElement* Stub_Endcap_Fw_RZ_Zoom = 0; // TTStub Forward Endcap #rho vs. z
MonitorElement* Stub_Endcap_Bw_RZ_Zoom = 0; // TTStub Backward Endcap #rho vs. z

// * Number of stubs * //
MonitorElement* Stub_Barrel = 0; //TTStub per layer
MonitorElement* Stub_Endcap_Disc = 0; // TTStubs per disc
MonitorElement* Stub_Endcap_Disc_Fw = 0; //TTStub per disc
MonitorElement* Stub_Endcap_Disc_Bw = 0; //TTStub per disc
MonitorElement* Stub_Endcap_Ring = 0; // TTStubs per ring
MonitorElement* Stub_Endcap_Ring_Fw[5] = {0, 0, 0, 0, 0}; // TTStubs per EC ring
MonitorElement* Stub_Endcap_Ring_Bw[5] = {0, 0, 0, 0, 0}; //TTStub per EC ring

// * Stub Eta distribution * //
MonitorElement* Stub_Eta = 0; //TTstub eta distribution

// * STUB Displacement - offset * //
MonitorElement* Stub_Barrel_W = 0; //TTstub Pos-Corr Displacement (layer)
MonitorElement* Stub_Barrel_O = 0; // TTStub Offset (layer)
MonitorElement* Stub_Endcap_Disc_W = 0; // TTstub Pos-Corr Displacement (disc)
MonitorElement* Stub_Endcap_Disc_O = 0; // TTStub Offset (disc)
MonitorElement* Stub_Endcap_Ring_W = 0; // TTstub Pos-Corr Displacement (EC ring)
MonitorElement* Stub_Endcap_Ring_O = 0; // TTStub Offset (EC ring)
MonitorElement* Stub_Endcap_Ring_W_Fw[5] = {0, 0, 0, 0, 0}; // TTstub Pos-Corr Displacement (EC ring)
MonitorElement* Stub_Endcap_Ring_O_Fw[5] = {0, 0, 0, 0, 0}; // TTStub Offset (EC ring)
MonitorElement* Stub_Endcap_Ring_W_Bw[5] = {0, 0, 0, 0, 0}; // TTstub Pos-Corr Displacement (EC ring)
MonitorElement* Stub_Endcap_Ring_O_Bw[5] = {0, 0, 0, 0, 0}; // TTStub Offset (EC ring)

private:
DQMStore* dqmStore_;
edm::ParameterSet conf_;
edm::EDGetTokenT<edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > > > tagTTStubsToken_;

std::string topFolderName_;
};
#endif


29 changes: 29 additions & 0 deletions DQM/Phase2OuterTracker/interface/OuterTrackerMonitorTTStubClient.h
@@ -0,0 +1,29 @@
#ifndef Phase2OuterTracker_OuterTrackerMonitorTTStubClient_h
#define Phase2OuterTracker_OuterTrackerMonitorTTStubClient_h


#include <vector>
#include <memory>
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"

class DQMStore;

class OuterTrackerMonitorTTStubClient : public edm::EDAnalyzer {

public:
explicit OuterTrackerMonitorTTStubClient(const edm::ParameterSet&);
~OuterTrackerMonitorTTStubClient();
virtual void analyze(const edm::Event&, const edm::EventSetup&);
//virtual void beginJob() ;
virtual void endJob() ;
virtual void beginRun(const edm::Run&, const edm::EventSetup&);

};
#endif
65 changes: 65 additions & 0 deletions DQM/Phase2OuterTracker/interface/OuterTrackerMonitorTTTrack.h
@@ -0,0 +1,65 @@
#ifndef Phase2OuterTracker_OuterTrackerMonitorTTTrack_h
#define Phase2OuterTracker_OuterTrackerMonitorTTTrack_h

#include <vector>
#include <memory>
#include "FWCore/Utilities/interface/EDGetToken.h"
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "DataFormats/Common/interface/DetSetVectorNew.h"
#include "DataFormats/L1TrackTrigger/interface/TTTypes.h"


class DQMStore;

class OuterTrackerMonitorTTTrack : public edm::EDAnalyzer {

public:
explicit OuterTrackerMonitorTTTrack(const edm::ParameterSet&);
~OuterTrackerMonitorTTTrack();
virtual void analyze(const edm::Event&, const edm::EventSetup&);
virtual void endJob() ;
virtual void beginRun(const edm::Run&, const edm::EventSetup&);


MonitorElement* Track_N = 0;
MonitorElement* Track_NStubs = 0;

/// Low-quality TTTracks (made from less than X TTStubs)
MonitorElement* Track_LQ_N = 0;
MonitorElement* Track_LQ_Pt = 0;
MonitorElement* Track_LQ_Eta = 0;
MonitorElement* Track_LQ_Phi = 0;
MonitorElement* Track_LQ_VtxZ0 = 0;
MonitorElement* Track_LQ_Chi2 = 0;
MonitorElement* Track_LQ_Chi2Red = 0;
MonitorElement* Track_LQ_Chi2_NStubs = 0;
MonitorElement* Track_LQ_Chi2Red_NStubs = 0;

/// High-quality TTTracks (made from at least X TTStubs)
MonitorElement* Track_HQ_N = 0;
MonitorElement* Track_HQ_Pt = 0;
MonitorElement* Track_HQ_Eta = 0;
MonitorElement* Track_HQ_Phi = 0;
MonitorElement* Track_HQ_VtxZ0 = 0;
MonitorElement* Track_HQ_Chi2 = 0;
MonitorElement* Track_HQ_Chi2Red = 0;
MonitorElement* Track_HQ_Chi2_NStubs = 0;
MonitorElement* Track_HQ_Chi2Red_NStubs = 0;


private:
DQMStore* dqmStore_;
edm::ParameterSet conf_;
//edm::EDGetTokenT<edmNew::DetSetVector< TTTrack< Ref_Phase2TrackerDigi_ > > > tagTTTracksToken_;

std::string topFolderName_;
unsigned int HQDelim_;
};
#endif
@@ -0,0 +1,29 @@
#ifndef Phase2OuterTracker_OuterTrackerMonitorTTTrackClient_h
#define Phase2OuterTracker_OuterTrackerMonitorTTTrackClient_h


#include <vector>
#include <memory>
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "DQMServices/Core/interface/MonitorElement.h"
#include "DQMServices/Core/interface/DQMStore.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/ESHandle.h"

class DQMStore;

class OuterTrackerMonitorTTTrackClient : public edm::EDAnalyzer {

public:
explicit OuterTrackerMonitorTTTrackClient(const edm::ParameterSet&);
~OuterTrackerMonitorTTTrackClient();
virtual void analyze(const edm::Event&, const edm::EventSetup&);
//virtual void beginJob() ;
virtual void endJob() ;
virtual void beginRun(const edm::Run&, const edm::EventSetup&);

};
#endif
17 changes: 17 additions & 0 deletions DQM/Phase2OuterTracker/plugins/BuildFile.xml
@@ -0,0 +1,17 @@
<use name="FWCore/Framework"/>
<use name="FWCore/PluginManager"/>
<use name="FWCore/ParameterSet"/>
<use name="DQMServices/Core"/>
<use name="CommonTools/TriggerUtils"/>
<use name="DataFormats/L1TrackTrigger"/>
<use name="DataFormats/L1Trigger"/>
<use name="CalibTracker/Records"/>
<use name="CondFormats/L1TObjects"/>
<use name="DPGAnalysis/SiStripTools"/>
<use name="DQM/SiStripCommon"/>
<use name="Geometry/Records"/>
<use name="Geometry/TrackerGeometryBuilder"/>
<use name="SimDataFormats/TrackingAnalysis"/>
<use name="SimDataFormats/TrackingHit"/>
<use name="SimTracker/TrackerHitAssociation"/>
<flags EDM_PLUGIN="1"/>