You can subscribe to this list here.
2006 
_{Jan}

_{Feb}

_{Mar}
(1) 
_{Apr}
(4) 
_{May}
(1) 
_{Jun}
(1) 
_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}
(1) 

2007 
_{Jan}

_{Feb}

_{Mar}
(2) 
_{Apr}
(10) 
_{May}
(1) 
_{Jun}
(13) 
_{Jul}
(69) 
_{Aug}
(40) 
_{Sep}
(45) 
_{Oct}
(21) 
_{Nov}
(15) 
_{Dec}
(2) 
2008 
_{Jan}
(44) 
_{Feb}
(21) 
_{Mar}
(28) 
_{Apr}
(33) 
_{May}
(35) 
_{Jun}
(16) 
_{Jul}
(12) 
_{Aug}
(29) 
_{Sep}
(12) 
_{Oct}
(24) 
_{Nov}
(36) 
_{Dec}
(22) 
2009 
_{Jan}
(25) 
_{Feb}
(19) 
_{Mar}
(47) 
_{Apr}
(23) 
_{May}
(39) 
_{Jun}
(14) 
_{Jul}
(33) 
_{Aug}
(12) 
_{Sep}
(31) 
_{Oct}
(31) 
_{Nov}
(19) 
_{Dec}
(13) 
2010 
_{Jan}
(7) 
_{Feb}
(27) 
_{Mar}
(26) 
_{Apr}
(17) 
_{May}
(10) 
_{Jun}
(11) 
_{Jul}
(17) 
_{Aug}
(20) 
_{Sep}
(31) 
_{Oct}
(13) 
_{Nov}
(19) 
_{Dec}
(6) 
2011 
_{Jan}
(13) 
_{Feb}
(17) 
_{Mar}
(36) 
_{Apr}
(19) 
_{May}
(4) 
_{Jun}
(14) 
_{Jul}
(24) 
_{Aug}
(22) 
_{Sep}
(47) 
_{Oct}
(35) 
_{Nov}
(24) 
_{Dec}
(18) 
2012 
_{Jan}
(28) 
_{Feb}
(19) 
_{Mar}
(23) 
_{Apr}
(36) 
_{May}
(27) 
_{Jun}
(39) 
_{Jul}
(29) 
_{Aug}
(23) 
_{Sep}
(17) 
_{Oct}
(36) 
_{Nov}
(60) 
_{Dec}
(28) 
2013 
_{Jan}
(34) 
_{Feb}
(23) 
_{Mar}
(44) 
_{Apr}
(39) 
_{May}
(89) 
_{Jun}
(55) 
_{Jul}
(31) 
_{Aug}
(47) 
_{Sep}
(6) 
_{Oct}
(21) 
_{Nov}
(21) 
_{Dec}
(10) 
2014 
_{Jan}
(19) 
_{Feb}
(32) 
_{Mar}
(11) 
_{Apr}
(33) 
_{May}
(22) 
_{Jun}
(7) 
_{Jul}
(16) 
_{Aug}
(4) 
_{Sep}
(20) 
_{Oct}
(17) 
_{Nov}
(12) 
_{Dec}
(6) 
2015 
_{Jan}
(9) 
_{Feb}
(7) 
_{Mar}
(16) 
_{Apr}
(5) 
_{May}
(13) 
_{Jun}
(27) 
_{Jul}
(25) 
_{Aug}
(11) 
_{Sep}
(10) 
_{Oct}
(7) 
_{Nov}
(47) 
_{Dec}
(2) 
2016 
_{Jan}
(9) 
_{Feb}
(2) 
_{Mar}
(4) 
_{Apr}
(18) 
_{May}
(2) 
_{Jun}
(8) 
_{Jul}

_{Aug}
(27) 
_{Sep}
(47) 
_{Oct}
(28) 
_{Nov}
(3) 
_{Dec}
(9) 
2017 
_{Jan}
(11) 
_{Feb}
(23) 
_{Mar}
(7) 
_{Apr}
(7) 
_{May}
(20) 
_{Jun}

_{Jul}
(6) 
_{Aug}
(1) 
_{Sep}

_{Oct}
(3) 
_{Nov}
(11) 
_{Dec}

S  M  T  W  T  F  S 




1
(4) 
2
(1) 
3

4

5

6
(1) 
7

8
(11) 
9

10
(4) 
11

12

13

14
(3) 
15

16

17

18

19

20

21

22

23

24

25
(1) 
26

27
(1) 
28
(4) 
29
(2) 
30
(1) 
31


From: Tim Head <betatim@gm...>  20090708 21:26:10

2009/7/8 Andreas Hoecker <andreas.hoecker@...>: >> jetbnn[0] + jetbnn[1] + >> (njet>2)*jetbnn[2] > > I think what happens in the TMVA DataSetFactory (I am not sure  Joerg wrote > that code) is that one finds the array dependence in the formula, which is > [0] through [2]. If [2] doesn't exist, the event is skipped before actually > evaluating the formula. Again, I am not absolutely sure what I write is > right  Joerg may correct, but he's away this week. Maybe it can be > improved. > I am not sure whether this is still a sensible request, especially with your new plan for treating Categories. Maybe you could introduce a flag/option so that it will evaluate the formula no matter what, for cases like this where something sensible will happen even if there is no third jet. It is very difficult to figure out as a program so I guess the user should have to tell it to ignore the sanity checks. Well maybe ROOT could be updated to raise an exception when evaluating the formula goes wrong ... Tim > Cheers, > Andreas >  http://tim.jottit.com/ 
From: Andreas Hoecker <andreas.hoecker@ce...>  20090708 17:23:33

> jetbnn[0] + jetbnn[1] + > (njet>2)*jetbnn[2] I think what happens in the TMVA DataSetFactory (I am not sure  Joerg wrote that code) is that one finds the array dependence in the formula, which is [0] through [2]. If [2] doesn't exist, the event is skipped before actually evaluating the formula. Again, I am not absolutely sure what I write is right  Joerg may correct, but he's away this week. Maybe it can be improved. Cheers, Andreas 
From: Dag Gillberg <dgillber@ce...>  20090708 17:20:03

Hi Alfio, Alfio wrote: > Dear TMVA and BDT gurus > > I am using the BDTs classifier for my analysis where my signal is the > neutralino. > I have different neutralino models which differ in the energy spectrum. > Now, I want to select the best variables to feed the BDTs, > and I was investigating if I could use the same variables for all the > different models. > I started from 88 and remove the ones that are at the bottom of the rank. > I did this as for 56,46,36,26,18 variables looking at the signal > efficiency that I can get removing some variables. > Doing this I see that 46 variables are a good compromise, but there is > some other way to check if these remaining 46 variables are > the good ones? E.g. looking at the correlation plot and the linear > coefficient? > Yes, it should be possible to find correlated variables this way. If you for instance find three correlated variables this way, you could remove all but the highest ranked one if you wish to make your variable list shorter. This should not hurt the performance of the DT very much. > For systematics investigation, if I change something in my simulation, > will it reflect in a BDT over training and how? > What do you mean by "BDT over training"? There are several "definitions" of this term, and IMO it's better just to avoid it. It's desirable to have a set of BDTs that are as insensitive to systematics as possible. To evaluate the effect of a systematic, you can create a new, shifted sample, and apply your BDTs to it and study the change of the BDT output distributions. If you have grown your DTs too large, or used variables sensitive to the shifted parameter, then this systematic shift will be large, which will degrade your overall performance. Cheers, Dag > Thanks in advance > > Cheers > > A > >  =================================================== Dag Gillberg Research Associate Carleton University tel: +16135202600 Ext. 1758 email: dgillber@... web: http://www.physics.carleton.ca/~dgillber =================================================== 
From: Tim Head <betatim@gm...>  20090708 17:13:48

Hello Andreas, 2009/7/8 Andreas Hoecker <andreas.hoecker@...>: > >> factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], >> (njet>2)*jetbnn[2])") > > Note that we did not reimplement in TMVA the full power of the TTree::Draw > command. We use TFormula expressions, so everything that works for a formula > also works in TMVA and otherwise. I don't think the above expression would > work in a formula. So, you need to do it yourself (as you described). I admitted it, I did not try exactly this expression in a Draw() command. What I did try was: jetbnn[0] + jetbnn[1] + (njet>2)*jetbnn[2] which I have used a few times before in root and haven't spotted problems with yet (either because it works or because it 'looked reasonable') > > We are preparing a new "Category" classifier which, in a straightforward > manner, will distinguish categories of events, eg, such with 1 or >=2 jets > in your case, and train them separately in a way transparent to the user. > This will take another ~1 months to finish. > Sounds good. The question of what The Right Thing to do with expressions which depend on arrays which might not always be filled to the same index seems to be tricky, not just on the technical side. Thanks, Tim > Cheers, > Andreas > > On 8 Jul 2009, at 05:48 8 Jul 2009, Tim Head wrote: > >> Dear TMVA'ers, >> >> does the following come as a surprise to anyone but me? >> >> If I have a tree with branches: njet, jetpt[njet], ... and use the >> following two variables: >> >> factory.AddVariable("jetpt[0]") >> factory.AddVariable("jetpt[1]") >> >> then all events with njet < 2 will automagically be cut away. >> >> It took me a while to figure out that this is where all my events had >> gone. Is there somewhere I could have read about this? (I haven't yet >> searched the docs thoroughly for it) >> >> This is actually a pretty cool trick, me thinks, where in the code do >> I have to look to learn it? >> >> While it is a sensible thing to do and in 95% of all cases it is what >> the user intended to do, I wonder if there is a way to turn this off >> for cases like: >> >> factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], >> (njet>2)*jetbnn[2])") >> >> in which I want to have such a twisted variable and not loose all >> events with less than three jets. Or should I just do the sensible >> thing and compute maxnn when building the tree (or put it in a tree >> which is a friend of the one used here)? >> >> Thanks, >> Tim >> >>  >> http://tim.jottit.com/ >> >> >>  >> Enter the BlackBerry Developer Challenge >> This is your chance to win up to $100,000 in prizes! For a limited time, >> vendors submitting new applications to BlackBerry App World(TM) will have >> the opportunity to enter the BlackBerry Developer Challenge. See full >> prize >> details at: http://p.sf.net/sfu/Challenge >> _______________________________________________ >> TMVAusers mailing list >> TMVAusers@... >> https://lists.sourceforge.net/lists/listinfo/tmvausers > >  http://tim.jottit.com/ 
From: Andreas Hoecker <andreas.hoecker@ce...>  20090708 17:04:31

Hi Tim, This is an interesting observation, thanks for reporting it. We need to make sure that a warning message is written when events are removed because arrays cannot be evaluated. Of course they have to be removed, because the variable cannot be evaluated. > factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], > (njet>2)*jetbnn[2])") Note that we did not reimplement in TMVA the full power of the TTree::Draw command. We use TFormula expressions, so everything that works for a formula also works in TMVA and otherwise. I don't think the above expression would work in a formula. So, you need to do it yourself (as you described). We are preparing a new "Category" classifier which, in a straightforward manner, will distinguish categories of events, eg, such with 1 or >=2 jets in your case, and train them separately in a way transparent to the user. This will take another ~1 months to finish. Cheers, Andreas On 8 Jul 2009, at 05:48 8 Jul 2009, Tim Head wrote: > Dear TMVA'ers, > > does the following come as a surprise to anyone but me? > > If I have a tree with branches: njet, jetpt[njet], ... and use the > following two variables: > > factory.AddVariable("jetpt[0]") > factory.AddVariable("jetpt[1]") > > then all events with njet < 2 will automagically be cut away. > > It took me a while to figure out that this is where all my events had > gone. Is there somewhere I could have read about this? (I haven't yet > searched the docs thoroughly for it) > > This is actually a pretty cool trick, me thinks, where in the code do > I have to look to learn it? > > While it is a sensible thing to do and in 95% of all cases it is what > the user intended to do, I wonder if there is a way to turn this off > for cases like: > > factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], > (njet>2)*jetbnn[2])") > > in which I want to have such a twisted variable and not loose all > events with less than three jets. Or should I just do the sensible > thing and compute maxnn when building the tree (or put it in a tree > which is a friend of the one used here)? > > Thanks, > Tim > >  > http://tim.jottit.com/ > >  > Enter the BlackBerry Developer Challenge > This is your chance to win up to $100,000 in prizes! For a limited > time, > vendors submitting new applications to BlackBerry App World(TM) will > have > the opportunity to enter the BlackBerry Developer Challenge. See > full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > TMVAusers mailing list > TMVAusers@... > https://lists.sourceforge.net/lists/listinfo/tmvausers 
From: Tim Head <betatim@gm...>  20090708 14:36:30

Hello Peter, 2009/7/8 Peter Speckmayer <peter.speckmayer@...>: > > To my knowledge, we never faced that issue up to now. But we will look into it, since > it might be useful to at least print out a warning message to the user, that not all > of the events have been taken due to some variable not being available. > That would be useful. Did you manage to reproduce it or might it still be something funny on my side? >> >> This is actually a pretty cool trick, me thinks, where in the code do >> I have to look to learn it? >> <snip> > there are quite a number of useful commands which can be used for the > TTree::Drawcommand (we use the same mechanism to decipher the userinput). > see: > http://root.cern.ch/root/html/TTree.html#TTree:Draw > I didn't think/knew that TTree::Draw() ditched events where the variable is not available that's why I was asking how you did it in TMVA, assuming it must be something TMVA does on top of TTree::Draw(). Thanks, Tim > for example: > > Alt$(primary,alternate) : return the value of "primary" if it is available > for the current iteration otherwise return the value of "alternate". > For example, with arr1[3] and arr2[2] > Entry$ : return the current entry number (== TTree::GetReadEntry()) > LocalEntry$ : return the current entry number in the current tree of a > chain (== GetTree()>GetReadEntry()) > Entries$ : return the total number of entries (== TTree::GetEntries()) > Length$ : return the total number of element of this formula for this > entry (==TTreeFormula::GetNdata()) > Iteration$: return the current iteration over this formula for this > entry (i.e. varies from 0 to Length$). > > Length$(formula): return the total number of element of the formula given as a > parameter. > Sum$(formula): return the sum of the value of the elements of the formula given > as a parameter. For eaxmple the mean for all the elements in > one entry can be calculated with: > Sum$(formula)/Length$(formula) > > > I have not tested so far in the context of TMVA, but I suppose it should be possible > to do something like that: > > "Alt$(jetbnn[1],0)" to get 0 when entry 1 is not available > > > please try that solution and let me know how this works out. > I'll try out your case on TMVA and maybe introduce a warning message to help the user. > >  Peter > > >> >> factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], (njet>2)*jetbnn[2])") >> >> in which I want to have such a twisted variable and not loose all >> events with less than three jets. Or should I just do the sensible >> thing and compute maxnn when building the tree (or put it in a tree >> which is a friend of the one used here)? >> >> Thanks, >> Tim >> >  http://tim.jottit.com/ 
From: Peter Speckmayer <peter.speckmayer@ce...>  20090708 14:27:33

Hi Tim, Tim Head schrieb: > Hello Peter, > > 2009/7/8 Peter Speckmayer <peter.speckmayer@...>: >> To my knowledge, we never faced that issue up to now. But we will look into it, since >> it might be useful to at least print out a warning message to the user, that not all >> of the events have been taken due to some variable not being available. >> > > That would be useful. Did you manage to reproduce it or might it still > be something funny on my side? I managed to reproduce. > >>> This is actually a pretty cool trick, me thinks, where in the code do >>> I have to look to learn it? >>> > <snip> >> there are quite a number of useful commands which can be used for the >> TTree::Drawcommand (we use the same mechanism to decipher the userinput). >> see: >> http://root.cern.ch/root/html/TTree.html#TTree:Draw >> > > I didn't think/knew that TTree::Draw() ditched events where the > variable is not available that's why I was asking how you did it in > TMVA, assuming it must be something TMVA does on top of TTree::Draw(). We kind of copy the TTree::Draw behaviour. And indeed the events are not taken into account by TTree::Draw either, if the array entry is not available. You can test it by directly drawing your variable "jetpt[0]" and then "jetpt[1]" and looking at the statistics. You will find a difference there in the number of entries.  Peter > > Thanks, > Tim > > >> for example: >> >> Alt$(primary,alternate) : return the value of "primary" if it is available >> for the current iteration otherwise return the value of "alternate". >> For example, with arr1[3] and arr2[2] >> Entry$ : return the current entry number (== TTree::GetReadEntry()) >> LocalEntry$ : return the current entry number in the current tree of a >> chain (== GetTree()>GetReadEntry()) >> Entries$ : return the total number of entries (== TTree::GetEntries()) >> Length$ : return the total number of element of this formula for this >> entry (==TTreeFormula::GetNdata()) >> Iteration$: return the current iteration over this formula for this >> entry (i.e. varies from 0 to Length$). >> >> Length$(formula): return the total number of element of the formula given as a >> parameter. >> Sum$(formula): return the sum of the value of the elements of the formula given >> as a parameter. For eaxmple the mean for all the elements in >> one entry can be calculated with: >> Sum$(formula)/Length$(formula) >> >> >> I have not tested so far in the context of TMVA, but I suppose it should be possible >> to do something like that: >> >> "Alt$(jetbnn[1],0)" to get 0 when entry 1 is not available >> >> >> please try that solution and let me know how this works out. >> I'll try out your case on TMVA and maybe introduce a warning message to help the user. >> >>  Peter >> >> >>> factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], (njet>2)*jetbnn[2])") >>> >>> in which I want to have such a twisted variable and not loose all >>> events with less than three jets. Or should I just do the sensible >>> thing and compute maxnn when building the tree (or put it in a tree >>> which is a friend of the one used here)? >>> >>> Thanks, >>> Tim >>> > > > 
From: Alfio <alfio.rizzo@vu...>  20090708 11:00:50

Dear TMVA and BDT gurus I am using the BDTs classifier for my analysis where my signal is the neutralino. I have different neutralino models which differ in the energy spectrum. Now, I want to select the best variables to feed the BDTs, and I was investigating if I could use the same variables for all the different models. I started from 88 and remove the ones that are at the bottom of the rank. I did this as for 56,46,36,26,18 variables looking at the signal efficiency that I can get removing some variables. Doing this I see that 46 variables are a good compromise, but there is some other way to check if these remaining 46 variables are the good ones? E.g. looking at the correlation plot and the linear coefficient? For systematics investigation, if I change something in my simulation, will it reflect in a BDT over training and how? Thanks in advance Cheers A   Alfio RIZZO Vrije Universiteit Brussel Faculteit Wetenschappen, Dienst ELEM Gebouw G, Bureau 0G111 Pleinlaan, 2 B1050 Brussels BELGIUM Tel. +32(0)26293220 Fax +32(0)26293816 alfio.rizzo@... w3.iihe.ac.be/~rizzo  
From: Peter Speckmayer <peter.speckmayer@ce...>  20090708 10:03:49

Hi Tim, I checked if TMVA works with the Alt$ command, but it doesn't seem to work so far. I recommend therefore to create a tree where all arrays are of length 2 and the value of jetpt[1] is 0 in the cases where only one jet is present. cheers, Peter Tim Head schrieb: > Dear TMVA'ers, > > does the following come as a surprise to anyone but me? > > If I have a tree with branches: njet, jetpt[njet], ... and use the > following two variables: > > factory.AddVariable("jetpt[0]") > factory.AddVariable("jetpt[1]") > > then all events with njet < 2 will automagically be cut away. > > It took me a while to figure out that this is where all my events had > gone. Is there somewhere I could have read about this? (I haven't yet > searched the docs thoroughly for it) > > This is actually a pretty cool trick, me thinks, where in the code do > I have to look to learn it? > > While it is a sensible thing to do and in 95% of all cases it is what > the user intended to do, I wonder if there is a way to turn this off > for cases like: > > factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], (njet>2)*jetbnn[2])") > > in which I want to have such a twisted variable and not loose all > events with less than three jets. Or should I just do the sensible > thing and compute maxnn when building the tree (or put it in a tree > which is a friend of the one used here)? > > Thanks, > Tim > 
From: Peter Speckmayer <peter.speckmayer@ce...>  20090708 07:39:39

Hi Tim, Tim Head schrieb: > Dear TMVA'ers, > > does the following come as a surprise to anyone but me? > > If I have a tree with branches: njet, jetpt[njet], ... and use the > following two variables: > > factory.AddVariable("jetpt[0]") > factory.AddVariable("jetpt[1]") > > then all events with njet < 2 will automagically be cut away. To my knowledge, we never faced that issue up to now. But we will look into it, since it might be useful to at least print out a warning message to the user, that not all of the events have been taken due to some variable not being available. > > It took me a while to figure out that this is where all my events had > gone. Is there somewhere I could have read about this? (I haven't yet > searched the docs thoroughly for it) > > This is actually a pretty cool trick, me thinks, where in the code do > I have to look to learn it? > > While it is a sensible thing to do and in 95% of all cases it is what > the user intended to do, I wonder if there is a way to turn this off > for cases like: there are quite a number of useful commands which can be used for the TTree::Drawcommand (we use the same mechanism to decipher the userinput). see: http://root.cern.ch/root/html/TTree.html#TTree:Draw for example: Alt$(primary,alternate) : return the value of "primary" if it is available for the current iteration otherwise return the value of "alternate". For example, with arr1[3] and arr2[2] Entry$ : return the current entry number (== TTree::GetReadEntry()) LocalEntry$ : return the current entry number in the current tree of a chain (== GetTree()>GetReadEntry()) Entries$ : return the total number of entries (== TTree::GetEntries()) Length$ : return the total number of element of this formula for this entry (==TTreeFormula::GetNdata()) Iteration$: return the current iteration over this formula for this entry (i.e. varies from 0 to Length$). Length$(formula): return the total number of element of the formula given as a parameter. Sum$(formula): return the sum of the value of the elements of the formula given as a parameter. For eaxmple the mean for all the elements in one entry can be calculated with: Sum$(formula)/Length$(formula) I have not tested so far in the context of TMVA, but I suppose it should be possible to do something like that: "Alt$(jetbnn[1],0)" to get 0 when entry 1 is not available please try that solution and let me know how this works out. I'll try out your case on TMVA and maybe introduce a warning message to help the user.  Peter > > factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], (njet>2)*jetbnn[2])") > > in which I want to have such a twisted variable and not loose all > events with less than three jets. Or should I just do the sensible > thing and compute maxnn when building the tree (or put it in a tree > which is a friend of the one used here)? > > Thanks, > Tim > 
From: Tim Head <betatim@gm...>  20090708 05:51:09

Dear TMVA'ers, does the following come as a surprise to anyone but me? If I have a tree with branches: njet, jetpt[njet], ... and use the following two variables: factory.AddVariable("jetpt[0]") factory.AddVariable("jetpt[1]") then all events with njet < 2 will automagically be cut away. It took me a while to figure out that this is where all my events had gone. Is there somewhere I could have read about this? (I haven't yet searched the docs thoroughly for it) This is actually a pretty cool trick, me thinks, where in the code do I have to look to learn it? While it is a sensible thing to do and in 95% of all cases it is what the user intended to do, I wonder if there is a way to turn this off for cases like: factory.AddVariable("maxbnn := max(jetbnn[0], jetbnn[1], (njet>2)*jetbnn[2])") in which I want to have such a twisted variable and not loose all events with less than three jets. Or should I just do the sensible thing and compute maxnn when building the tree (or put it in a tree which is a friend of the one used here)? Thanks, Tim  http://tim.jottit.com/ 