<html><body><div style="color:#000; background-color:#fff; font-family:verdana, helvetica, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1432185386560_79009"><span>Hi Deepak,</span></div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><span id="yui_3_16_0_1_1432185386560_94931">Thanks for your reply and suggestion. It works that requires the event has leading muon pT>14 to make the 2 muons have different pT cuts (14 and 9 GeV). (the way [1])</span></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><span id="yui_3_16_0_1_1432185386560_94139">But later I find another way to do it. I require the 2 muon constituents of Z/gamma to have pT>14 and >9 respectively. (the way[2] )</span></div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009"><span id="yui_3_16_0_1_1432185386560_96123">However, once I count the entries in my histogram, </span></div><div id="yui_3_16_0_1_1432185386560_79009"><span id="yui_3_16_0_1_1432185386560_96922">I find way [1] gives me 102 events,</span></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><span id="yui_3_16_0_1_1432185386560_96921">and </span>way [2] gives me 111 events.</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">And if I print (use "cout") the leading muon size(the # of leading muon) in way[2]</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">(from the more entries we know [2] is the loose requirement),</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">sometime it shows it has "zero" leading muon but it still pass [2].</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">Like below</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">----------------------------------------------------------------------------<br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_101805">Begin processing the 711th record. Run 1, Event 711, LumiSection 1 at 21-May-2015 12:12:24.093 CEST</div><div class="" style="" id="yui_3_16_0_1_1432185386560_102236"># of leading muon:0</div><div class="" style="" id="yui_3_16_0_1_1432185386560_102235"># of Z boson:1</div><div class="" style="" id="yui_3_16_0_1_1432185386560_102230"># of muon from Z:2</div><div class="" style="" id="yui_3_16_0_1_1432185386560_102231">i:0 i-th muon pT:14.1995</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_102232">i:1 i-th muon pT:12.1323</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">----------------------------------------------------------------------------<br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">Do you know what happens and why [1] and [2] give 2 numbers?</div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">The generator used here is Pythia6 and produce DY to MuMu event. <br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">The essential code of my Rivet plugin( [1] and [2] ) is shown in below.</div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009"><span>Thanks.</span></div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009"><span>Yu-hsiang</span></div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009"><span id="yui_3_16_0_1_1432185386560_88166">[1] The first way: <b id="yui_3_16_0_1_1432185386560_102142">require the leading muon</b></span></div><div id="yui_3_16_0_1_1432185386560_79009" class="" style="">----------------------------------------------------------------------------</div><div dir="ltr" class="" style="" id="yui_3_16_0_1_1432185386560_87786"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_88549"> void init() {</div><div class="" style="" id="yui_3_16_0_1_1432185386560_87783"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_84937"> // Full final state</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84471"> const FinalState fs(-5.0, 5.0);</div><div class="" style="" id="yui_3_16_0_1_1432185386560_91203"> addProjection(fs, "FS");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84939"> </div><div class="" style="" id="yui_3_16_0_1_1432185386560_87782"> // Z finders for muons</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84940"> const ZFinder zfm(fs, -2.4, 2.4, 9*GeV, PID::MUON, 15*GeV, 1500*GeV); </div><div class="" style="" id="yui_3_16_0_1_1432185386560_84941"> addProjection(zfm, "ZFM");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_87781"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_84942"> // leading muon </div><div class="" style="" id="yui_3_16_0_1_1432185386560_84943"> LeadingParticlesFinalState muonfs(FinalState(-2.4, 2.4, 14.0*GeV));</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84944"> muonfs.addParticleId(PID::MUON);</div><div class="" style=""> addProjection(muonfs, "LeadingMuon");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84961"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_84960"> // Histograms</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84947"> _hist1MZ_of_MuMu = bookHisto1D(2, 1, 3);// preFSR detector acc</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84948"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_84957"> }</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84956"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_84955"> void makeCut(const Event& event) {</div><div class="" style=""><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_88556"> // Apply the Z finders and veto if no Z found</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84954"> const ZFinder& zfm = applyProjection<ZFinder>(event, "ZFM");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85397"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_84953"> //leading muon</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84952"> const FinalState& muonfs = applyProjection<FinalState>(event, "LeadingMuon");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85401"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_85400"> if (zfe.empty() ) vetoEvent;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85403"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_85834"> // di-muon</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85836"> if (!zfm.empty() && (muonfs.particles().size() >= 1) ){</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85835"> </div><div class="" style="" id="yui_3_16_0_1_1432185386560_85835"> const ParticleVector& z = zfm.bosons();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85837"> const ParticleVector& mu = zfm.constituents();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84476"> const Particle& leadingMu = muonfs.particles().front();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85841"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_85839"><span class="" style=""> </span>cout<< "# of leading muon:"<< muonfs.particles().size()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_85838">cout<< "leading muon pT:"<< leadingMu.pT()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86515">cout<< "# of Z boson:" << z.size()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86514"><span class="" style=""> </span>cout<< "# of muon from Z:" << mu.size()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86513"><span class="" style=""></span> for(unsigned int i=0;i<mu.size();i++)</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84933"><span class="" style=""></span><span class="" style=""></span> {cout<<"i:"<< i <<" i-th muon pT:"<<mu[i].pT()<<endl;}</div><div class="" style="" id="yui_3_16_0_1_1432185386560_84478"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_86943"> // Fill histos</div><div class="" style="" id="yui_3_16_0_1_1432185386560_87399"> const double weight = event.weight();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86944"> const double mass_z = z[0].mass();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86945"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_86948"> _hist1MZ_of_MuMu->fill(mass_z, weight);</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86951"> </div><div class="" style="" id="yui_3_16_0_1_1432185386560_86966"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_86965"><span class="" style=""> </span> }//di-muon</div><div class="" style="" id="yui_3_16_0_1_1432185386560_86964"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_86963"> }</div><div class="" style="" id="yui_3_16_0_1_1432185386560_87397"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_87396"> void analyze(const Event& event) {</div><div class="" style="" id="yui_3_16_0_1_1432185386560_87401"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_88167"> makeCut(event);</div><div id="yui_3_16_0_1_1432185386560_79009">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_84482"> }</div><div id="yui_3_16_0_1_1432185386560_79009" class="" style="">----------------------------------------------------------------------------</div><div dir="ltr" class="" style="" id="yui_3_16_0_1_1432185386560_88552"><br></div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr"><span id="yui_3_16_0_1_1432185386560_83581">[2] second way: <b>require the constituents of Z boson</b>.</span></div><div id="yui_3_16_0_1_1432185386560_79009">----------------------------------------------------------------------------</div><div id="yui_3_16_0_1_1432185386560_79009"><span><br></span></div><div class="" style="" id="yui_3_16_0_1_1432185386560_79420"> void init() {</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79133"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_79131"> // Full final state</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80097"> const FinalState fs(-5.0, 5.0);</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79407"> addProjection(fs, "FS");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80096"> </div><div class="" style="" id="yui_3_16_0_1_1432185386560_80095"> // Z finders for muons</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80119"> const ZFinder zfm(fs, -2.4, 2.4, 0*GeV, PID::MUON, 15*GeV, 1500*GeV); </div><div class="" style="" id="yui_3_16_0_1_1432185386560_80450"> addProjection(zfm, "ZFM");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80451"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_89825"> // leading muon </div><div class="" style="" id="yui_3_16_0_1_1432185386560_89826"> LeadingParticlesFinalState muonfs(FinalState(-2.4, 2.4, 14.0*GeV));</div><div class="" style="" id="yui_3_16_0_1_1432185386560_89827"> muonfs.addParticleId(PID::MUON);</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80451">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_89828"> addProjection(muonfs, "LeadingMuon");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80451"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_80101"> // Histograms</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80098"> _hist1MZ_of_MuMu = bookHisto1D(2, 1, 3);</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80112"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_80107"> }</div><div class="" style="" id="yui_3_16_0_1_1432185386560_80106"><br class="" style=""></div><div class="" style=""> void makeCut(const Event& event) {</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79408"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_79409"> // Apply the Z finders and veto if no Z found</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79410"> const ZFinder& zfm = applyProjection<ZFinder>(event, "ZFM");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79410"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_89839"> //leading muon</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79410">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_89840"> const FinalState& muonfs = applyProjection<FinalState>(event, "LeadingMuon");</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79410"> </div><div class="" style="" id="yui_3_16_0_1_1432185386560_81105"> if (zfe.empty() ) vetoEvent;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81421"> </div><div class="" style="" id="yui_3_16_0_1_1432185386560_81421"> // di-muon</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81422"> if (!zfm.empty() ){</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81423"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_81424"> const ParticleVector& z = zfm.bosons();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81426"> const ParticleVector& mu = zfm.constituents();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81425"><span class="" style=""> </span> if( (mu[0].pT()>14 && mu[1].pT()>9) || (mu[1].pT()>14 && mu[0].pT()>9) ){</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81427"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_90394"> const Particle& leadingMu = muonfs.particles().front();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_90395"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_90396"><span class="" style=""></span> cout<< "# of leading muon:"<< muonfs.particles().size()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_90397"><span class="" style=""></span> if (muonfs.particles().size()>0){ cout<< "leading muon pT:"<< leadingMu.pT()<<endl;}</div><div class="" style="" id="yui_3_16_0_1_1432185386560_90398"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_90399"> cout<< "# of Z boson:" << z.size()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_90400"><span class="" style=""></span> cout<< "# of muon from Z:" << mu.size()<<endl;</div><div class="" style="" id="yui_3_16_0_1_1432185386560_90401"><span class="" style=""></span> for(unsigned int i=0;i<mu.size();i++)</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81427">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_90402"><span class="" style=""></span><span class="" style=""></span> {cout<<"i:"<< i <<" i-th muon pT:"<<mu[i].pT()<<endl;}</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81427"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_81429"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_81746"> // Fill histos</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81745"> const double weight = event.weight();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_81744"> const double mass_z = z[0].mass();</div><div class="" style="" id="yui_3_16_0_1_1432185386560_79121"><br></div><div id="yui_3_16_0_1_1432185386560_79009">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_82668"> _hist1MZ_of_MuMu->fill(mass_z, weight);</div><div id="yui_3_16_0_1_1432185386560_79009"> }</div><div id="yui_3_16_0_1_1432185386560_79009"> }// di-muon</div><div id="yui_3_16_0_1_1432185386560_79009">}</div><div id="yui_3_16_0_1_1432185386560_79009"><br></div><div class="" style="" id="yui_3_16_0_1_1432185386560_82358"> void analyze(const Event& event) {</div><div class="" style="" id="yui_3_16_0_1_1432185386560_82359"><br class="" style=""></div><div class="" style="" id="yui_3_16_0_1_1432185386560_82360"> makeCut(event);</div><div id="yui_3_16_0_1_1432185386560_79009">
</div><div class="" dir="ltr" style="" id="yui_3_16_0_1_1432185386560_82361"> }</div><div id="yui_3_16_0_1_1432185386560_79009"><br></div><div id="yui_3_16_0_1_1432185386560_79009" dir="ltr">----------------------------------------------------------------------------</div> <br><div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: verdana, helvetica, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"> <font size="2" face="Arial"> Deepak Kar <deepak.kar@cern.ch> 於 2015/5/20 (週三) 4:23 PM 寫道﹕<br> </font> </div> <br><br> <div class="y_msg_container">Hi Yu-hsiang,<br clear="none"><br clear="none">Please see inline.<br clear="none"><br clear="none"><br clear="none">> (1) In my Rivet plugin, I use<br clear="none">><br clear="none">> const FinalState fs(-5.0, 5.0);<br clear="none">><br clear="none">> to define a final state, whose rapidity is within -5.0 to 5.0.<br clear="none">> Has the fs undergone the final state radiation(FSR)?<br clear="none">><br clear="none"><br clear="none">Yes, they are final state stable particles after all radiation.<br clear="none"><br clear="none">> (2) In my Rivet plugin, I use<br clear="none">><br clear="none">> const ZFinder zfm(fs, -2.4, 2.4, 9*GeV, PID::MUON, 15*GeV, 1500*GeV);<br clear="none">><br clear="none">> to obtain the Z bosob or the virtual photon from 2 final states fs,<br clear="none">> whose particle ID are Muon,<br clear="none">> rapidities are in [-2.4,2.4],<br clear="none">> transverse momentum(pT) are larger than 9 GeV,<br clear="none">> invariant mass are in [15,1500] GeV.<br clear="none">><br clear="none">> If I want to choose my Z boson from 2 muon,<br clear="none">> but this time the 2 muons are required to different pT thresholds,<br clear="none">> the first Muon is required to have pT> 14 GeV,<br clear="none">> and the second Muon is required to have pT> 9 GeV,<br clear="none">> then how can I achieve it?<br clear="none"><br clear="none">><br clear="none">> Or is there other way to do that instead of using ZFinder?<br clear="none"><br clear="none"><br clear="none">I can think of a "dirty" way - select the Z with two muons having 9<br clear="none">GeV, then veto the event<br clear="none">if the leading muon do not have 14 GeV subsequently.<br clear="none"><br clear="none">Best,<br clear="none">Deepak<div class="yqt9486348094" id="yqtfd49227"><br clear="none"><br clear="none">><br clear="none">> Thanks.<br clear="none">><br clear="none">> Yu-hsiang</div><br clear="none">><br clear="none">> _______________________________________________<br clear="none">> Rivet mailing list<br clear="none">> <a shape="rect" ymailto="mailto:Rivet@projects.hepforge.org" href="mailto:Rivet@projects.hepforge.org">Rivet@projects.hepforge.org</a><br clear="none">> <a shape="rect" href="https://www.hepforge.org/lists/listinfo/rivet" target="_blank">https://www.hepforge.org/lists/listinfo/rivet</a><br clear="none"><br clear="none">-- <br clear="none">Deepak Kar<br clear="none">University of Witwatersrand<br clear="none">Room PM15, School of Physics<br clear="none">(0027) 011-7176958 (office) (0027) 079-8401087 (mobile)<br clear="none"><br clear="none">While at CERN:<br clear="none">Building 1, R-016<br clear="none">(0041) 0767321349 (mobile)<br clear="none"><br clear="none">While at USA:<br clear="none">(001) 330-998-1500 (mobile)<div class="yqt9486348094" id="yqtfd38118"><br clear="none"></div><br><br></div> </div> </div> </div></div></body></html>