Added methods for finding a given module in the DDL map (F. Prino)
[u/mrichter/AliRoot.git] / STEER / CreateXML.C
CommitLineData
f8587b1c 1//_________________________________________________________________________
2// Macro that creates esd xml collections by querying the tags.
3// It addresses the following use cases:
4// o) The tag files are stored locally.
5// - One queries the tags by using simple string statements.
6// - One queries the tags by using the corresponding aliroot classes.
7// o) The tag files are stored in the file catalog.
8// In this case the first thing we do is to query the f.c.
9// and extract a collection (xml) of tag files.
10// - One queries the tags by using simple string statements.
11// - One queries the tags by using the corresponding aliroot classes.
12//
13// In all cases you create the xml file by using the CreateXMLCollection
14// of the AliTagAnalysisClass. The first argument of this method is the
15// name of the output xml collection which is stored locally.
16//_________________________________________________________________________
17Bool_t CreateXML() {
18 TStopwatch timer;
19 timer.Start();
20
21 //needed in the case of the string statements
22 gSystem->Load("libTreePlayer.so");
23
24 // Create A tag analysis object and impose some selection criteria
25 AliTagAnalysis *TagAna = new AliTagAnalysis();
26
27 //Case where the tag files are stored locally
28 //TagAna->ChainLocalTags(".");
29
30 //Case where the tag files are stored in the file catalog
31 //pp.xml is the xml collection of tag files that was produced
32 //by querying the file catalog.
33 TGrid::Connect("alien://pcapiserv01.cern.ch:10000","pchrist");
34 //TGrid::Connect("alien://");
35 TAlienCollection* coll = TAlienCollection::Open("pp.xml");
36 TGridResult* TagResult = coll->GetGridResult("");
37 TagAna->ChainGridTags(TagResult);
38
39 //__________________________//
40 //Usage of string statements//
41 //__________________________//
42 /*const char* fRunCuts = "fAliceRunId == 340";
a3fe9695 43 const char* fEventCuts = "(fEventTag.fTopPtMin >= 1.0)&&(fEventTag.fNumberOfTracks >= 11)&&(fEventTag.fNumberOfTracks <= 12)";
f8587b1c 44 TagAna->CreateXMLCollection("global",fRunCuts,fEventCuts);*/
45
46 //________________________________________________//
47 //Usage of AliRunTagCuts & AliEventTagCuts classes//
48 //________________________________________________//
49 // create a RunTagCut object
50 AliRunTagCuts *RunCuts = new AliRunTagCuts();
51 RunCuts->SetRunId(340);
52 // create an EventTagCut object
53 AliEventTagCuts *EvCuts = new AliEventTagCuts();
54 EvCuts->SetMultiplicityRange(11,12);
a3fe9695 55 EvCuts->SetTopPtMin(1.0);
f8587b1c 56 TagAna->CreateXMLCollection("global2",RunCuts,EvCuts);
57
58 timer.Stop();
59 timer.Print();
60
61 return kTRUE;
62}