|
ATLAS Offline Software
|
#include <AddFlowByShifting.h>
|
| AddFlowByShifting (const std::string &name, ISvcLocator *pSvcLocator) |
|
StatusCode | initialize () |
|
StatusCode | execute () |
|
StatusCode | finalize () |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
CLHEP::HepRandomEngine * | getRandomEngine (const std::string &streamName, const EventContext &ctx) const |
|
double | SetParentToRanPhi (HepMC::GenParticlePtr parent, CLHEP::HepRandomEngine *rndmEngine) |
|
double | AddFlowToParent (HepMC::GenParticlePtr parent, const HijingEventParams *hijing_pars) |
|
void | MoveDescendantsToParent (HepMC::GenParticlePtr parent, double phishift) |
|
void | jjia_minbias_new (double b, double eta, double pt) |
|
void | jjia_minbias_new_v2only (double b, double eta, double pt) |
|
void | fixed_vn (double b, double eta, double pt) |
|
void | fixed_v2 (double b, double eta, double pt) |
|
void | jjia_minbias_old (double b, double eta, double pt) |
|
void | ao_test (double b, double eta, double pt) |
|
void | custom_vn (double b, double eta, double pt) |
|
void | p_Pb_cent_eta_indep (double b, double eta, double pt) |
|
void | Set_EbE_Fluctuation_Multipliers (HepMC::GenVertexPtr mainvtx, float b, CLHEP::HepRandomEngine *rndmEngine) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
void(AddFlowByShifting::* | m_flow_function )(double b, double eta, double pt) |
|
TGraph * | m_graph_fluc {} |
|
ServiceHandle< IAthRNGSvc > | m_rndmSvc {this, "RndmSvc", "AthRNGSvc"} |
|
StringProperty | m_inkey {this, "McTruthKey", "GEN_EVENT"} |
|
StringProperty | m_outkey {this, "McFlowKey", "FLOW_EVENT"} |
|
IntegerProperty | m_ranphi_sw {this, "RandomizePhi", 0} |
|
StringProperty | m_flow_function_name {this, "FlowFunctionName", "jjia_minbias_new"} |
|
StringProperty | m_flow_implementation {this, "FlowImplementation", "exact"} |
|
int | m_flow_implementation_type {0} |
|
BooleanProperty | m_flow_fluctuations {this, "FlowFluctuations", false} |
|
IntegerProperty | m_floweta_sw {this, "FlowEtaSwitch", 0 } |
|
FloatProperty | m_flow_maxeta {this, "FlowMaxEtaCut", 10.0} |
|
FloatProperty | m_flow_mineta {this, "FlowMinEtaCut", 0.f} |
|
IntegerProperty | m_flowpt_sw {this, "FlowPtSwitch", 0} |
|
FloatProperty | m_flow_maxpt {this, "FlowMaxPtCut", 1000000.f} |
|
FloatProperty | m_flow_minpt {this, "FlowMinPtCut", 0.f} |
|
IntegerProperty | m_flowb_sw {this, "FlowBSwitch", 0} |
|
FloatProperty | m_custom_v1 {this, "custom_v1", 0.f} |
|
FloatProperty | m_custom_v2 {this, "custom_v2", 0.f} |
|
FloatProperty | m_custom_v3 {this, "custom_v3", 0.f} |
|
FloatProperty | m_custom_v4 {this, "custom_v4", 0.f} |
|
FloatProperty | m_custom_v5 {this, "custom_v5", 0.f} |
|
FloatProperty | m_custom_v6 {this, "custom_v6", 0.f} |
|
int | m_particles_processed {0} |
|
float | m_psi_n [6] |
|
float | m_v_n [6] |
|
float | m_EbE_Multiplier_vn [6] |
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 42 of file AddFlowByShifting.h.
◆ StoreGateSvc_t
◆ AddFlowByShifting()
AddFlowByShifting::AddFlowByShifting |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ AddFlowToParent()
Definition at line 349 of file AddFlowByShifting.cxx.
356 double pt =
parent->momentum().perp();
357 double eta =
parent->momentum().pseudoRapidity();
358 double phi_0 =
parent->momentum().phi();
363 if(phi_0 !=phi_0) {
ATH_MSG_ERROR(
"ERROR phi of track is not defined");error_=1;}
366 <<
parent->momentum().py()<<
" "
367 <<
parent->momentum().pz()<<
" "
368 <<
parent->momentum().e() <<
" "
369 <<
parent->momentum().m() <<
" ");
376 for(
int ihar = 0; ihar< 6; ihar++){
m_v_n [ihar]=0.0;}
377 double b = hijing_pars->
get_b();
380 for(
int ihar = 0; ihar< 6; ihar++){
401 gsl_root_fsolver *
s = gsl_root_fsolver_alloc (
T);
404 for(
int ipar=0;ipar<13;ipar++) {
params[ipar]=0;}
408 gsl_root_fsolver_set (
s, &
F, x_lo, x_hi);
418 status = gsl_root_fsolver_iterate (
s);
419 phi = gsl_root_fsolver_root (
s);
420 x_lo = gsl_root_fsolver_x_lower (
s);
421 x_hi = gsl_root_fsolver_x_upper (
s);
422 status = gsl_root_test_interval (x_lo, x_hi,0, 0.00001);
424 while (
status == GSL_CONTINUE && iter < 1000);
425 gsl_root_fsolver_free (
s);
427 if (iter>=1000)
return 0;
429 phishift =
phi-phi_0;
432 if(std::abs(phishift) > 1
e-7) {
437 " V2 = " <<
m_v_n[1] <<
438 " V3 = " <<
m_v_n[2] <<
439 " V4 = " <<
m_v_n[3] <<
440 " V5 = " <<
m_v_n[4] <<
441 " V6 = " <<
m_v_n[5] <<
442 " Phi shift = " << phishift <<
443 " Phi shifted = " <<
momentum.phi() );
◆ ao_test()
void AddFlowByShifting::ao_test |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
◆ custom_vn()
void AddFlowByShifting::custom_vn |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode AddFlowByShifting::execute |
( |
| ) |
|
Definition at line 150 of file AddFlowByShifting.cxx.
153 const EventContext& ctx = Gaudi::Hive::currentContext();
157 if(
evtStore()->
retrieve(hijing_pars,
"Hijing_event_params").isFailure() ) {
159 return StatusCode::FAILURE;
162 " BPhi = " << hijing_pars->
get_bphi());
173 return StatusCode::FAILURE;
181 for (citr = mcCollptr->
begin(); citr!=mcCollptr->
end(); ++citr) {
182 mcFlowCollptr->
push_back(
new HepMC::GenEvent(*(*citr)));
188 for(
int ihar=0;ihar<6;ihar++){
189 m_psi_n[ihar] =(CLHEP::RandFlat::shoot(rndmEngine)-0.5)*2*
M_PI / (ihar+1);
195 ATH_MSG_DEBUG(
" Psi2 for event : "<<(*hijing_pars).get_psi(2));
200 for (itr = mcFlowCollptr->
begin(); itr!=mcFlowCollptr->
end(); ++itr) {
206 auto mainvtx=(*itr)->vertices().front();
208 int particles_in_event = (*itr)->particles().size();
210 for (
auto parent: mainvtx->particles_out())
212 auto mainvtx=*((*itr)->vertices_begin());
214 int particles_in_event = (*itr)->particles_size();
216 for (
auto parent: *mainvtx)
225 " Eta = " <<
momentum.pseudoRapidity()<<
254 ATH_MSG_INFO(
" Particles in event: " << particles_in_event <<
260 return StatusCode::FAILURE;
262 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode AddFlowByShifting::finalize |
( |
| ) |
|
◆ fixed_v2()
void AddFlowByShifting::fixed_v2 |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
◆ fixed_vn()
void AddFlowByShifting::fixed_vn |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
◆ getRandomEngine()
CLHEP::HepRandomEngine * AddFlowByShifting::getRandomEngine |
( |
const std::string & |
streamName, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
private |
◆ initialize()
StatusCode AddFlowByShifting::initialize |
( |
| ) |
|
Definition at line 68 of file AddFlowByShifting.cxx.
69 ATH_MSG_INFO(
">>> AddFlowByShifting from Initialize <<<");
73 ATH_MSG_INFO(
"**********Settings for Afterburner************");
98 ATH_MSG_INFO(
"********************************r*************");
123 float b_lo[21]={ -1.00, 0.000, 1.483, 2.098, 2.569, 2.966, 3.317, 4.687, 5.739, 6.627, 7.409,
124 8.117, 8.767, 9.373, 9.943,10.479,10.991,11.479,11.947,15.00 ,100.0};
126 float b_hi[21]={ -1.00 , 1.483, 2.098, 2.569, 2.966, 3.317, 4.687, 5.739, 6.627, 7.409, 8.117,
127 8.767, 9.373, 9.943,10.479,10.991,11.479,11.947,12.399,15.00 ,100.0};
128 float val [21]={ 5.600, 5.600, 5.600,1.175 ,0.8253,0.7209,0.5324,0.4431,0.3984,0.3844,0.3847,
129 0.3935,0.4106,0.4310,0.4574,0.4674,0.4873,0.4796,0.4856,0.5130,0.5130};
131 for(
int i=0;
i<21;
i++) bimp_vals[
i]=(b_lo[
i]+b_hi[
i])/2.0;
136 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ jjia_minbias_new()
void AddFlowByShifting::jjia_minbias_new |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
Definition at line 451 of file AddFlowByShifting.cxx.
456 a1=0.4397*
std::exp(-(
b-4.526)*(
b-4.526)/72.0) + 0.636;
458 a3=4.79*0.0001*(
b-0.621)*(
b-10.172)*(
b-23)+1.2;
459 a4=0.135*
std::exp(-0.5*(
b-10.855)*(
b-10.855)/4.607/4.607) +0.0120;
463 float temp3 = 0.01 / (1+
std::exp(-(
pt-4.5)/a3));
467 float fb=0.97 +1.06*
std::exp(-0.5*
b*
b/3.2/3.2);
470 float gb= 1.096 +1.36 *
std::exp(-0.5*
b*
b/3.0/3.0);
471 gb=gb*sqrt(
m_v_n[1]);
◆ jjia_minbias_new_v2only()
void AddFlowByShifting::jjia_minbias_new_v2only |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
Definition at line 480 of file AddFlowByShifting.cxx.
485 a1=0.4397*
std::exp(-(
b-4.526)*(
b-4.526)/72.0) + 0.636;
487 a3=4.79*0.0001*(
b-0.621)*(
b-10.172)*(
b-23)+1.2;
488 a4=0.135*
std::exp(-0.5*(
b-10.855)*(
b-10.855)/4.607/4.607) +0.0120;
492 float temp3 = 0.01 / (1+
std::exp(-(
pt-4.5)/a3));
◆ jjia_minbias_old()
void AddFlowByShifting::jjia_minbias_old |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
◆ MoveDescendantsToParent()
Definition at line 300 of file AddFlowByShifting.cxx.
305 auto endvtx =
parent->end_vertex();
313 for ( HepMC::GenVertex::vertex_iterator
314 descvtxit = endvtx->vertices_begin(HepMC::descendants);
315 descvtxit != endvtx->vertices_end(HepMC::descendants);
317 auto descvtx = (*descvtxit);
323 if(std::abs(phishift) > 1
e-7) {
324 CLHEP::HepLorentzVector position(descvtx->position().x(),
325 descvtx->position().y(),
326 descvtx->position().z(),
327 descvtx->position().t());
329 descvtx->set_position(HepMC::FourVector( position.x(),position.y(),position.z(),position.t()) );
334 for (
auto descpart: descvtx->particles_out())
336 for (
auto descpart: *descvtx)
340 " Eta = " << descpart->momentum().pseudoRapidity() <<
341 " Phi = " << descpart->momentum().phi() );
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ p_Pb_cent_eta_indep()
void AddFlowByShifting::p_Pb_cent_eta_indep |
( |
double |
b, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
private |
Definition at line 553 of file AddFlowByShifting.cxx.
559 an_val[0][0] = 0.1149;
560 an_val[0][1] = 1.181;
561 an_val[0][2] = 0.3767;
563 an_val[1][0] = 0.0498;
564 an_val[1][1] = 1.688;
565 an_val[1][2] = 0.5046;
567 an_val[2][0] = 0.02095;
568 an_val[2][1] = 2.196;
569 an_val[2][2] = 0.6259;
571 an_val[3][0] = 0.00682*0.5;
572 an_val[3][1] = 4.938;
573 an_val[3][2] = 1.237;
◆ renounce()
◆ renounceArray()
◆ Set_EbE_Fluctuation_Multipliers()
void AddFlowByShifting::Set_EbE_Fluctuation_Multipliers |
( |
HepMC::GenVertexPtr |
mainvtx, |
|
|
float |
b, |
|
|
CLHEP::HepRandomEngine * |
rndmEngine |
|
) |
| |
|
private |
Definition at line 584 of file AddFlowByShifting.cxx.
585 int Total_Multiplicity=0;
589 for(
auto parent: *mainvtx) {
590 float eta=
parent->momentum().pseudoRapidity();
591 float pT =
parent->momentum().perp();
593 for(
int ihar = 0; ihar< 6; ihar++){
m_v_n [ihar]=0.0;}
595 for(
int ihar = 0; ihar< 6; ihar++){EbE_Vn[ihar] +=
m_v_n [ihar];}
596 Total_Multiplicity++;
600 for(
int ihar = 0; ihar< 6; ihar++){
m_v_n [ihar]=0.0;}
601 if(Total_Multiplicity<=0)
return;
604 for(
int ihar=0;ihar<6;ihar++){
605 EbE_Vn[ihar]/=Total_Multiplicity;
606 float vn_rp=0,delta=0;
612 if(ihar==0)
continue;
615 delta=EbE_Vn[ihar]/sqrt(2.0+alpha*alpha);
620 delta=EbE_Vn[ihar]/sqrt(2.0);
623 float X=CLHEP::RandGaussQ::shoot(rndmEngine,vn_rp,delta);
624 float Y=CLHEP::RandGaussQ::shoot(rndmEngine,0.0 ,delta);
◆ SetParentToRanPhi()
double AddFlowByShifting::SetParentToRanPhi |
( |
HepMC::GenParticlePtr |
parent, |
|
|
CLHEP::HepRandomEngine * |
rndmEngine |
|
) |
| |
|
private |
Definition at line 273 of file AddFlowByShifting.cxx.
280 double phi, phishift;
287 double rannum = CLHEP::RandFlat::shoot(rndmEngine);
288 double ranphi = (rannum-0.5)*2*
M_PI;
289 phishift = ranphi -
phi;
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ vn_func()
double AddFlowByShifting::vn_func |
( |
double |
x, |
|
|
void * |
params |
|
) |
| |
|
static |
Definition at line 31 of file AddFlowByShifting.cxx.
33 float *par_float = (
float*)
params;
34 float phi_0 = par_float[0];
35 float *vn = par_float+1;
37 double val=
x +2*( vn[0]*
sin(1*(
x-psi_n[0]))/1.0 + vn[1]*
sin(2*(
x-psi_n[1]))/2.0 +
38 vn[2]*
sin(3*(
x-psi_n[2]))/3.0 + vn[3]*
sin(4*(
x-psi_n[3]))/4.0 +
39 vn[4]*
sin(5*(
x-psi_n[4]))/5.0 + vn[5]*
sin(6*(
x-psi_n[5]))/6.0 );
◆ vn_func_derivative()
double AddFlowByShifting::vn_func_derivative |
( |
double |
x, |
|
|
void * |
params |
|
) |
| |
|
static |
Definition at line 44 of file AddFlowByShifting.cxx.
46 float *par_float = (
float*)
params;
47 float *vn = par_float+1;
49 double val=1 +2*( vn[0]*
cos(1*(
x-psi_n[0]))/1.0 + vn[1]*
cos(2*(
x-psi_n[1]))/2.0 +
50 vn[2]*
cos(3*(
x-psi_n[2]))/3.0 + vn[3]*
cos(4*(
x-psi_n[3]))/4.0 +
51 vn[4]*
cos(5*(
x-psi_n[4]))/5.0 + vn[5]*
cos(6*(
x-psi_n[5]))/6.0 );
◆ m_custom_v1
FloatProperty AddFlowByShifting::m_custom_v1 {this, "custom_v1", 0.f} |
|
private |
◆ m_custom_v2
FloatProperty AddFlowByShifting::m_custom_v2 {this, "custom_v2", 0.f} |
|
private |
◆ m_custom_v3
FloatProperty AddFlowByShifting::m_custom_v3 {this, "custom_v3", 0.f} |
|
private |
◆ m_custom_v4
FloatProperty AddFlowByShifting::m_custom_v4 {this, "custom_v4", 0.f} |
|
private |
◆ m_custom_v5
FloatProperty AddFlowByShifting::m_custom_v5 {this, "custom_v5", 0.f} |
|
private |
◆ m_custom_v6
FloatProperty AddFlowByShifting::m_custom_v6 {this, "custom_v6", 0.f} |
|
private |
◆ m_detStore
◆ m_EbE_Multiplier_vn
float AddFlowByShifting::m_EbE_Multiplier_vn[6] |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_flow_fluctuations
BooleanProperty AddFlowByShifting::m_flow_fluctuations {this, "FlowFluctuations", false} |
|
private |
◆ m_flow_function
void(AddFlowByShifting::* AddFlowByShifting::m_flow_function) (double b, double eta, double pt) |
|
private |
◆ m_flow_function_name
StringProperty AddFlowByShifting::m_flow_function_name {this, "FlowFunctionName", "jjia_minbias_new"} |
|
private |
◆ m_flow_implementation
StringProperty AddFlowByShifting::m_flow_implementation {this, "FlowImplementation", "exact"} |
|
private |
◆ m_flow_implementation_type
int AddFlowByShifting::m_flow_implementation_type {0} |
|
private |
◆ m_flow_maxeta
FloatProperty AddFlowByShifting::m_flow_maxeta {this, "FlowMaxEtaCut", 10.0} |
|
private |
◆ m_flow_maxpt
FloatProperty AddFlowByShifting::m_flow_maxpt {this, "FlowMaxPtCut", 1000000.f} |
|
private |
◆ m_flow_mineta
FloatProperty AddFlowByShifting::m_flow_mineta {this, "FlowMinEtaCut", 0.f} |
|
private |
◆ m_flow_minpt
FloatProperty AddFlowByShifting::m_flow_minpt {this, "FlowMinPtCut", 0.f} |
|
private |
◆ m_flowb_sw
IntegerProperty AddFlowByShifting::m_flowb_sw {this, "FlowBSwitch", 0} |
|
private |
◆ m_floweta_sw
IntegerProperty AddFlowByShifting::m_floweta_sw {this, "FlowEtaSwitch", 0 } |
|
private |
◆ m_flowpt_sw
IntegerProperty AddFlowByShifting::m_flowpt_sw {this, "FlowPtSwitch", 0} |
|
private |
◆ m_graph_fluc
TGraph* AddFlowByShifting::m_graph_fluc {} |
|
private |
◆ m_inkey
StringProperty AddFlowByShifting::m_inkey {this, "McTruthKey", "GEN_EVENT"} |
|
private |
◆ m_outkey
StringProperty AddFlowByShifting::m_outkey {this, "McFlowKey", "FLOW_EVENT"} |
|
private |
◆ m_particles_processed
int AddFlowByShifting::m_particles_processed {0} |
|
private |
◆ m_psi_n
float AddFlowByShifting::m_psi_n[6] |
|
private |
◆ m_ranphi_sw
IntegerProperty AddFlowByShifting::m_ranphi_sw {this, "RandomizePhi", 0} |
|
private |
◆ m_rndmSvc
◆ m_v_n
float AddFlowByShifting::m_v_n[6] |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
StringProperty m_flow_function_name
HepMC::GenVertex * GenVertexPtr
def retrieve(aClass, aKey=None)
void(AddFlowByShifting::* m_flow_function)(double b, double eta, double pt)
void setSeed(const std::string &algName, const EventContext &ctx)
Set the random seed using a string (e.g.
StringProperty m_flow_implementation
int m_flow_implementation_type
Const iterator class for DataVector/DataList.
void Set_EbE_Fluctuation_Multipliers(HepMC::GenVertexPtr mainvtx, float b, CLHEP::HepRandomEngine *rndmEngine)
Scalar phi() const
phi method
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
ServiceHandle< IAthRNGSvc > m_rndmSvc
double AddFlowToParent(HepMC::GenParticlePtr parent, const HijingEventParams *hijing_pars)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
FloatProperty m_custom_v2
void MoveDescendantsToParent(HepMC::GenParticlePtr parent, double phishift)
FloatProperty m_custom_v4
virtual void setOwner(IDataHandleHolder *o)=0
IntegerProperty m_flowb_sw
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize() override
Override sysInitialize.
float m_EbE_Multiplier_vn[6]
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
(Non-const) Iterator class for DataVector/DataList.
::StatusCode StatusCode
StatusCode definition for legacy code.
BooleanProperty m_flow_fluctuations
FloatProperty m_custom_v6
void jjia_minbias_old(double b, double eta, double pt)
IntegerProperty m_flowpt_sw
void custom_vn(double b, double eta, double pt)
void set_psi(int ihar, float psi)
FloatProperty m_flow_mineta
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
IntegerProperty m_ranphi_sw
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
FloatProperty m_flow_maxeta
void jjia_minbias_new_v2only(double b, double eta, double pt)
A wrapper class for event-slot-local random engines.
FloatProperty m_custom_v5
void jjia_minbias_new(double b, double eta, double pt)
value_type push_back(value_type pElem)
Add an element to the end of the collection.
CLHEP::HepRandomEngine * getEngine(const EventContext &ctx) const
Retrieve the random engine corresponding to the provided EventContext.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
void fixed_vn(double b, double eta, double pt)
DataObjIDColl m_extendedExtraObjects
static double vn_func(double x, void *params)
#define ATH_MSG_WARNING(x)
int m_particles_processed
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
FloatProperty m_custom_v1
AthAlgorithm()
Default constructor:
#define ATLAS_THREAD_SAFE
FloatProperty m_custom_v3
void p_Pb_cent_eta_indep(double b, double eta, double pt)
IntegerProperty m_floweta_sw
constexpr int pow(int base, int exp) noexcept
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
FloatProperty m_flow_minpt
void ao_test(double b, double eta, double pt)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
FloatProperty m_flow_maxpt
void fixed_v2(double b, double eta, double pt)
double SetParentToRanPhi(HepMC::GenParticlePtr parent, CLHEP::HepRandomEngine *rndmEngine)