 |
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, V, H > &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, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &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 39 of file AddFlowByShifting.h.
◆ StoreGateSvc_t
◆ AddFlowByShifting()
AddFlowByShifting::AddFlowByShifting |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ AddFlowToParent()
Definition at line 358 of file AddFlowByShifting.cxx.
365 double pt =
parent->momentum().perp();
366 double eta =
parent->momentum().pseudoRapidity();
367 double phi_0 =
parent->momentum().phi();
372 if(phi_0 !=phi_0) {
ATH_MSG_ERROR(
"ERROR phi of track is not defined");error_=1;}
375 <<
parent->momentum().py()<<
" "
376 <<
parent->momentum().pz()<<
" "
377 <<
parent->momentum().e() <<
" "
378 <<
parent->momentum().m() <<
" ");
385 for(
int ihar = 0; ihar< 6; ihar++){
m_v_n [ihar]=0.0;}
386 double b = hijing_pars->
get_b();
389 for(
int ihar = 0; ihar< 6; ihar++){
410 gsl_root_fsolver *
s = gsl_root_fsolver_alloc (
T);
413 for(
int ipar=0;ipar<13;ipar++) {
params[ipar]=0;}
417 gsl_root_fsolver_set (
s, &
F, x_lo, x_hi);
427 status = gsl_root_fsolver_iterate (
s);
428 phi = gsl_root_fsolver_root (
s);
429 x_lo = gsl_root_fsolver_x_lower (
s);
430 x_hi = gsl_root_fsolver_x_upper (
s);
431 status = gsl_root_test_interval (x_lo, x_hi,0, 0.00001);
433 while (
status == GSL_CONTINUE &&
iter < 1000);
434 gsl_root_fsolver_free (
s);
436 if (
iter>=1000)
return 0;
438 phishift =
phi-phi_0;
441 if(std::abs(phishift) > 1
e-7) {
446 " V2 = " <<
m_v_n[1] <<
447 " V3 = " <<
m_v_n[2] <<
448 " V4 = " <<
m_v_n[3] <<
449 " V5 = " <<
m_v_n[4] <<
450 " V6 = " <<
m_v_n[5] <<
451 " Phi shift = " << phishift <<
452 " 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 159 of file AddFlowByShifting.cxx.
162 const EventContext& ctx = Gaudi::Hive::currentContext();
166 if(
evtStore()->
retrieve(hijing_pars,
"Hijing_event_params").isFailure() ) {
168 return StatusCode::FAILURE;
171 " BPhi = " << hijing_pars->
get_bphi());
182 return StatusCode::FAILURE;
190 for (citr = mcCollptr->
begin(); citr!=mcCollptr->
end(); ++citr) {
191 mcFlowCollptr->
push_back(
new HepMC::GenEvent(*(*citr)));
197 for(
int ihar=0;ihar<6;ihar++){
198 m_psi_n[ihar] =(CLHEP::RandFlat::shoot(rndmEngine)-0.5)*2*
M_PI / (ihar+1);
204 ATH_MSG_DEBUG(
" Psi2 for event : "<<(*hijing_pars).get_psi(2));
209 for (itr = mcFlowCollptr->
begin(); itr!=mcFlowCollptr->
end(); ++itr) {
215 auto mainvtx=(*itr)->vertices().front();
217 int particles_in_event = (*itr)->particles().size();
219 for (
auto parent: mainvtx->particles_out())
221 auto mainvtx=*((*itr)->vertices_begin());
223 int particles_in_event = (*itr)->particles_size();
225 for (
auto parent: *mainvtx)
234 " Eta = " <<
momentum.pseudoRapidity()<<
263 ATH_MSG_INFO(
" Particles in event: " << particles_in_event <<
269 return StatusCode::FAILURE;
271 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 77 of file AddFlowByShifting.cxx.
78 ATH_MSG_INFO(
">>> AddFlowByShifting from Initialize <<<");
82 ATH_MSG_INFO(
"**********Settings for Afterburner************");
107 ATH_MSG_INFO(
"********************************r*************");
132 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,
133 8.117, 8.767, 9.373, 9.943,10.479,10.991,11.479,11.947,15.00 ,100.0};
135 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,
136 8.767, 9.373, 9.943,10.479,10.991,11.479,11.947,12.399,15.00 ,100.0};
137 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,
138 0.3935,0.4106,0.4310,0.4574,0.4674,0.4873,0.4796,0.4856,0.5130,0.5130};
140 for(
int i=0;
i<21;
i++) bimp_vals[
i]=(b_lo[
i]+b_hi[
i])/2.0;
145 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 460 of file AddFlowByShifting.cxx.
465 a1=0.4397*
std::exp(-(
b-4.526)*(
b-4.526)/72.0) + 0.636;
467 a3=4.79*0.0001*(
b-0.621)*(
b-10.172)*(
b-23)+1.2;
468 a4=0.135*
std::exp(-0.5*(
b-10.855)*(
b-10.855)/4.607/4.607) +0.0120;
472 float temp3 = 0.01 / (1+
std::exp(-(
pt-4.5)/a3));
476 float fb=0.97 +1.06*
std::exp(-0.5*
b*
b/3.2/3.2);
479 float gb= 1.096 +1.36 *
std::exp(-0.5*
b*
b/3.0/3.0);
480 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 489 of file AddFlowByShifting.cxx.
494 a1=0.4397*
std::exp(-(
b-4.526)*(
b-4.526)/72.0) + 0.636;
496 a3=4.79*0.0001*(
b-0.621)*(
b-10.172)*(
b-23)+1.2;
497 a4=0.135*
std::exp(-0.5*(
b-10.855)*(
b-10.855)/4.607/4.607) +0.0120;
501 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 309 of file AddFlowByShifting.cxx.
314 auto endvtx =
parent->end_vertex();
322 for ( HepMC::GenVertex::vertex_iterator
323 descvtxit = endvtx->vertices_begin(HepMC::descendants);
324 descvtxit != endvtx->vertices_end(HepMC::descendants);
326 auto descvtx = (*descvtxit);
332 if(std::abs(phishift) > 1
e-7) {
333 CLHEP::HepLorentzVector position(descvtx->position().x(),
334 descvtx->position().y(),
335 descvtx->position().z(),
336 descvtx->position().t());
338 descvtx->set_position(HepMC::FourVector( position.x(),position.y(),position.z(),position.t()) );
343 for (
auto descpart: descvtx->particles_out())
345 for (
auto descpart: *descvtx)
349 " Eta = " << descpart->momentum().pseudoRapidity() <<
350 " 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 562 of file AddFlowByShifting.cxx.
568 an_val[0][0] = 0.1149;
569 an_val[0][1] = 1.181;
570 an_val[0][2] = 0.3767;
572 an_val[1][0] = 0.0498;
573 an_val[1][1] = 1.688;
574 an_val[1][2] = 0.5046;
576 an_val[2][0] = 0.02095;
577 an_val[2][1] = 2.196;
578 an_val[2][2] = 0.6259;
580 an_val[3][0] = 0.00682*0.5;
581 an_val[3][1] = 4.938;
582 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 593 of file AddFlowByShifting.cxx.
594 int Total_Multiplicity=0;
598 for(
auto parent: *mainvtx) {
599 float eta=
parent->momentum().pseudoRapidity();
600 float pT =
parent->momentum().perp();
602 for(
int ihar = 0; ihar< 6; ihar++){
m_v_n [ihar]=0.0;}
604 for(
int ihar = 0; ihar< 6; ihar++){EbE_Vn[ihar] +=
m_v_n [ihar];}
605 Total_Multiplicity++;
609 for(
int ihar = 0; ihar< 6; ihar++){
m_v_n [ihar]=0.0;}
610 if(Total_Multiplicity<=0)
return;
613 for(
int ihar=0;ihar<6;ihar++){
614 EbE_Vn[ihar]/=Total_Multiplicity;
615 float vn_rp=0,delta=0;
621 if(ihar==0)
continue;
629 delta=EbE_Vn[ihar]/sqrt(2.0);
632 float X=CLHEP::RandGaussQ::shoot(rndmEngine,vn_rp,delta);
633 float Y=CLHEP::RandGaussQ::shoot(rndmEngine,0.0 ,delta);
◆ SetParentToRanPhi()
double AddFlowByShifting::SetParentToRanPhi |
( |
HepMC::GenParticlePtr |
parent, |
|
|
CLHEP::HepRandomEngine * |
rndmEngine |
|
) |
| |
|
private |
Definition at line 282 of file AddFlowByShifting.cxx.
289 double phi, phishift;
296 double rannum = CLHEP::RandFlat::shoot(rndmEngine);
297 double ranphi = (rannum-0.5)*2*
M_PI;
298 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 40 of file AddFlowByShifting.cxx.
42 float *par_float = (
float*)
params;
43 float phi_0 = par_float[0];
44 float *vn = par_float+1;
46 double val=
x +2*( vn[0]*
sin(1*(
x-psi_n[0]))/1.0 + vn[1]*
sin(2*(
x-psi_n[1]))/2.0 +
47 vn[2]*
sin(3*(
x-psi_n[2]))/3.0 + vn[3]*
sin(4*(
x-psi_n[3]))/4.0 +
48 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 53 of file AddFlowByShifting.cxx.
55 float *par_float = (
float*)
params;
56 float *vn = par_float+1;
58 double val=1 +2*( vn[0]*
cos(1*(
x-psi_n[0]))/1.0 + vn[1]*
cos(2*(
x-psi_n[1]))/2.0 +
59 vn[2]*
cos(3*(
x-psi_n[2]))/3.0 + vn[3]*
cos(4*(
x-psi_n[3]))/4.0 +
60 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
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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
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.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
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
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)