Simulation CMS+TOTEMNEW

Merging CMS+TOTEM ROOT-tuples

The tools for merging the offline CMS & TOTEM data are available from the TOTEM SVN Repository:

svn co svn+ssh://svn.cern.ch/reps/totem/trunk/offline/CMSTotem

Instructions to run it can be found in the corresponding README file. Please use lxplus5.cern.ch or equivalent.

The individual TOTEM, CMS and merged n-tuples are copied at:

/castor/cern.ch/totem/offline/CMSTOTEM

Tools for running jobs at LXBATCH are available, with corresponding README file from:

svn co svn+ssh://svn.cern.ch/reps/totem/trunk/offline/CMSTotemJobSplitter

The merging of the common data requires as input a precomputed orbit difference between CMS and TOTEM. They are in general constant for a given run period. The tools to compute it are available in the above repository. The known values of the orbit difference (in often cases 0) are:

TOTEM run number CMS run number Trigger Menu CMS primary dataset Orbit shift Comments
High-beta pp July 2012
8341 198468 TechTrig[52]/RP_AND; TechTrig[53]/T2; TechTrig[54]/ZeroBias     RP Alignment Highbeta
8368 198901 TechTrig[52]/RP_AND; TechTrig[53]/T2; TechTrig[54]/ZeroBias     Run Highbeta
8369; 8371 198902 TechTrig[52]/RP_AND; TechTrig[53]/T2 (prescale 5) ; PhysTrig[3]/DoubleJet20; PhysTrig[92]/DoubleMu0; PhysTrig[111]/DoubleEG3; PhysTrig[0]/ZeroBias     Run Highbeta
8372 198903     0 Run Highbeta
pp Run 2.76 TeV 2013
pA HI Run 2013.

CMS+TOTEM merged datasets

May 2012 Data, Zero Bias (221K events):

TOTEM run number CMS run number CASTOR Path (CMS) CASTOR Path (Merged) Comments
8208 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8208/UABaseTree_LP_ZeroBias_8208.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/ZB_combined_run_8208.0XX_reco.root  
8212 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8212/UABaseTree_LP_ZeroBias_8212_1.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/ZB_combined_run_8212.0XX_reco.root  
8212 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8212/UABaseTree_LP_ZeroBias_8212_2.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/ZB_combined_run_8212.0XX_reco.root  
8214 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8212/UABaseTree_LP_ZeroBias_8214.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/ZB_combined_run_8214.0XX_reco.root  
8215 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8212/UABaseTree_LP_ZeroBias_8215.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/ZB_combined_run_8215.0XX_reco.root  

May 2012 Data, Minimum Bias (838K events):

TOTEM run number CMS run number CASTOR Path (CMS) CASTOR Path (Merged) Comments
8207 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8207/UABaseTree_8207_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8207.0YY_reco.root  
8208 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8208/UABaseTree_8208_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8208.0YY_reco.root  
8209 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8209/UABaseTree_8209_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8209.0YY_reco.root  
8212 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8212/UABaseTree_8212_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8212.0YY_reco.root  
8213 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8213/UABaseTree_8213_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8213.0YY_reco.root  
8214 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8214/UABaseTree_8214_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8214.0YY_reco.root  
8215 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8215/UABaseTree_8215_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8215.0YY_reco.root  
8218 193092 /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/VeryLowPileup/8218/UABaseTree_8218_Z.root /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/VeryLowPileup_Align/MB2_Ntuple_run_8218.0YY_reco.root  

High-beta pp Run at 8 TeV - July 2012

TOTEM run number CMS run number CMS dataset name CASTOR Path Comments  
8372 198903 /LP_Jets1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/Jets1 cmstotem-V00-01-00 Orbit offset = 0
8372 198903 /LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/ZeroBias cmstotem-V00-01-00
8372 198903 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/MinBias1-198903 cmstotem-V00-01-00
8372 198903 /LP_Jets1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198903-8372-V00-02-00/Jets1 cmstotem-V00-02-00
8372 198903 /LP_Jets2/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198903-8372-V00-02-00/Jets2 cmstotem-V00-02-00
8372 198903 /LP_RomanPots/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198903-8372-V00-02-00/RomanPots cmstotem-V00-02-00
8369/8371 198902 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/MinBias1-198902 cmstotem-V00-01-00 Orbit offset (8369/198902) = 0 ; Orbit offset (8371/198902) = 1905
8369/8371 198902 /LP_RomanPots/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198902-8369_8371-V00-02-00/RomanPots/ cmstotem-V00-02-00
8369/8371 198902 /LP_Jets1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198902-8369_8371-V00-02-00/Jets1 cmstotem-V00-02-00
8369/8371 198902 /LP_Jets2/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198902-8369_8371-V00-02-00/Jets2 cmstotem-V00-02-00
8369/8371 198902 /LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198902-8369_8371-V00-02-00/ZeroBias cmstotem-V00-02-00
8372 198903 /LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198903-8372-V00-02-00/ZeroBias cmstotem-V00-02-00
8369/8371 198902 /LP_ExclEGMU/Run2012C-22Jan2013-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198902-8369_8371-V00-02-00/Muon/ cmstotem-V00-02-00
8372 198903 /LP_ExclEGMU/Run2012C-22Jan2013-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/MergedNtuples/HighBeta/198903-8372-V00-02-00/Muon/ cmstotem-V00-02-00

pA HI Run 2013.

Producing CMS UATree ROOT-tuple

The format for the individual CMS n-tuple is that of the UATree package, documented here and with main CVS area here. The following commands can be used to set up the CMSSW project:

CMSSW release CVS tag Comments
pp at 8 TeV - High beta* run - July 2012 CVS branch 'branch_UATree_CMSTOTEM_5XY'  
CMSSW_5_3_X cmstotem-V00-01-00 Initial version
cmstotem-V00-02-00 Re-arranged configuration, added new collections, updated MC information, added FSC information.
cmstotem-V00-02-02 Minor bug fix in configuration and protection to avoid seg. fault when running on MC.
pp at 2.76 TeV - HI Run 2013 CVS branch 'branch_UATree_CMSTOTEM_pp2760_5XY'  
CMSSW_5_3_X cmstotem-pp2760-V00-01-01 Added by default CASTOR Rec Hits, and ZDC information. Separate configuration to run on RAW, saving ZDC and FSC Digi's.
cmstotem-pp2760-V00-01-02 Added by default list of HLT paths ro be saved corresponding to HI Run.
cmstotem-pp2760-V00-01-04 Modified configuration to re-run ZDC reconstruction with new calibration.

cmsrel CMSSW_5_X_Y
cd CMSSW_5_X_Y/src
cmsenv

cd $CMSSW_BASE/src
cvs co -r [cmstotem-V00-02-02|cmstotem-pp2760-V00-01-04] -d UATree UserCode/UATree

addpkg CommonTools/RecoAlgos
mv UATree/UABaseTree/macros/RecoTrack* CommonTools/RecoAlgos/interface/
mv UATree/UABaseTree/macros/PFClusterToRefCandidate.h CommonTools/RecoAlgos/src/

cvs co UserCode/FerencSiklerVertexing
cd UserCode/FerencSiklerVertexing
scram b -c
cd $CMSSW_BASE/src

cd UATree/UADataFormat/src
bash dictionary.sh
mv LinkDef.cc LinkDefcc ; mv LinkDef.h LinkDefh

cd $CMSSW_BASE/src
scram b -r -j8

Example configuration files

Data
from UATree.UABaseTree.UABaseTree_forward_cfg import process
process.source.fileNames = ['file1','file2',...]
process.maxEvents.input = 1000
process.GlobalTag.globaltag = '[GR_R_53_V7|GR_R_53_V21|...]::All'

process.uabasetree.outputfilename = "UABaseTree_CMS-TOTEM.root"

process.uabasetree.hlt_paths = (
    'HLT_<...>',
    'HLT_<...>',
    ...
)

Monte Carlo:
from UATree.UABaseTree.UABaseTree_forward_MC_cfg import process
process.source.fileNames = ['file1','file2',...]
process.maxEvents.input = 1000
process.GlobalTag.globaltag = 'START53_V7E::All'

process.uabasetree.outputfilename = "UABaseTree_CMS-TOTEM-MC.root"

RAW Data (Saving ZDC and FSC Digi's - pA/pp Run 2013):
from UATree.UABaseTree.UABaseTree_forward_RAW_cfg import process
process.source.fileNames = ['file1','file2',...]
process.maxEvents.input = 1000
process.GlobalTag.globaltag = 'GR_R_53_V21::All'

process.uabasetree.outputfilename = "UABaseTree_CMS-TOTEM.root"

Processed CMS datasets

The list of luminosity sections processed, in JSON format can be found at:

/afs/cern.ch/user/a/antoniov/public/analysis/CMSTotem

pA HI Run 2013

pA HI Run 2013.

CMS run number CMS dataset name CASTOR Path Comments
210885 /PAMinBiasUPC/HIRun2013-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/pA/2013/run210885 cmstotem-pp2760-V00-01-02
211328 /PAMinBiasUPC/HIRun2013-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/pA/2013/run211328 cmstotem-pp2760-V00-01-02

Low energy pp Run at 2.76 TeV - January 2013

CMS run number CMS dataset name CASTOR Path Comments
211831 /PPFSQ/Run2013A-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/lowE/PPFSQ_Run2013A-PromptReco-v1-pp-Run2013A-Run211831-uaBaseTree-v2 cmstotem-pp2760-V00-01-04
211831 /PPFSQ/Run2013A-v1/RAW /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/lowE/PPFSQ_Run2013A-v1-pp-Run2013A-Run211831-uaBaseTree-RAW-v2 cmstotem-pp2760-V00-01-04 - ZDC+FSC Digi's only
211831 /PPMinBias/Run2013A-PromptReco-v1/RECO == cmstotem-pp2760-V00-01-04
211831 /PPMinBias/Run2013A-v1/RAW == cmstotem-pp2760-V00-01-04 - ZDC+FSC Digi's only

High-beta pp Run at 8 TeV - July 2012

CMS run number CMS dataset name CASTOR Path Comments
198902-198903 /LP_RomanPots/Run2012C-22Jan2013-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/TestLowMassDPENewVarsNeutralsLowPUTracking/. Updated ntuples for low-mass DPE analysis with low-pT tracking, pixel+strip dEdx, pi0/eta variables added
198902-198903 /LP_RomanPots/Run2012C-22Jan2013-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/TestLowMassDPENewVars/. Test with new variables for low-mass DPE analysis

CMS run number CMS dataset name CASTOR Path Comments
198903 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_MinBias1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903  
/LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_ZeroBias_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903  
/LP_Jets1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_Jets1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903/uaBaseTree-v3 cmstotem-V00-01-00
/LP_Jets1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_Jets1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903/uaBaseTree-v4 cmstotem-V00-02-00
/LP_Jets2/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_Jets2_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903/uaBaseTree-v1 cmstotem-V00-02-00
/LP_RomanPots/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_RomanPots_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903/uaBaseTree-v1 cmstotem-V00-02-00
/LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_ZeroBias_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198903/uaBaseTree-v1-V00-02-00 cmstotem-V00-02-00
/LP_ExclEGMU/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_ExclEGMU_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198902_198903/ Runs 198902-198903 combined
198902 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_MinBias1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198902  
/LP_Jets1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_Jets1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198902/uaBaseTree-v1 cmstotem-V00-02-00
/LP_Jets2/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_Jets2_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198902/uaBaseTree-v1 cmstotem-V00-02-00
/LP_RomanPots/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_RomanPots_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198902/uaBaseTree-v1 cmstotem-V00-02-00
/LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_ZeroBias_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198902/uaBaseTree-v1-V00-02-00 cmstotem-V00-02-00
198901 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/UABaseTree_CMS-TOTEM_LP_MinBias1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198901_uaBaseTree-v1_mergedTTree.root  
/LP_ZeroBias/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/LP_ZeroBias_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198901/uaBaseTree-v1-V00-02-00 cmstotem-V00-02-00
198900 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/UABaseTree_CMS-TOTEM_LP_MinBias1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198900_uaBaseTree-v1_mergedTTree.root  
198899 /LP_MinBias1/Run2012C-PromptReco-v1/RECO /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/HighBeta/UABaseTree_CMS-TOTEM_LP_MinBias1_Run2012C-PromptReco-v1-HighBetaJuly2012-Run198899_uaBaseTree-v1_mergedTTree.root  

Monte Carlo

CMS dataset name CASTOR Path Comments
  /castor/cern.ch/totem/offline/CMSTOTEM/CMSNtuples/MC/Pomwig_SD_8TeV  

Example analysis macro

An example analysis macro to be run in ROOT can be found here. It accesses a number of different reconstructed objects such as vertices, tracks, jets, particle-flow candidates, etc. Some code fragments are shown below.

In the ROOT session the dictionaries corresponding to the TOTEM and CMS dataformats need to be loaded, using for instance something similar to the initialization script here.

Setting TTree branches

  MyEvtId* evtId = NULL;
  MyL1TrigOld* l1Trig = NULL;
  MyHLTrig* hltTrig = NULL;

  vector<MyTracks>* track_coll = NULL;
  vector<MyVertex>* vertex_coll = NULL;
  vector<MyPFJet>* pfJet_coll = NULL;
  vector<MyPFCand>* pFlow_coll = NULL;  
 
  tree->SetBranchAddress("cmsEvtUA",&evtId);
  tree->SetBranchAddress("cmsTrigUA",&l1Trig);
  tree->SetBranchAddress("cmsHLTTrigUA",&hltTrig);
  tree->SetBranchAddress("cmsTracksUA",&track_coll);
  tree->SetBranchAddress("cmsVerticesUA",&vertex_coll);
  tree->SetBranchAddress("cmsPFJetsUA",&pfJet_coll);
  tree->SetBranchAddress("cmsParticleFlowUA",&pFlow_coll);

Accessing L1 physics and technical trigger decision

      for (int itrig = 0 ; itrig < 128 ; ++itrig){
         if( l1Trig->PhysTrigWord[itrig] == 1)
            histosTH1F["decisionPhysTrig"]->Fill( itrig, event_weight );
      }

      for (int itrig = 0 ; itrig < 64 ; ++itrig){
         if( l1Trig->TechTrigWord[itrig] == 1 )
            histosTH1F["decisionTechTrig"]->Fill( itrig, event_weight );
      }

Accessing HLT result

      bool accept_HLT = (*hltTrig).HLTmap[ "HLT_L1DoubleJet20part1_v1" ];

Accessing vertex information

      for(vector<MyVertex>::iterator it_vtx = vertex_coll->begin() ; it_vtx != vertex_coll->end() ; ++it_vtx){
         histosTH1F["vtx_zpos"]->Fill( it_vtx->z, event_weight );
         histosTH1F["vtx_xpos"]->Fill( it_vtx->x, event_weight );
         histosTH1F["vtx_ypos"]->Fill( it_vtx->y, event_weight );
      }

Accessing tracking information

      for(vector<MyTracks>::iterator it_trk = track_coll->begin() ; it_trk != track_coll->end() ; ++it_trk){
         histosTH1F["track_pt"]->Fill( it_trk->Pt(), event_weight );
         histosTH1F["track_eta"]->Fill( it_trk->Eta(), event_weight );
         histosTH1F["track_phi"]->Fill( it_trk->Phi(), event_weight );
      }

Accessing jet information

      for(vector<MyPFJet>::iterator it_jet = pfJet_coll->begin() ; it_jet != pfJet_coll->end() ; ++it_jet){
         map<string,MyBaseJet>::iterator it_map = it_jet->mapjet.begin();
         for(; it_map != it_jet->mapjet.end(); ++it_map)
            if(verbose) cout << it_map->first << endl;

         MyBaseJet const& basejet = it_jet->mapjet[ "ak5PFL2L3Residual" ];
         histosTH1F["jet_pt"]->Fill( basejet.Pt(), event_weight );
         if(basejet.Pt() > 0.) histosTH1F["jet_eta"]->Fill( basejet.Eta(), event_weight );
         histosTH1F["jet_phi"]->Fill( basejet.Phi(), event_weight );
      }

Accessing particle-flow information

      for(vector<MyPFCand>::iterator it_pfcand = pFlow_coll->begin();
                                     it_pfcand != pFlow_coll->end(); ++it_pfcand){
         int partType = it_pfcand->particleId;
         double eta = it_pfcand->Eta();
         double energy = it_pfcand->Energy();
         histosTH2F["energyVsEtaAllTypes"]->Fill( eta, energy, event_weight );
      }

Description of TOTEM analysis branches

Description of the TOTEM ntuple structure.

Description of CMS analysis branches

Description of CMS algorithm triggers in 90m runs

  • The number of events collected by each trigger in CMS runs 198902+198903 can be found in this spreadsheet

Trigger name Physics (algo) bit number Description
L1_DoubleJet20 3 Requires at least 2 jets with E_T>=20 GeV and -5.0<eta<5.0
L1_DoubleMu0 92 Requires at least 2 muons with any p_T>=0 and -2.45<eta<2.45. No isolation or charge requirements.
L1_DoubleEG3_FwdVeto 111 Requires at least 2 EM objects with E_T>=3 and -3.0<eta<3.0, AND zero towers over threshold in each of 4 rings in HF (4.5 < eta < 5.0, -5.0 < eta < -4.5, 4.0 < eta < 4.5, -4.5 < eta < -4.0)

Newly added variables for low-mass DPE analysis (July 2013)

V0 variables

Variable name Description Type Notes
Kshort.mass invariant mass of K0s->pi+pi- candidate double  
Kshort.pt transverse momentum of K0s->pi+pi- candidate double  
Kshort.eta pseudorapidity of K0s->pi+pi- candidate double  
Kshort.phi azimuthal angle of K0s->pi+pi- candidate double  
Kshort.vertexx x position of K0s->pi+pi- candidate vertex double  
Kshort.vertexy y position of K0s->pi+pi- candidate vertex double  
Kshort.vertexz z position of K0s->pi+pi- candidate vertex double  
Lambda.mass invariant mass of Lambda->ppi candidate double  
Lambda.pt transverse momentum of Lambda->ppi candidate double  
Lambda.eta pseudorapidity of Lambda->ppi candidate double  
Lambda.phi azimuthal angle of Lambda->ppi candidate double  
Lambda.vertexx x position of Lambda->ppi candidate vertex double  
Lambda.vertexy y position of Lambda->ppi candidate vertex double  
Lambda.vertexz z position of Lambda->ppi candidate vertex double  

dE/dx variables

Variable name Description Type Notes
generalTracks.p magnitude of track momentum double  
generalTracks.harmonic2_dEdx pre-computed track dE/dx using harmonic-2 estimator double  
generalTracks.hit_charge[i] charge collected by one hit on the track array of doubles the "Delta-E" in dE/dx
generalTracks.hit_pathlength[i] path length traversed for one hit on the track array of doubles the "Delta-x" in dE/dx
generalTracks.hit_detIds[i] flag indicating whether one hit on the track is in the pixels or silicon strips array of unsigned ints SubDet = (hit_detIds[h]>>25)&0x7. For pixels SubDet<3, for strips 3<=SubDet<=6
generalTracks.hit_shapetest[i] flag indicating whether one hit on the track passes the "shape test" array of bools  

double GetMass(double P, double I, double C, double K){
  return sqrt((I-C)/K)*P;
}

TF1* GetMassLine(double M, double K, double C, double MinI)
{
   double BetaMax = 0.9;
   double PMax = sqrt((BetaMax*BetaMax*M*M)/(1-BetaMax*BetaMax));

   double BetaMin = 0.1;
   double PMin = sqrt((BetaMin*BetaMin*M*M)/(1-BetaMin*BetaMin));

   if(MinI>0)PMax = std::min(PMax,sqrt((M*M*K)/(MinI-C)));

   TF1* MassLine = new TF1("MassLine","[2] + ([0]*[0]*[1])/(x*x)", PMin, PMax);
   MassLine->SetParName  (0,"M");
   MassLine->SetParName  (1,"K");
   MassLine->SetParName  (2,"C");
   MassLine->SetParameter(0, M);
   MassLine->SetParameter(1, K);
   MassLine->SetParameter(2, C);
   MassLine->SetLineWidth(2);
   return MassLine;
}

double dEdxEstimOnTheFly(const fwlite::ChainEvent& ev, const reco::TrackRef&   track, double scaleFactor=1.0, bool usePixel=false, bool useClusterCleaning=true){
     fwlite::Handle<HSCPDeDxInfoValueMap> dEdxHitsH;
     dEdxHitsH.getByLabel(ev, "dedxHitInfo");
     if(!dEdxHitsH.isValid()){printf("Invalid dEdxHitInfo\n");return NULL;}
     const ValueMap<HSCPDeDxInfo>& dEdxHitMap = *dEdxHitsH.product();

     const HSCPDeDxInfo& hscpHitsInfo = dEdxHitMap.get((size_t)track.key());

     std::vector<double> vect_charge;
     for(unsigned int h=0;h<hscpHitsInfo.charge.size();h++){
        DetId detid(hscpHitsInfo.detIds[h]);  
        if(!usePixel && detid.subdetId()<3)continue; // skip pixels
        if(useClusterCleaning && !hscpHitsInfo.shapetest[h])continue; //skip strip hits failling the shape test.

        double Norm = (detid.subdetId()<3)?3.61e-06:3.61e-06*265;  //compute the normalization factor to get the energy in MeV/cm
        Norm*=10.0; //mm --> cm

        //save the dE/dx in MeV/cm to a vector.  The scalefactor can be used to correct for data/MC agreement.
        vect_charge.push_back(scaleFactor*Norm*hscpHitsInfo.charge[h]/hscpHitsInfo.pathlength[h]);
        //printf("%f ", Norm*hscpHitsInfo.charge[h]/hscpHitsInfo.pathlength[h]);
     }
     int size = vect_charge.size();

     double result=0;

     //build the harmonic 2 dE/dx estimator
     double expo = -2;
     for(int i = 0; i< size; i ++){
        result+=pow(vect_charge[i],expo); 
     }
     result = (size>0)?pow(result/size,1./expo):0.;
     //printf(" : %f\n",result);

     return result;
}

FSC variables

Variable name Description Type Notes
FSCDigi.side   int  
FSCDigi.section   int  
FSCDigi.channel   int  
FSCDigi.channelId   int  
FSCDigi.digiADC   vector of ints  
FSCDigi.digifC   vector of floats  

pi0/eta variables

Variable name Description Type Notes
Neutral.mass invariant mass of pi0/eta->gammagamma candidate double  
Neutral.pt transverse momentum of pi0/eta->gammagamma candidate double  
Neutral.eta pseudorapidity of pi0/eta->gammagamma candidate double  
Neutral.phi azimuthal angle of pi0/eta->gammagamma candidate double  
Neutral.cluster1_et transverse energy of the first photon daughter of pi0/eta->gammagamma candidate double  
Neutral.cluster1_eta pseudorapidity angle of the first photon daughter of pi0/eta->gammagamma candidate double  
Neutral.cluster1_phi azimuthal angle of the first photon daughter of pi0/eta->gammagamma candidate double  
Neutral.cluster1_iso isolation of the first photon daughter of pi0/eta->gammagamma candidate double Not yet filled
Neutral.cluster1_showershapecut showershape of the first photon daughter of pi0/eta->gammagamma candidate double Not yet filled
Neutral.cluster2_et transverse energy of the second photon daughter of pi0/eta->gammagamma candidate double  
Neutral.cluster2_eta pseudorapidity angle of the second photon daughter of pi0/eta->gammagamma candidate double  
Neutral.cluster2_phi azimuthal angle of the second photon daughter of pi0/eta->gammagamma candidate double  
Neutral.cluster2_iso isolation of the second photon daughter of pi0/eta->gammagamma candidate double Not yet filled
Neutral.cluster2_showershapecut showershape of the second photon daughter of pi0/eta->gammagamma candidate double Not yet filled

Analysis Topics:

* Dimuons productions with a leading proton

-- LeszekGrzanka - 28-Jun-2013

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatxlsx CMS-TOTEM-TotTrig.xlsx r1 manage 46.5 K 2013-07-10 - 15:13 JonathanHollar Triggers collected during 2012 90m runs
Edit | Attach | Watch | Print version | History: r50 < r49 < r48 < r47 < r46 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r50 - 2014-02-18 - ValentinaAvati
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback