<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>