mivanov [Fri, 7 Dec 2012 15:31:09 +0000 (15:31 +0000)]
Adding function for joining arbitrary trees
Used e.g to do combined query DAQ, logbook, trigger, QA,calibration
void AliXRDPROOFtoolkit::JoinTreesIndex(const char * outputFile, const char * outputTree, const char *indexName, const char *inputTrees, Int_t debugLevel){
//
// Join together several tree according to the index
//
// Parameters:
// Output:
// outputFile : name of the output file
// outputTree : name of the output Tree
// indexName : name of the branch to be used as an index
// Input:
// inputTrees : decription of the input trees setup
/*
Example usage:
AliXRDPROOFtoolkit::JoinTreesIndex("outAll.root","joinAll","run","1#CPass1#run#tpcQA#TPCCPass1.root+1#VPass1#run#tpcQA#TPCVPass1.root+1#Pass1#run#tpcQA#TPCPass1.root+0#DAQ#run#joinTree#fproductionJoin.root+0#C#run#dcs#OCDBscan.root+0#CE#run#Fits#CEtrend.root");
==>
Combine information form the Cpass1,VPass, and Pass1QA, calibration tree, DAQ information, trigger information
Make a File "outAll.root", with tree "joinAll", index of tree with name "run"
//
// Input tree configuration string:
//
const char *inputTrees="1#CPass1#run#tpcQA#TPCCPass1.root+1#VPass1#run#tpcQA#TPCVPass1.root+1#Pass1#run#tpcQA#TPCPass1.root+0#DAQ#run#joinTree#/home/miranov/test/dbQueries/fproductionJoin.root+0#C#run#dcs#OCDBscan.root+0#CE#run#Fits#CEtrend.root"
Describe 6 trees to be merged (string separated be +):
TObjArray *arrayInput = TString(inputTrees).Tokenize("+");
TObjString = 1#CPass1#run#tpcQA#TPCCPass1.root
TObjString = 1#VPass1#run#tpcQA#TPCVPass1.root
TObjString = 1#Pass1#run#tpcQA#TPCPass1.root
TObjString = 0#DAQ#run#joinTree#/home/miranov/test/dbQueries/fproductionJoin.root
TObjString = 0#C#run#dcs#OCDBscan.root
TObjString = 0#CE#run#Fits#CEtrend.root
//
Each tree is characterize by 5 parameters - separate by #
description="1#CPass1#run#tpcQA#TPCCPass1.root"
TString(description)->Tokenize("#").Print()
Collection name='TObjArray', class='TObjArray', size=16
TObjString = 1 ==> (0/1) index is used
TObjString = CPass1 ==> name of output branch in output tree
TObjString = run ==> name of the index
TObjString = tpcQA ==> name of the input tree in the input file
TObjString = TPCCPass1.root ==> name of the input file
*/
pcrochet [Wed, 5 Dec 2012 06:44:36 +0000 (06:44 +0000)]
If default parameters are allowed and runNumber is provided, search first for the latest pass number matching the runNumber specified. If no parameters are defined for the specified runNumber in any pass, use the default parameters of the latest pass available. (Diego)
jklein [Mon, 3 Dec 2012 14:25:55 +0000 (14:25 +0000)]
HLT TRD on-line track matching and trigger (Felix Rettig, Stefan Kirsch)
- remove AliHLTTRDGlobalMonitorComponent
- replace AliHLTTRDMonitorComponent
- add AliTRDonlineTrackingDataContainer,
AliHLTTRDPreprocessorComponent,
AliHLTTRDTriggerComponent
- register trigger component in AliHLTTriggerAgent
- provide TRD trigger clean-up for electron triggers by
rejecting fake tracks by matching with global tracks
- includes bug fixes for problems in test runs
abercuci [Thu, 29 Nov 2012 12:52:20 +0000 (12:52 +0000)]
various extensions
1. make efficiency task cope with MC data
2. make resolution task cope with V0, ITS tracks and debug mode
3. fix memory leaks in MakeSummary() related routines
agheata [Thu, 29 Nov 2012 10:53:20 +0000 (10:53 +0000)]
From Pietro: Added AliInputEventHandler::GetUserInfo to get the user info in ESD and AOD analysis. Added AliProdInfo class to parse the user info to decode production metadata. To use: in myTask::Notify() one has to get the pointer to the input handler (mgr->GetInputEventHandler() and: AliProdInfo pi(handler->GetUserInfo()), then use the getters to retrieve the metadata