@@ -461,8 +461,7 @@ void setOwnerRecursive(TFolder *theFolder)
461461 theFolder->SetOwner ();
462462 // And also need to set up ownership for nested folders
463463 auto subdirs = theFolder->GetListOfFolders ();
464- for (auto *subdir : *subdirs) {
465- auto thisfolder = dynamic_cast <TFolder *>(subdir);
464+ for (auto *thisfolder : dynamic_range_cast<TFolder *>(*subdirs)) {
466465 if (thisfolder) {
467466 // no explicit deletion here, will be handled by parent
468467 setOwnerRecursive (thisfolder);
@@ -678,8 +677,7 @@ inline bool setParam(RooRealVar *p, double val, bool force)
678677template <class T1 , class T2 >
679678inline bool setParams (const T2 &args, T1 val)
680679{
681- for (auto itr : args) {
682- RooRealVar *param = dynamic_cast <RooRealVar *>(itr);
680+ for (auto *param : dynamic_range_cast<RooRealVar *>(args)) {
683681 if (!param)
684682 continue ;
685683 setParam (param, val, true );
@@ -696,8 +694,7 @@ inline bool
696694setParams (const std::map<const std::string, T1 > &point, const T2 &args, bool force = false , T1 defaultVal = 0 )
697695{
698696 bool ok = true ;
699- for (auto itr : args) {
700- RooRealVar *param = dynamic_cast <RooRealVar *>(itr);
697+ for (auto *param : dynamic_range_cast<RooRealVar *>(args)) {
701698 if (!param || param->isConstant ())
702699 continue ;
703700 ok = setParam (param, defaultVal, force) && ok;
@@ -725,8 +722,7 @@ inline bool setParams(TH1 *hist, const T &args, bool force = false)
725722{
726723 bool ok = true ;
727724
728- for (auto itr : args) {
729- RooRealVar *param = dynamic_cast <RooRealVar *>(itr);
725+ for (auto *param : dynamic_range_cast<RooRealVar *>(args)) {
730726 if (!param)
731727 continue ;
732728 ok = setParam (param, 0 ., force) && ok;
@@ -752,8 +748,7 @@ template <class T>
752748inline RooLagrangianMorphFunc::ParamSet getParams (const T ¶meters)
753749{
754750 RooLagrangianMorphFunc::ParamSet retval;
755- for (auto itr : parameters) {
756- RooRealVar *param = dynamic_cast <RooRealVar *>(itr);
751+ for (auto *param : dynamic_range_cast<RooRealVar *>(parameters)) {
757752 if (!param)
758753 continue ;
759754 retval[param->GetName ()] = param->getVal ();
@@ -977,9 +972,7 @@ inline void fillFeynmanDiagram(FeynmanDiagram &diagram, const std::vector<List *
977972 for (auto const &vertex : vertices) {
978973 std::vector<bool > vertexCouplings (ncouplings, false );
979974 int idx = -1 ;
980- RooAbsReal *coupling;
981- for (auto citr : couplings) {
982- coupling = dynamic_cast <RooAbsReal *>(citr);
975+ for (auto *coupling : dynamic_range_cast<RooAbsReal *>(couplings)) {
983976 idx++;
984977 if (!coupling) {
985978 std::cerr << " encountered invalid list of couplings in vertex!" << std::endl;
@@ -1120,20 +1113,17 @@ FormulaList buildFormulas(const char *mfname, const RooLagrangianMorphFunc::Para
11201113 std::cerr << " internal error, number of operators inconsistent!" << std::endl;
11211114 }
11221115
1123- RooAbsReal *obj0;
11241116 int idx = 0 ;
11251117
1126- for (auto itr1 : couplings) {
1127- obj0 = dynamic_cast <RooAbsReal *>(itr1);
1118+ for (auto *obj0 : dynamic_range_cast<RooAbsReal *>(couplings)) {
11281119 if (obj0->getVal () != 0 ) {
11291120 couplingsZero[idx] = false ;
11301121 }
11311122 idx++;
11321123 }
11331124 }
11341125
1135- for (auto itr2 : flags) {
1136- auto obj1 = dynamic_cast <RooAbsReal *>(itr2);
1126+ for (auto *obj1 : dynamic_range_cast<RooAbsReal *>(flags)) {
11371127 int nZero = 0 ;
11381128 int nNonZero = 0 ;
11391129 for (auto sampleit : inputFlags) {
@@ -1203,8 +1193,7 @@ FormulaList buildFormulas(const char *mfname, const RooLagrangianMorphFunc::Para
12031193 // check and apply flags
12041194 bool removedByFlag = false ;
12051195
1206- for (auto itr : flags) {
1207- auto obj = dynamic_cast <RooAbsReal *>(itr);
1196+ for (auto *obj : dynamic_range_cast<RooAbsReal *>(flags)) {
12081197 if (!obj)
12091198 continue ;
12101199 TString sval (obj->getStringAttribute (" NewPhysics" ));
@@ -1411,10 +1400,8 @@ class RooLagrangianMorphFunc::CacheElem : public RooAbsCacheElement {
14111400 // set all vars to value stored in input file
14121401 setParams (sampleit.second , operators, true );
14131402 bool first = true ;
1414- RooAbsReal *obj;
14151403
1416- for (auto itr : _couplings) {
1417- obj = dynamic_cast <RooAbsReal *>(itr);
1404+ for (auto *obj : dynamic_range_cast<RooAbsReal *>(_couplings)) {
14181405 if (!first)
14191406 std::cerr << " , " ;
14201407 oocxcoutW ((TObject *)nullptr , Eval) << obj->GetName () << " =" << obj->getVal ();
@@ -1953,8 +1940,8 @@ RooLagrangianMorphFunc::RooLagrangianMorphFunc(const RooLagrangianMorphFunc &oth
19531940{
19541941 for (size_t j = 0 ; j < other._diagrams .size (); ++j) {
19551942 std::vector<RooListProxy *> diagram;
1956- for (size_t i = 0 ; i < other._diagrams [j]. size (); ++i ) {
1957- RooListProxy *list = new RooListProxy (other. _diagrams [j][i] ->GetName (), this , *(other. _diagrams [j][i]) );
1943+ for (auto *elem : other._diagrams [j]) {
1944+ RooListProxy *list = new RooListProxy (elem ->GetName (), this , *elem );
19581945 diagram.push_back (list);
19591946 }
19601947 _diagrams.push_back (diagram);
@@ -2158,8 +2145,7 @@ RooProduct *RooLagrangianMorphFunc::getSumElement(const char *name) const
21582145 prodname.Append (" _" );
21592146 prodname.Append (this ->GetName ());
21602147
2161- for (auto itr : *args) {
2162- RooProduct *prod = dynamic_cast <RooProduct *>(itr);
2148+ for (auto *prod : dynamic_range_cast<RooProduct *>(*args)) {
21632149 if (!prod)
21642150 continue ;
21652151 TString sname (prod->GetName ());
@@ -2215,11 +2201,9 @@ void RooLagrangianMorphFunc::printSampleWeights() const
22152201
22162202void RooLagrangianMorphFunc::randomizeParameters (double z)
22172203{
2218- RooRealVar *obj;
22192204 TRandom3 r;
22202205
2221- for (auto itr : _operators) {
2222- obj = dynamic_cast <RooRealVar *>(itr);
2206+ for (auto *obj : dynamic_range_cast<RooRealVar *>(_operators)) {
22232207 double val = obj->getVal ();
22242208 if (obj->isConstant ())
22252209 continue ;
@@ -2504,8 +2488,7 @@ RooLagrangianMorphFunc::ParamSet RooLagrangianMorphFunc::getMorphParameters(cons
25042488
25052489void RooLagrangianMorphFunc::setParameters (const RooArgList *list)
25062490{
2507- for (auto itr : *list) {
2508- RooRealVar *param = dynamic_cast <RooRealVar *>(itr);
2491+ for (auto *param : dynamic_range_cast<RooRealVar *>(*list)) {
25092492 if (!param)
25102493 continue ;
25112494 this ->setParameter (param->GetName (), param->getVal ());
@@ -2562,8 +2545,7 @@ TH1 *RooLagrangianMorphFunc::createTH1(const std::string &name, bool correlateEr
25622545 double val = 0 ;
25632546 double unc2 = 0 ;
25642547 double unc = 0 ;
2565- for (auto itr : *args) {
2566- RooProduct *prod = dynamic_cast <RooProduct *>(itr);
2548+ for (auto *prod : dynamic_range_cast<RooProduct *>(*args)) {
25672549 if (!prod)
25682550 continue ;
25692551 RooAbsArg *phys = prod->components ().find (Form (" phys_%s" , prod->GetName ()));
@@ -2595,8 +2577,7 @@ int RooLagrangianMorphFunc::countContributingFormulas() const
25952577 if (!mf)
25962578 coutE (InputArguments) << " unable to retrieve morphing function" << std::endl;
25972579 std::unique_ptr<RooArgSet> args{mf->getComponents ()};
2598- for (auto itr : *args) {
2599- RooProduct *prod = dynamic_cast <RooProduct *>(itr);
2580+ for (auto *prod : dynamic_range_cast<RooProduct *>(*args)) {
26002581 if (prod->getVal () != 0 ) {
26012582 nFormulas++;
26022583 }
@@ -2721,8 +2702,7 @@ const RooArgList *RooLagrangianMorphFunc::getCouplingSet() const
27212702RooLagrangianMorphFunc::ParamSet RooLagrangianMorphFunc::getCouplings () const
27222703{
27232704 RooLagrangianMorphFunc::ParamSet couplings;
2724- for (auto obj : *(this ->getCouplingSet ())) {
2725- RooAbsReal *var = dynamic_cast <RooAbsReal *>(obj);
2705+ for (auto *var : dynamic_range_cast<RooAbsReal *>(*(this ->getCouplingSet ()))) {
27262706 if (!var)
27272707 continue ;
27282708 const std::string name (var->GetName ());
@@ -2847,8 +2827,7 @@ double RooLagrangianMorphFunc::expectedUncertainty() const
28472827void RooLagrangianMorphFunc::printParameters () const
28482828{
28492829 // print the parameters and their current values
2850- for (auto obj : _operators) {
2851- RooRealVar *param = static_cast <RooRealVar *>(obj);
2830+ for (auto *param : static_range_cast<RooRealVar *>(_operators)) {
28522831 if (!param)
28532832 continue ;
28542833 param->Print ();
@@ -2860,8 +2839,7 @@ void RooLagrangianMorphFunc::printParameters() const
28602839
28612840void RooLagrangianMorphFunc::printFlags () const
28622841{
2863- for (auto flag : _flags) {
2864- RooRealVar *param = static_cast <RooRealVar *>(flag);
2842+ for (auto *param : static_range_cast<RooRealVar *>(_flags)) {
28652843 if (!param)
28662844 continue ;
28672845 param->Print ();
0 commit comments