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
HL-LHC Beamspot in CMSSW 81X #15936
HL-LHC Beamspot in CMSSW 81X #15936
Changes from all commits
6074b0e
0a3ae06
7487658
a215106
27ba116
e21d77d
3f7f277
6ebde74
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1681,6 +1681,18 @@ def lhegensim(fragment,howMuch): | |
} | ||
if cust!=None : upgradeStepDict['GenSimHLBeamSpotFull'][k]['--customise']=cust | ||
if era is not None: upgradeStepDict['GenSimHLBeamSpotFull'][k]['--era']=era | ||
|
||
upgradeStepDict['GenSimHLBeamSpotFull14'][k]= {'-s' : 'GEN,SIM', | ||
'-n' : 10, | ||
'--conditions' : gt, | ||
'--beamspot' : 'HLLHC14TeV', | ||
'--datatier' : 'GEN-SIM', | ||
'--eventcontent': 'FEVTDEBUG', | ||
'--geometry' : geom | ||
} | ||
|
||
if cust!=None : upgradeStepDict['GenSimHLBeamSpotFull14'][k]['--customise']=cust | ||
if era is not None: upgradeStepDict['GenSimHLBeamSpotFull14'][k]['--era']=era | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so this proposes to maintain two beamspots in the long term, or do you see switching to the HL-LHC one? (trying to avoid scenario explosions) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @davidlange6 This proposes two beamspots, both are HL-LHC beamspots but consistent with the COM energies of the samples (13 and 14 TeV, respectively). The distinction is made here since there are differences in the beamspot depending on the beam kinematics. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. people are planning to study 13 and 14 tev sometime soon? Ok...guess that means we can validate once and then pick on for normal validation There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, I just did this to make sure a physically consistent beamspot was always used given that the mix of 13 and 14 TeV workflows was already there (just take a look at runTheMatrix.py -w upgrade -n). |
||
|
||
upgradeStepDict['DigiFull'][k] = {'-s':'DIGI:pdigi_valid,L1,DIGI2RAW,HLT:@fake', | ||
'--conditions':gt, | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,8 +25,10 @@ | |
for frag in upgradeFragments: | ||
k=frag[:-4]+'_'+key | ||
stepList=[] | ||
for step in upgradeProperties[year][key]['ScenToRun']: | ||
for step in upgradeProperties[year][key]['ScenToRun']: | ||
if 'Sim' in step: | ||
if 'HLBeamSpotFull' in step and '14TeV' in frag: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this should not be here. let me remember where it should go. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It seems the only way to do it since all combinations of upgrade workflows are made and then everything is sorted out in the end. Especially since we have 14 TeV wfs mixed with 13 TeV wfs. Don't see a nicer way to do it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ok- i see whats needed to clean this up - will attempt it next week |
||
step = 'GenSimHLBeamSpotFull14' | ||
stepList.append(k+'_'+step) | ||
else: | ||
stepList.append(step+'_'+key) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
#ifndef IOMC_HLLHCEvtVtxGenerator_H | ||
#define IOMC_HLLHCEvtVtxGenerator_H | ||
|
||
/** | ||
* Generate event vertices given beams sizes, crossing angle | ||
* offset, and crab rotation. | ||
* Attention: All values are assumed to be mm for spatial coordinates | ||
* and ns for time. | ||
* Attention: This class fix the the vertex time generation of HLLHCEvtVtxGenerator | ||
* | ||
* $Id: HLLHCEvtVtxGenerator_Fix.h,v 1.0 2015/03/15 10:34:38 Exp $ | ||
*/ | ||
|
||
#include "IOMC/EventVertexGenerators/interface/BaseEvtVtxGenerator.h" | ||
|
||
#include <string> | ||
|
||
namespace CLHEP { | ||
class RandFlat; | ||
} | ||
|
||
namespace edm { | ||
class ConfigurationDescriptions; | ||
} | ||
|
||
class HLLHCEvtVtxGenerator : public BaseEvtVtxGenerator | ||
{ | ||
public: | ||
|
||
HLLHCEvtVtxGenerator(const edm::ParameterSet & p); | ||
|
||
virtual ~HLLHCEvtVtxGenerator(); | ||
|
||
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); | ||
|
||
/// return a new event vertex | ||
virtual HepMC::FourVector* newVertex(CLHEP::HepRandomEngine*) ; | ||
|
||
virtual TMatrixD* GetInvLorentzBoost() {return 0;}; | ||
|
||
private: | ||
/** Copy constructor */ | ||
HLLHCEvtVtxGenerator(const HLLHCEvtVtxGenerator &p); | ||
|
||
/** Copy assignment operator */ | ||
HLLHCEvtVtxGenerator& operator = (const HLLHCEvtVtxGenerator & rhs ); | ||
|
||
//spatial and time offset for mean collision | ||
double fMeanX, fMeanY, fMeanZ, fTimeOffset; | ||
|
||
//proton beam energy | ||
double fEproton; | ||
|
||
//half crossing angle | ||
double fTheta; | ||
|
||
//crab rotation in crossing plane | ||
double fAlphax; | ||
|
||
//crab frequence in crossing plane | ||
double fOmegax; | ||
|
||
//normalized emmittance in crossing plane | ||
double fEpsilonx; | ||
|
||
//beta function in crossing plane | ||
double fBetax; | ||
|
||
//crab rotation in parallel plane | ||
double fAlphay; | ||
|
||
//crab frequence in parallel plane | ||
double fOmegay; | ||
|
||
//normalized emmittance parallel plane | ||
double fEpsilony; | ||
|
||
//beta function in parallel plane | ||
double fBetay; | ||
|
||
//longitudinal bunch size | ||
double fZsize; | ||
|
||
//longitudinal beam profile | ||
std::string fProfile; | ||
// fProfile is one of: | ||
// "Gaussian" and then fZsize is the width of the gaussian | ||
// "Flat" and then fZsize is the half length of the bunch. | ||
|
||
struct lhcbeamparams { | ||
|
||
double betagamma; | ||
double theta; | ||
double alphax; | ||
double omegax; | ||
double epsilonx; | ||
double betax; | ||
double alphay; | ||
double omegay; | ||
double epsilony; | ||
double betay; | ||
double zsize; | ||
std::string beamprofile; | ||
}; | ||
|
||
double p1(double x, double y, double z, double t, const lhcbeamparams& par); | ||
|
||
double p2(double x, double y, double z, double t, const lhcbeamparams& par); | ||
|
||
double sigma(double z, double epsilon, double beta, double betagamma); | ||
|
||
double rhoz(double z, const lhcbeamparams& par); | ||
}; | ||
|
||
#endif |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * | ||
HLLHCVtxSmearingParameters14TeV = HLLHCVtxSmearingParameters.clone( EprotonInGeV = cms.double(7000) ) | ||
VtxSmeared = cms.EDProducer("HLLHCEvtVtxGenerator", | ||
HLLHCVtxSmearingParameters14TeV, | ||
VtxSmearedCommon | ||
) | ||
|
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * | ||
HLLHCCrabKissingVtxSmearingParameters14TeV=HLLHCCrabKissingVtxSmearingParameters.clone(EprotonInGeV = cms.double(7000.0)) | ||
VtxSmeared = cms.EDProducer("HLLHCEvtVtxGenerator", | ||
HLLHCCrabKissingVtxSmearingParameters14TeV, | ||
VtxSmearedCommon | ||
) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * | ||
VtxSmeared = cms.EDProducer("HLLHCEvtVtxGenerator", | ||
HLLHCCrabKissingVtxSmearingParameters, | ||
VtxSmearedCommon | ||
) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from IOMC.EventVertexGenerators.VtxSmearedParameters_cfi import * | ||
VtxSmeared = cms.EDProducer("HLLHCEvtVtxGenerator", | ||
HLLHCVtxSmearingParameters, | ||
VtxSmearedCommon | ||
) | ||
|
||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks @lgray I was wondering if there is a way of letting all these people here: https://github.com/cms-sw/cmssw/search?p=1&q=upgradePLS3&type=Code&utf8=%E2%9C%93 know that the content of their conditions is suddenly not the one they had used to have.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will put in a print/warning statement in the python.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this printout should get removed in a month or so..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd propose to remove it before 8_1_0. I can take care of that once preparing the GTs for it.