|
[Rivet] New analysis: ATLAS_2012_I1094061Ben Waugh b.waugh at ucl.ac.ukFri Mar 22 10:38:17 GMT 2013
Hi Andy, FWIW, from someone who has spent more time recently dealing with Rivet-based undergraduate project than working with it myself, something like this would be a Good Thing. Weaning experimentalists off "measuring" parton-level cross sections is definitely necessary, but B-hadrons and taus are definitely much nearer the "real" end of the spectrum, and there should really be a recommended way of dealing with them. Providing a recipe would be one approach, but some built-in and well tested functionality would be even better. Cheers, Ben On 22/03/13 10:19, Andy Buckley wrote: > Any more feedback/thoughts on this? On reflection I think a > Particle::fromDecay() method is a physically safe thing to do by the > HepMC status standard -- whether it's *appropriate* depends on the > circumstances, but we can say the same about pretty much any > functionality in Rivet. > > And if people are going to do this anyway (or moan about not being able > to) then I'd prefer that we provide a pre-existing function that we have > control over, rather than receive 10 differently broken variants on > HepMC ancestor looping in submitted analyses :) > > Here is an "external" (i.e. not a Particle method) version that I cooked > up earlier this week, for playing with HepMC truth filtering: > > /// @brief Determine whether the particle is from a hadron or tau decay > /// > /// Specifically, walk up the ancestor chain until a status 2 hadron or > /// tau is found, if at all. > /// > /// @note This question is valid in MC, but may not be answerable > /// experimentally -- use this function with care when replicating > /// experimental analyses! > inline bool fromDecay(const GenParticle* p) { > /// @todo *sigh* HepMC constness mess forces this cast... > HepMC::GenVertex* gv = \ > const_cast<HepMC::GenVertex*>(p->production_vertex()); > if (gv == NULL) return false; > /// @todo HepMC needs const versions of these iterator methods :-/ > for (HepMC::GenVertex::particle_iterator pi = \ > gv->particles_begin(HepMC::ancestors); \ > pi != gv->particles_end(HepMC::ancestors); ++pi) { > const GenParticle* p2 = *pi; > if (p2->status() == 2 && (HepPID::isHadron(p2->pdg_id()) || \ > abs(p2->pdg_id()) == 15)) return true; > } > return false; > } > > (This can be cleaned up substantially when some HepMC bugs are ironed > out... hopefully soon, in fact.) > > So, can I add a variant of this to the 1.8.3 branch and push out a beta > for testing in mcplots? Or are there still concerns? > > Thanks, > Andy > > > On 15/03/13 14:37, Andy Buckley wrote: >> Hi David, >> >> There's not been any "intentional" trend to soften our analysis >> requirements: what did you have in mind? >> >> I think this opens some interesting considerations, though... and I >> apologise for a slightly long email that results. As I see it we have 3 >> or 4 classes of analysis possible in Rivet: >> >> a) analysis based on status 1 only, typically flavour-blind >> >> b) analysis based on status 1 and status 2 to short-circuit >> long/impossible work on exactly reconstructing decayed hadrons as in the >> experiment >> >> c) analysis based on status 1 and status 2, but also using the status 2 >> to ask some questions that can't (at least not at all easily) be >> answered experimentally >> >> d) analyses using status 3, 11, whatever. We don't accept these. Let's >> not talk about them ever again ;-) >> >> The (a) analyses are totally uncontroversial and good. The (b) analyses >> are fine provided the experimental data have been corrected for the >> efficiencies and purities introduced in the K/B/Upsilon/etc. reco... but >> I think we really need to provide a high-level interface for examining >> decay chains, to avoid the sort of recursive GenEvent spaghetti that I >> just had to wade through in Peter's BaBar/Belle/ARGUS analyses! >> >> This proposed extra function on Particle is potentially a high-level >> enabler for the (c) analyses: in general there is no experimental way to >> tell if a muon isn't "prompt" if it comes from an undisplaced hadron >> decay. But for b-hadron semi-leptonic decays I think we can argue that >> there could be an experimental handle on this via displaced vertices... >> and hence I think it deserves promotion to the Rivet API*. The >> alternative, as I see it, is either analyses that are wrong, or which >> are full of more HepMC-accessing spaghetti. >> >> So maybe I *am* arguing that some softening is pragmatically necessary: >> we are still streets ahead of the experiments in the level of >> physicality that we enforce, and I think that approach *is* having an >> impact as more experimentalists come into contact with Rivet. But if we >> don't help them to do things like this which *can* be appropriate, we'll >> just annoy them and lose users/influence. I'd certainly rather that >> people test for promptness this way rather than the more usual "look for >> status = 3 if Pythia6, status 62 if Pythia8, etc. etc." rules that get >> passed around (at least in ATLAS and I assume in other experiments too). >> In my ideal world the students who see a safe and portable way to do it >> in Rivet will start asking why the experiment is still doing something >> dodgy... and I think this grassroots way will have more impact than me >> playing my same old "don't unfold to partons" broken record ;-) >> >> Andy >> >> [*] I'm also going to advocate some version of Particle::prodPos() to >> allow an easy version of this displacement testing. I think >> Particle::decayPos() needs to wait until a more full-featured decay >> chain helper is in place, since there are too many ways to shoot >> yourself with the current handling of unstable particles in Rivet. >> >> >> On 14/03/13 22:09, David Grellscheid wrote: >>> Hi Andy, >>> >>> without having time to think about this particular issue, I'm a bit wary >>> of the recent trend of softening the 'hepmc-code-1-only' feature Rivet >>> has. More and more of these requests are coming in, and I think we >>> should try to define quite clearly what is OK and what isn't. >>> >>> David >>> >>> >>> >>> >>> On 14/03/2013 17:39, Andy Buckley wrote: >>>> < ~ topic change/> >>>> >>>> Once this is in, my only blocker for the 1.8.3 mcplots-testing to start >>>> (and the release asap after) is that I'd like to add a bool >>>> Particle::fromDecay() method, to return true if a status 2 hadron or tau >>>> is found in the particle's ancestor list. This is a limited version of >>>> the isPrompt() method that I'd like to have in general to distinguish >>>> particles (particularly leptons and photons) resulting from hadron >>>> decays and QED FSR from those from the primary interaction*. Will Bell >>>> asked me for some way to exclude muons from semi-leptonic b decays when >>>> looking for leptonic W decay products, and I've had in mind for a while >>>> that this is a safe and sensible way to do it. >>>> >>>> Ok with everyone? I'll put it in both the AIDA branch and the YODA >>>> trunk... 2.0.0b1 coming as soon as I've done a few YODA tweaks and >>>> checked/ensured that the installation isn't a nightmare on lxplus. >>>> >>>> Andy >>>> >>>> [*] I don't want to say "hard process" because I don't know how or if >>>> MPI-associated particles can/should be distinguished: probably not. >>>> >>>> >>>> On 14/03/13 17:39, Andy Buckley wrote: >>>>> Thanks! Can you add it by yourself, James? And do you want to check the >>>>> stylistic correctness of your own code? ;-) >>>>> >>>>> For others here, and a degree of archiving, it'd be handy if you could >>>>> post a URL to your validation plots. >>>>> >>>>> Cheers, >>>>> Andy >>>>> >>>>> >>>>> On 14/03/13 16:01, James Monk wrote: >>>>>> Hi Riveteers, >>>>>> >>>>>> With my ATLAS hat on now, we'd like to add a new analysis for the >>>>>> ATLAS two-particle correlation, ATLAS_2012_I1094061. I can submit >>>>>> the code directly to the Rivet aida svn branch, or send a tarball if >>>>>> you'd prefer to inspect it first. >>>>>> >>>>>> cheers, >>>>>> >>>>>> James >>>>>> >>>>>> _______________________________________________ >>>>>> Rivet mailing list >>>>>> Rivet at projects.hepforge.org >>>>>> http://www.hepforge.org/lists/listinfo/rivet >>>>>> >>>>> >>>>> >>>> >>>> >>> >> >> > > -- Dr Ben Waugh Tel. +44 (0)20 7679 7223 Dept of Physics and Astronomy Internal: 37223 University College London London WC1E 6BT
More information about the Rivet mailing list |