Hello,
I am using Proof selector to display my histograms and make gates.
My Master Process is pasted below.
I have defined three different macros with three different cuts. But when I try to execute my program, I get the following errors -
Entries (from chain): 16401561
+++ Starting PROOF-Lite with 16 workers +++
Opening connections to workers: OK (16 workers)
Setting up worker servers: OK (16 workers)
PROOF set to parallel mode (16 workers)
Info in <TProofLite::SetPerfTree>: saving of the performance tree enabled (perftree.root)
Number of workers set to: 16
Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
/home/mansi/57ZnBetaP/e18018_proof/./gates/PID57Zn.C:6:11: error: redefinition of 'cutg'
TCutG *cutg = new TCutG("Zn57",14);
^
/home/mansi/57ZnBetaP/e18018_proof/./gates/pin.C:6:11: note: previous definition is here
TCutG *cutg = new TCutG("Pin",6);
^
input_line_98:2:50: error: use of undeclared identifier 'Zn57'
(((*(class TProof **)0x7f9387b5c030))->AddInput(Zn57))
^
terminate called after throwing an instance of 'cling::CompilationException'
what(): Error evaluating expression (((*(class TProof **)0x7f9387b5c030))->AddInput(Zn57))
Please help me out !!!
I have attached the gates macros also.
Thanks,
MansiPID56Cu.C (833 Bytes) pin.C (490 Bytes)
// MASTERPROCESS.C
*******************************************************************************************************
{
gSystem->SetAclicMode(TSystem::kDebug);
gSystem->SetAclicMode(TSystem::kOpt);
// Get the shared object file which contains the beta decay classes
//gSystem->Load("/user/e18018/RootAnalysis/libParametersddas.so");
gSystem->Load("/home/mansi/57ZnBetaP/RootAnalysis/libParametersddas.so");
// Make the libraries
Int_t error;
gROOT->ProcessLine(".L e18018Selector.C+", &error); if(error) exit(EXIT_FAILURE);
gROOT->ProcessLine(".L Chain.C");
TChain *data = new TChain("data");
// Data runs
Chain(data,168);
Chain(data,169);
cout << "Entries (from chain): " << data->GetEntries() << endl;
// data->Print();
Int_t nwrks = 16;
TProof* proof = TProof::Open(Form("workers=%i",nwrks));
proof->SetPerfTree("perftree.root",kFALSE);
// Check number workers
if(proof->GetParallel() < nwrks) {
cout << "MasterProcess.C: request for " << nwrks << " workers larger then available - ignored" << endl;
}
cout << "Number of workers set to: " << proof->GetParallel() << endl;
// proof->Print();
data->SetProof(proof);
// Gates
gROOT->ProcessLine(".x gates/pin.C");
proof->AddInput(Pin);
gROOT->ProcessLine(".x gates/PID57Zn.C");
gROOT->ProcessLine(".x gates/PID56Cu.C");
// Add the gates to the input list//
proof->AddInput(Zn57);
proof->AddInput(Cu56);
// Print out the input list, should include gates
cout << "Input objects (from MasterProcess.C):" << endl;
TIter next_object(proof->GetInputList());
TObject *this_object = 0;
while ((this_object = next_object())) {
cout << this_object->ClassName() << " " << this_object->GetName() << endl;
}
// Process data
data->Process("e18018Selector.C+");
proof->Print("F");
data->SetProof(0); // Detach from the PROOF session
}
Please read tips for efficient and successful posting and posting code
ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided